Skip to content

afourmy/flask-gentelella

Repository files navigation

status
master Build Status Coverage Status
develop Build Status Coverage Status

Flask Gentelella

Gentelella is a free to use Bootstrap admin template.

Gentelella Bootstrap Admin Template

This project integrates Gentelella with Flask using:

Flask-gentelella also comes with a robust CI/CD pipeline using:

  • The Pytest framework for the test suite (see the tests folder).
  • Travis CI
  • Coverage to measure the code coverage of the tests.
  • Selenium to test the application with headless chromium.
  • A Dockerfile showing how to containerize the application with gunicorn, and a Docker image available on dockerhub, and integrated to the CI/CD pipeline (see instructions below).
  • A docker-compose file to start Flask-gentelella with nginx, gunicorn and a PostgreSQL database.

Here is an example of a real project implemented using Flask-Gentelella:

This project shows:

  • how back-end and front-end can interact responsively with AJAX requests.
  • how to implement a graph model with SQLAlchemy and use D3.js for graph visualization.
  • how to implement a workflow automation system using Vis.js.
  • how to use Leaflet.js for GIS programming.
  • how to use Flask APScheduler to implement crontab-like features.

Installation

(Optional) Set up a virtual environment

1. Get the code

git clone https://github.com/afourmy/flask-gentelella.git
cd flask-gentelella

2. Install requirements

pip install -r requirements.txt

3. Set the FLASK_APP environment variable

(Windows) set FLASK_APP=gentelella.py
(Unix) export FLASK_APP=gentelella.py

4. Run the application

flask run --host=0.0.0.0

4. Go to http://server_address:5000/, create an account and log in

Run Flask Gentelella in a docker container in one command

1. Fetch the image on dockerhub

docker run -d -p 5000:5000 --name gentelella --restart always afourmy/flask-gentelella

2. Go to http://server_address:5000/, create an account and log in

Run Flask Gentelella with a PostgreSQL database

1. Install a PostgreSQL database (Ubuntu)

apt-get update
apt-get install -y postgresql libpq-dev
sudo -u postgres psql -c "CREATE DATABASE gentelella;"
sudo -u postgres psql -c "CREATE USER gentelella WITH PASSWORD 'your-password';"
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE gentelella TO gentelella;"

2. Export the following environment variables

(Windows) set GENTELELLA_CONFIG_MODE=Production
(Unix) export GENTELELLA_CONFIG_MODE=Production
(Windows) set GENTELELLA_DATABASE_PASSWORD=your-password
(Unix) export GENTELELLA_DATABASE_PASSWORD=your-password

3. Go to http://server_address:5000/, create an account and log in

Run Flask Gentelella with nginx and a PostgreSQL database with docker-compose

sudo docker-compose pull

sudo docker-compose build

sudo docker-compose up -d

Go to http://server_address, create an account and log in