Quick Start
This guide will help you get started with Volt Flask Dashboard
Compile the product
To compile the product and use it locally, Python3 should be installed and accessible via the terminal. The source code can be downloaded from the official repository or downloaded in ZIP format from the product page.
Download the sources and unzip the archive
cd flask-dashboard-volt
Create a virtual environment
virtualenv env
$ source env/bin/activate
Install modules
pip3 install -r requirements.txt
Set up the environment
export FLASK_APP=run.py
$ export FLASK_ENV=development
Start the application
flask run
If all goes well, we can access Volt Flask in browser http://127.0.0.1:5000/
.
Note: To use the app, please access the registration page and create a new user. After authentication, the app will unlock the private pages.
Codebase structure
The project is coded using a simple and intuitive structure presented bellow:
< PROJECT ROOT >
|
|-- app/ # Implements app logic
| |-- base/ # Base Blueprint - handles the authentication
| |-- home/ # Home Blueprint - serve UI Kit pages
| |
| __init__.py # Initialize the app
|
|-- requirements.txt # Development modules - SQLite storage
|-- requirements-mysql.txt # Production modules - Mysql DMBS
|-- requirements-pqsql.txt # Production modules - PostgreSql DMBS
|
|-- .env # Inject Configuration via Environment
|-- config.py # Set up the app
|-- run.py # Start the app - WSGI gateway
|
|-- ************************************************************************
The bootstrap flow
run.py
loads the.env
file- Initialize the app using the specified profile: Debug or Production
- If env.DEBUG is set to True the SQLite storage is used
- If env.DEBUG is set to False the specified DB driver is used (MySql, PostgreSQL)
- Call the app factory method
create_app
defined in app/init.py - Redirect the guest users to Login page
- Unlock the pages served by home blueprint for authenticated users
Deployment
The app is provided with a basic configuration to be executed in Docker, a popular virtualization software. To start the project inside a Docker container, please type following commands:
1# - UNZIP the archive and change the curent directory
cd flask-dashboard-volt
2# - Download the required packages
sudo docker-compose pull
3# - Build the Docker packages
sudo docker-compose build
4# - Start the dokerized application
sudo docker-compose up
By visiting http://localhost:5005
in the browser we should see the app running.