Live project can be found here
The project was created to demonstrate practical skills related to the Flask framework.
A significant functional part of the application goes far beyond the scope of standard applications from tutorials.
You can create and edit projects, task lists and configure access levels for users. You can also sort lists, search by keywords, and customize the amount objects displayed on the page. In case you forgot your account password, you can recover it using the password recovery option.
List of used technologies:
- Flask
- SQL Alchemy
- PostgreSQL
- Alembic
- Bootstrap
- Nginx
- Docker
- Docker Compose
- Ubuntu Server: live version
Requirements:
- Python 3.9.13
Installation:
- Download project
- Install modules from requirements.txt (how to install)
- Download PostgreSQL and install your database
- Create and configure your mail client for Google or Yandex
-
Set up config.py file:
SQLALCHEMY_DATABASE_URI = 'postgresql://your_db_user:your_db_password@localhost:5432/db_name' MAIL_SERVER = 'smtp.yandex.ru' MAIL_PORT = 465 MAIL_USE_TLS = False MAIL_USE_SSL = True MAIL_USERNAME = 'your_email_user (copy only your username that comes before @yandex.ru)' MAIL_PASSWORD = 'your_app_password'
-
Configure the environment variable. Open terminal, run the command:
$env:FLASK_APP="run.py"
-
Set up a database in command window:
- open terminal
- to init datda base run command:
flask db init
- Create initial migration:
flask db migrate -m 'Initial migration’
- Upgrade database:
flask db upgrade
- Run the app: run the 'run.py' file
- Open /home page
- Push ‘Add Dummy Data’ button to add some dummy data to your database
- Optional: Open the templates/home.html file and delete code from line 32:
<p><a href="{{ url_for('dummy_data.add_dummy_data') }}"><button type="button" class="btn btn-sm btn-danger">Add Dummy Data</button></a></p>
- Register your account to get full access to all features.