Welcome to my Capstone! It is a time management app that allows users to keep track of the tasks, set adjustable timers, play games in the breaks and see daily and monthly progress. The project mainly uses Flask, the database operations are implemented through the use of SQLAlchemy on PostgreSQL with the use of REST API for accessing the database across JavaScript and Flask, the front-end uses multiple CSS and HTML frameworks like Bootstrap, Tailwind, Jinja2 for better experience, while the visualizations are made using Chart.js. There are multiple other technologies used (e.g., WTForms).
You have two options to access this project: through Heroku and by manually downloading and running locally.
The link to the Heroku website: https://capstone-akma.herokuapp.com/about
Note that the user information collected before February 27th is not maintained, so you would have to create a new account. Sorry for the inconvenience. You can also use the pre-made user information or create your own account if you want to test the register page:
email: [email protected]
password: test1234
Watch these videos to familiarize yourself with the app and its features.
You can also check out the other helpful links in my Notion here. It has all the documentation and so on. This is the final paper that explains my project. You can find it here.
Virtual environment is a key component in ensuring that the application is configured in the right environment. To run this project on your computer, make sure you follow the next steps:
- Python 3
- Pip 3
$ brew install python3
Pip3 is installed with Python3
To install virtualenv via pip run:
$ pip3 install virtualenv
Creation of virtualenv:
$ virtualenv -p python3 venv
If the above code does not work, you could also do
$ python3 -m venv venv
To activate the virtualenv:
$ source venv/bin/activate
Or, if you are using Windows - reference source:
$ venv\Scripts\activate
To deactivate the virtualenv (after you finished working):
$ deactivate
Install dependencies in virtual environment:
$ pip3 install -r requirements.txt
All environment variables are stored within the .env
file and loaded with dotenv package.
Never commit your local settings to the Github repository!
Start the server by running:
$ export FLASK_ENV=dev
$ export FLASK_APP=web
$ export DATABASE_URL='sqlite:///web.db'
$ export SECRET_KEY='testing_key'
$ python3 -m flask run
If using Windows, use 'set' instead of 'export'
Flask-Migrations is an extensions that manages DB migrations, common commands:
flask db migrate (create migration)
flask db upgrade (implement migration in the DB)