Achievement is a minimalist habit tracker that allows you to view your achievement over time with GitHub green garden-style visuals.
Check out the live site here: Achievement
- React.js
- Redux
- JavaScript
- Python
- Flask
- SQLAlchemy
- Alembic
- PostgreSQL
- Vanilla CSS
Achievement users are able to:
- Create an account
- Log in and log out
- Log their achievements with a single click
- View their progress over time across different time ranges
- Create, edit, and delete the habits they'd like to track
User passwords are hashed using Werkzeug before being stored in the database. Logging in and out is managed by Flask-Login.
The Achievement home page features an week's worth of color-changing buttons that a user can click to log their achievements.
The user can also use an unobtrusive menu to create a new habit to track.
At any time, the user can navigate to the Reflect page, where they can render a number of views displaying their progress towards their goals over time.
A user can easily edit or delete habits and achievements from the Habit Log and Achievement Log.
- PostgreSQL
- Pipenv with Python v3.8
- Node.js
git clone
this repocd
into your local repo- Run
pipenv install -r --dev dev-requirements.txt && pipenv install -r requirements.txt
- Create your own
.env
file based on the provided.env.example
. - Create a user and database in your PostgreSQL, ensuring it matches your
.env
configuration - Run
pipenv shell
to activate the Pipenv environment. - Run
flask db upgrade
and thenflask seed all
to apply migrations and seed data to your database. - Open a second terminal window and cd into the local repo, then cd into
react-app
- Run
npm install
- In the terminal running Pipenv shell, run
flask run
. - In the terminal at the
react-app
, runnpm start
. Your app should open in your default browser. If you are planning on developing, please make a fork and create pull requests as necessary; I'd love to receive your feedback!