Skip to content
This repository was archived by the owner on Apr 5, 2022. It is now read-only.

Alpha-Archives/flask-blog

Repository files navigation

flask-blog 👋

Version Documentation Maintenance License: MIT

Simple application with authentication and CRUD functionality using the Python Flask micro-framework

Links

🏠 Homepage

Dashboard Features:

  • 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

Prerequisite

How to use it

# 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/

Deployment

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.


Author

👤 Alpha Olomi alphaolomi@gmail.com

🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page. You can also take a look at the contributing guide.

Show your support

Give a ⭐️ if this project helped you!

📝 License

Copyright © 2020 Alpha Olomi alphaolomi@gmail.com.
This project is MIT licensed.


Credits & Reference Links