Simple demo app with basic CRUD functionality to handle notes/posts or todos logic.
- Blueprints
- Flask-Admin micro-framework for user and permissions management and CRUD functionality
- Flask-Login for user authorization
- Flask-SQLAlchemy for databases
- Flask-Migrate for managing changes of database structure
- Flask-WTF for forms
- Flask-Mail for sending confirmation emails, reseting password
- Basic CRUD functionality for notes and todos
- Profile managment changing email and password using mail authorization with tokens
Notes CRUD Page:
Todos CRUD Page:
User Editing Page:
Admin Page:
Registering User:
- Install all dependencies in virtual environment
pipenv install
- Setup environment variables in example.env and rename it to just '.env' :
SECRET_KEY, MAIL_USER, MAIL_PASSWORD, SECURITY_PASSWORD_SALT
(default email provider - gmail) - Run virtual environment
pipenv shell
- First create db
python3 manage.py db init
- Create migrations
python3 manage.py db migrate
- Upgrade db
python3 manage.py db upgrade
- Creates admin user
python3 -c 'from manage import create_admin; create_admin()'
natively created with user[email protected]
passwordPassword1
, recommended to change password straightaway flask run
If you want to upgrade previosly created and used db ( after changes to the structure).
- Close the app
python3 manage.py db migrate
python3 manage.py db upgrade
flask run