Skip to content

chapsana/flask-modular-starter

Repository files navigation

Flask Dashboard Modular


Dashboard Features:

  • UI-Ready, SQLite database
  • SQLAlchemy ORM
  • Session-Based authentication flow (login, register)
  • Forms validation
  • UI Kit: ModularCode

Build from sources

# Clone the sources

# Virtualenv modules installation (Unix based systems) --no-site-packages
virtualenv  env
source env/bin/activate

# Virtualenv modules installation (Windows based systems)
# virtualenv --no-site-packages env
# .\env\Scripts\activate.bat

# Install requirements
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"

# Set up the DEBUG environment
# (Unix/Mac) export FLASK_ENV=development
# (Windows) set FLASK_ENV=development
# (Powershell) $env:FLASK_ENV = "development"

# Run the application
# --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 app in browser: http://127.0.0.1:5000/

Deployment

The app is provided with 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

cd flask-dashboard-modular

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.


Credits & Links