Quick Start

This guide will help you get started with Flask Datta Able PRO

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-datta-able-pro

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 Flask Datta Able PRO in the 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 below:

< 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 the 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 the following commands:

UNZIP the archive and change the current directory

$ cd flask-datta-able-pro

Download the required packages

$ sudo docker-compose pull

Build the Docker packages

$ sudo docker-compose build

Start the dockerized application

$ sudo docker-compose up

By visitinghttp://localhost:5005the browser we should see the app running.

Last updated