/flask-berry-dashboard

Flask Berry BS5 - Open-Source Bootstrap 5 | AppSeed

Primary LanguageCSSOtherNOASSERTION

Open-source Flask Dashboard project crafted on top of Berry, an open-source Bootstrap 5 design from CodedThemes The product is designed to deliver the best possible user experience with highly customizable feature-rich pages. Berry has easy and intuitive responsive design whether it is viewed on retina screens or laptops.


Features

  • ✅ Up-to-date dependencies
  • ✅ UI Kit: Bootstrap 5 by CodedThemes
    • Persistent Dark-Mode
  • ✅ Database: SQLite, MySql
    • Silent fallback to SQLite
  • ✅ DB Tools: SQLAlchemy ORM, Flask-Migrate
  • ✅ Authentication, Session Based
  • ✅ Docker, Page Compression via Flask-Minify
  • 🚀 Deployment
    • CI/CD flow via Render - See Video
    • CDN Support (optional)

Berry Bootstrap 5 - Dark-Mode ready, Open-source Template.


✨ Start the app in Docker

👉 Step 1 - Download the code from the GH repository (using GIT)

$ git clone https://github.com/app-generator/flask-berry-dashboard.git
$ cd flask-berry-dashboard

👉 Step 2 - Start the APP in Docker

$ docker-compose up --build 

Visit http://localhost:5085 in your browser. The app should be up & running.


✨ How to use it

Download the code

$ git clone https://github.com/app-generator/flask-berry-dashboard.git
$ cd flask-berry-dashboard

👉 Set Up for Unix, MacOS

Install modules via VENV

$ virtualenv env
$ source env/bin/activate
$ pip3 install -r requirements.txt

Set Up Flask Environment

Edit .env using env.sample or simply export the variables in the environment. Here are the expected values:

  • DEBUG: controls the Development, Production mode
    • Default False (production)
  • FLASK_APP=run.py: mandatory (APP entry point)
  • SECRET_KEY: optional, random value used if not provided
  • DB credentials
    • Note: if NOT provided, or wrong values, SQLite is used
    • DB_ENGINE, DB_HOST, DB_NAME ...
  • CDN_DOMAIN: disabled by default
    • Used only when DEBUG=False (production mode)

Start the app

$ flask run

At this point, the app runs at http://127.0.0.1:5000/.


👉 Set Up for Windows

Install modules via VENV (windows)

$ virtualenv env
$ .\env\Scripts\activate
$ pip3 install -r requirements.txt

Set Up Flask Environment

Edit .env using env.sample or simply export the variables in the environment. Here are the expected values:

  • DEBUG: controls the Development, Production mode
    • Default False (production)
  • FLASK_APP=run.py: mandatory (APP entry point)
  • SECRET_KEY: optional, random value used if not provided
  • DB credentials
    • Note: if NOT provided, or wrong values, SQLite is used
    • DB_ENGINE, DB_HOST, DB_NAME ...
  • CDN_DOMAIN: disabled by default
    • Used only when DEBUG=False (production mode)

Start the app

$ flask run

At this point, the app runs at http://127.0.0.1:5000/.


✨ Code-base structure

The project has a simple, intuitive structure presented bellow:

< PROJECT ROOT >
   |
   |-- apps/__init__.py
   |-- apps/
   |    |-- static/
   |    |    |-- <css, JS, images>         # CSS files, Javascripts files
   |    |
   |    |-- templates/
   |         |
   |         |-- includes/                 # Page chunks, components
   |         |    |
   |         |    |-- navigation.html      # Top bar
   |         |    |-- scripts.html         # JS scripts common to all pages
   |         |    |-- footer.html          # The common footer
   |         |
   |         |-- layouts/                  # App Layouts (the master pages)
   |         |    |
   |         |    |-- base.html            # Used by common pages like index, UI
   |         |
   |         |-- home/                     # UI Kit Pages
   |              |-- index.html           # default page
   |              |-- page-404.html        # 404 error page
   |              |-- *.html               # Used by common pages like index, UI
   |
   |-- requirements.txt
   |
   |-- run.py
   |
   |-- ************************************************************************

Screenshots

Berry Bootstrap 5 - Sign IN, Open-source Starter by AppSeed.


Flask Berry Bootstrap 5 - Icons Page

Berry Bootstrap 5 - UI Icons page, Open-source Starter by AppSeed


Flask Berry Bootstrap 5 - Colors page

Berry Bootstrap 5 - Colors page, Open-source Starter by AppSeed



Flask Berry Bootstrap 5 - Minimal Flask starter provided by AppSeed