Parting is a task management tool where you can share the tasks you've completed within groups of your teammates, allowing better control over who did waht and when.
Using parting, you can create a user to track all the tasks you've completed, append them to a group or team and see what others have done in the same group. Create new groups and add tasks to them, search your tasks, manage your team assignments and more( in development c:).
- Ruby on Rails
- HTML/SASS
- JQuery
- Postgresql
- Heroku
To get a local copy up and running follow these simple steps.
- Ruby on Rails >= 6.0.1
- A local Postgres server
- git
- Nodejs >= 12.0
First, clone the repository from github with:
git clone https://github.com/Chincoya/parting.git
Then change into the repo's directory with:
cd parting
You can then proceed to installation.
You will need to have a local postgres server to be able to use Parting. If you don't know how, refer to this tutorial. After you installed -and started- your postgres server, if your user is not authenticated, you will have to set up an environmental variable. Create a .env file in the App's root dir using:
touch .env
That file will contain all the env. variables you'll need to properly setup and deply this app. For now, you'll only need -if that auth is required- one line:
DBLOCALPASSWORD=YourLocalPassword
Once you've reached this point, run the following commands:
bundle install
rails db:setup
rails db:migrate
These commands will:
- Install all the packages needed for Parting to run
- Create the database
- Create and migrate the tables needed
If everything went right you should be able to run the test suit. And you should. Run:
rails spec
To do so.
For a local environment -which, admittedly, I don't know what you'll want it for- you should run:
rails server
Or:
rails s
To start a local server. Remember, you'll need an active postgres server to run this App. To check your postgres status, you can run:
systemctl status postgresql
As was already pointed out, both the commands:
rails spec
rspec
Will run the test suite. You can check out the tests -and add more if you want- under the ./spec directory.
I decided to deploy the App on Heroku, but there's more options. If using Heroku, you'll need to follow the next steps.
First, create a Heroku account. Then follow this instructions to download and set up the Heroku CLI -Command Line Interface. You'll have to setup some ssh credentials unless you want to type them every time you do any heroku command.
After installing the Heroku CLI, navigate to Parting's root folder and run:
heroku create the-name-you-want-to-use
Heroku will create an app in their servers, and wait for you to push your code into it. Run:
git push heroku current-published-branch:master
Replacing 'current-published-branch' with the name of the main branch of the App. At the end of this Readme you'll find which branch it is.
Heroku will output their wholle process in your command prompt. This can take a while, specially the first time. In heroku your app will be built, compress and minified for production environment.
If this step goes right, Heroku will provide you, near the end of the output of the previus command, with the link to your deployed App. There's still one step you need to take
This app is configured to use an Amazon S3 bucket to store the uploaded icons. This configuration need to be done manually by you. To create and set up an Amazon S3 bucket, refer to this tutorial. Now you're ready to share your projects and tasks with the world, and manage collaborative work with others.
Currently, the project is still under heavy developement. Many features are bound to change, and there's still many waiting to be implemented. Refer to the Contributing section for more information.
Daniel Chincoya
- Github: @chincoya
- Twitter: @chincoya7
- Linkedin: linkedin
Contributions, issues and feature requests are welcome! But, know in advance, this is a work in progress. I plan to add many features myself in the coming months, and the code base will chnage a lot. Hit me up at Twitter if you want to contribute, or start developing and make a Pull Request. Many things a left to do, for example:
- Constructing Private Teams for management, with team leaders that can request groups to be created and tasks to be performed.
- Task Validation, meaning more users can validate the tasks you submit.
- Group Privacy.
- Group Channels to leave messages.
- Team Channels to ...
- And much more
Feel free to check the issues page. Anything there is free reign.
Give a โญ๏ธ if you like this project! Or, even better, make a feature request!
- Front End design verbatim-ed from Gregoire Vella and can be checked here.
- Initially an idea for a Project for Microverse
Additional Icons fetched from flaticon.com, authored by:
- Pixel Perfect
- Freelk
- Ddara
This project is MIT licensed.