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.

Flask Volt - Open-source seed project provided by Themesberg and AppSeed.

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.