status | |
---|---|
master | |
develop |
Flask Gentelella
Gentelella is a free to use Bootstrap admin template.
This project integrates Gentelella with Flask using:
- Blueprints for scalability.
- flask_login for the login system (passwords hashed with bcrypt).
- flask_migrate.
Flask-gentelella also comes with a robust CI/CD pipeline using:
- The Pytest framework for the test suite (see the
tests
folder). - A PostgreSQL database (optional; see below for installation instructions).
- Travis CI (automated testing)
- 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 withnginx
,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 and WebGL-Earth for 2D and 3D GIS programming.
- how to use Flask APScheduler to implement crontab-like features.
Run Flask Gentelella with a SQLite database
virtual environment
(Optional) Set up a1. 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
(Powershell) $env: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 with a PostgreSQL database (Ubuntu)
1. Install a PostgreSQL database
sudo apt-get update
sudo 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
export GENTELELLA_CONFIG_MODE=Production
export GENTELELLA_DATABASE_PASSWORD=your-password
3. Follow the steps described in the previous section
Run Flask Gentelella in a docker container
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 in a docker container with nginx and a PostgreSQL database
1. Get the code
git clone https://github.com/afourmy/flask-gentelella.git
cd flask-gentelella
2. Start all services
sudo docker-compose pull && sudo docker-compose build && sudo docker-compose up -d