Material Dashboard Flask
Open-source Flask Dashboard generated by AppSeed op top of a modern design. Designed for those who like bold elements and beautiful websites, Material Dashboard is ready to help you create stunning websites and webapps. Material Dashboard is built with over 70 frontend individual elements, like buttons, inputs, navbars, nav tabs, cards, or alerts, giving you the freedom of choosing and combining.
- 👉 Flask Dashboard Material - product page
- 👉 Flask Dashboard Material - LIVE deployment
Built with Material Dashboard Generator
- Timestamp: 2022-05-30 21:22
- Build ID: 8f684475-ec20-44a5-a420-3a5c5a9a24ec
- Free Support (registered users) via EmailandDiscord
Features
- Up-to-date dependencies
- Database: mysql
- DB Tools: SQLAlchemy ORM, Flask-Migrate (schema migrations)
- Session-Based authentication (via flask_login), Forms validation
Step 1 - Download the code from the GH repository (using
GIT)
$ # Get the code
$ git clone https://github.com/appseed-projects/<YOUR_BUILD_ID>.git
$ cd <YOUR_BUILD_ID>Step 2 - Edit
.envand setDEBUG=True. This will activate theSQLitepersistance.
DEBUG=TrueStep 3 - Start the APP in
Docker
$ docker-compose up --build Visit http://localhost:5085 in your browser. The app should be up & running.
Note: Make sure your Mysql server is properly installed and accessible.
Step 1 - Create the MySql Database to be used by the app
- Create a new MySqldatabase
- Create a new userand assign full privilegies (read/write)
Step 2 - Edit the
.envto match your MySql DB credentials. Make sureDB_ENGINEis set tomysql.
- DB_ENGINE:- mysql
- DB_NAME: default value =- appseed_db
- DB_HOST: default value =- localhost
- DB_PORT: default value =- 3306
- DB_USERNAME: default value =- appseed_db_usr
- DB_PASS: default value =- pass
Here is a sample:
# .env sample
DEBUG=False                   # False enables the MySql Persistence
DB_ENGINE=mysql               # Database Driver
DB_NAME=appseed_flask         # Database Name
DB_USERNAME=appseed_flask_usr # Database User
DB_PASS=STRONG_PASS_HERE      # Password 
DB_HOST=localhost             # Database HOST, default is localhost 
DB_PORT=3306                  # MySql port, default = 3306 Download the code
$ # Get the code
$ git clone https://github.com/appseed-projects/8f684475-ec20-44a5-a420-3a5c5a9a24ec.git
$ cd 8f684475-ec20-44a5-a420-3a5c5a9a24ecInstall modules via
VENV
$ virtualenv env
$ source env/bin/activate
$ pip3 install -r requirements.txtSet Up Flask Environment
$ export FLASK_APP=run.py
$ export FLASK_ENV=developmentStart the app
$ flask runAt this point, the app runs at http://127.0.0.1:5000/.
Install modules via
VENV(windows)
$ virtualenv env
$ .\env\Scripts\activate
$ pip3 install -r requirements.txt
Set Up Flask Environment
$ # CMD 
$ set FLASK_APP=run.py
$ set FLASK_ENV=development
$
$ # Powershell
$ $env:FLASK_APP = ".\run.py"
$ $env:FLASK_ENV = "development"Start the app
$ flask runAt this point, the app runs at http://127.0.0.1:5000/.
By default, the app redirects guest users to authenticate. In order to access the private pages, follow this set up:
- Start the app via flask run
- Access the registrationpage and create a new user:- http://127.0.0.1:5000/register
 
- Access the sign inpage and authenticate- http://127.0.0.1:5000/login
 
The project is coded using blueprints, app factory pattern, dual configuration profile (development and production) and an intuitive structure presented bellow:
< PROJECT ROOT >
   |
   |-- apps/
   |    |
   |    |-- home/                           # A simple app that serve HTML files
   |    |    |-- routes.py                  # Define app routes
   |    |
   |    |-- authentication/                 # Handles auth routes (login and register)
   |    |    |-- routes.py                  # Define authentication routes  
   |    |    |-- models.py                  # Defines models  
   |    |    |-- forms.py                   # Define auth forms (login and register) 
   |    |
   |    |-- static/
   |    |    |-- <css, JS, images>          # CSS files, Javascripts files
   |    |
   |    |-- templates/                      # Templates used to render pages
   |    |    |-- includes/                  # HTML chunks and components
   |    |    |    |-- navigation.html       # Top menu component
   |    |    |    |-- sidebar.html          # Sidebar component
   |    |    |    |-- footer.html           # App Footer
   |    |    |    |-- scripts.html          # Scripts common to all pages
   |    |    |
   |    |    |-- layouts/                   # Master pages
   |    |    |    |-- base-fullscreen.html  # Used by Authentication pages
   |    |    |    |-- base.html             # Used by common pages
   |    |    |
   |    |    |-- accounts/                  # Authentication pages
   |    |    |    |-- login.html            # Login page
   |    |    |    |-- register.html         # Register page
   |    |    |
   |    |    |-- home/                      # UI Kit Pages
   |    |         |-- index.html            # Index page
   |    |         |-- 404-page.html         # 404 page
   |    |         |-- *.html                # All other pages
   |    |    
   |  config.py                             # Set up the app
   |    __init__.py                         # Initialize the app
   |
   |-- requirements.txt                     # App Dependencies
   |
   |-- .env                                 # Inject Configuration via Environment
   |-- run.py                               # Start the app - WSGI gateway
   |
   |-- ************************************************************************For more components, pages and priority on support, feel free to take a look at this amazing starter:
Material Dashboard is a premium Bootstrap 5 Design now available for download in Flask. Made of hundred of elements, designed blocks, and fully coded pages, Material Dashboard PRO is ready to help you create stunning websites and web apps.
- 👉 Material Dashboard PRO Flask - Product Page
- 👉 Material Dashboard PRO Flask - LIVE Demo
Material Dashboard Flask - Open-source starter generated by AppSeed Generator.

