Simple application with authentication and CRUD functionality using the Python Flask micro-framework
🏠 Homepage
- SQLite, MySQL, SQLAlchemy ORM
- Alembic (DB schema migrations)
- Modular design with Blueprints
- Session-Based authentication (via flask_login)
- Forms validation
- Deployment scripts: Docker, Gunicorn
- UI Kit: Bootstrap
- MIT License
# Virtualenv modules installation (Unix based systems)
virtualenv --no-site-packages env
source env/bin/activate
# Virtualenv modules installation (Windows based systems)
# virtualenv --no-site-packages env
# .\env\Scripts\activate
# Install modules - SQLite Database
pip3 install -r requirements.txt
# Set the FLASK_APP environment variable
# (Unix/Mac) export FLASK_APP=run.py
# (Windows) set FLASK_APP=run.py
# (Powershell) $env:FLASK_APP = ".\run.py"
export FLASK_APP=run.py
# Set up the DEBUG environment
# (Unix/Mac) export FLASK_ENV=development
# (Windows) set FLASK_ENV=development
# (Powershell) $env:FLASK_ENV = "development"
export FLASK_ENV=development
# Start the application (development mode)
# --host=0.0.0.0 - expose the app on all network interfaces (default 127.0.0.1)
# --port=5000 - specify the app port (default 5000)
flask run --host=0.0.0.0 --port=5000
# Access the dashboard in browser: http://127.0.0.1:5000/
The app has a basic configuration to be executed in Docker, Gunicorn, and Waitress.
Docker execution
The application can be easily executed in a docker container. The steps:
Get the code
git clone
cd flask-blog
Start the app in Docker
sudo docker-compose pull &&\
sudo docker-compose build &&\
sudo docker-compose up -d
Visit http://localhost:5005
in your browser. The app should be up & running.
Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX.
Install using pip
pip install gunicorn
Start the app using gunicorn binary
gunicorn --bind 0.0.0.0:8001 run:app
# Serving on http://localhost:8001
Visit http://localhost:8001
in your browser. The app should be up & running.
Waitress (Gunicorn equivalent for Windows) is meant to be a production-quality pure-Python WSGI server with very acceptable performance. It has no dependencies except ones that live in the Python standard library.
Install using pip
$ pip install waitress
Start the app using waitress-serve
waitress-serve --port=8001 run:app
# Serving on http://localhost:8001
Visit http://localhost:8001
in your browser. The app should be up & running.
👤 Alpha Olomi alphaolomi@gmail.com
- Website: https://alphaolomi.me
- Github: @alphaolomi
Contributions, issues and feature requests are welcome!
Feel free to check issues page. You can also take a look at the contributing guide.
Give a ⭐️ if this project helped you!
Copyright © 2020 Alpha Olomi alphaolomi@gmail.com.
This project is MIT licensed.