All Projects → app-generator → flask-soft-ui-dashboard

app-generator / flask-soft-ui-dashboard

Licence: other
Soft UI Dashboard - Open-source Flask Dashboard | AppSeed

Programming Languages

SCSS
7915 projects
CSS
56736 projects
HTML
75241 projects
python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to flask-soft-ui-dashboard

react-soft-ui-dashboard
React Dashboard - Soft UI Dashboard | AppSeed
Stars: ✭ 171 (+51.33%)
Mutual labels:  appseed, soft-ui-dashboard
flask-dashboard-modular-admin
Flask Dashboard - Modular Admin Design | AppSeed
Stars: ✭ 53 (-53.1%)
Mutual labels:  appseed, flask-dashboard
flask-dashboard-tabler
Flask Dashboard - Tabler Design | AppSeed
Stars: ✭ 19 (-83.19%)
Mutual labels:  appseed, flask-dashboard
flask-dashboard-sleek
Flask Dashboard - Sleek Design | AppSeed
Stars: ✭ 21 (-81.42%)
Mutual labels:  appseed, flask-dashboard
flask-dashboard-atlantis
Flask Atlantis Lite - Open-Source Flask Seed Project | AppSeed
Stars: ✭ 16 (-85.84%)
Mutual labels:  appseed, flask-dashboard
fullstack-flask-react-material-design
Flask React - Built with Automation Tools | AppSeed App Generator
Stars: ✭ 27 (-76.11%)
Mutual labels:  appseed
django-adminkit
Django Dashboard - AdminKit Bootstrap 5 | AppSeed
Stars: ✭ 14 (-87.61%)
Mutual labels:  appseed
django-now-ui-dashboard
Django Dashboard - Now UI Design | AppSeed
Stars: ✭ 15 (-86.73%)
Mutual labels:  appseed
black-dashboard-django
Black Dashboard - Open-source Django Template | Creative-Tim
Stars: ✭ 61 (-46.02%)
Mutual labels:  appseed
flask-boilerplate-flaskplay
FlaskPlay Boilerplate - Open-Source Web App coded in Flask | AppSeed
Stars: ✭ 17 (-84.96%)
Mutual labels:  appseed
django-material-dashboard
Django Dashboard - Material Design | AppSeed
Stars: ✭ 128 (+13.27%)
Mutual labels:  appseed
flask-adminkit
Flask Dashboard - AdminKit Bootstrap 5 | AppSeed
Stars: ✭ 14 (-87.61%)
Mutual labels:  appseed
material-kit-react
React Material Kit - Built with Automation Tools | AppSeed App Generator
Stars: ✭ 18 (-84.07%)
Mutual labels:  appseed
django-gradient-able
Gradient Able - Open-Source Django Dashboard | AppSeed
Stars: ✭ 22 (-80.53%)
Mutual labels:  appseed
flask-boilerplate
Flask Boilerplate - Built with Automation Tools | AppSeed App Generator
Stars: ✭ 16 (-85.84%)
Mutual labels:  appseed
flask-atlantis-dark
Atlantis Lite - Flask (Dark Version) | AppSeed
Stars: ✭ 116 (+2.65%)
Mutual labels:  appseed
jinja-soft-ui-design
Soft UI Design System - Jinja Template | AppSeed
Stars: ✭ 12 (-89.38%)
Mutual labels:  appseed
django-corona-dark
Django Dashboard - Corona Dark | AppSeed
Stars: ✭ 20 (-82.3%)
Mutual labels:  appseed
flask-volt-dashboard
Flask Bootstrap 5 - Volt Dashboard | AppSeed
Stars: ✭ 124 (+9.73%)
Mutual labels:  appseed
flask-illustrations-iradesign
Flask App - Illustrations by IraDesign | AppSeed
Stars: ✭ 23 (-79.65%)
Mutual labels:  appseed

Soft UI 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, Soft UI Dashboard is ready to help you create stunning websites and webapps - Design from Creative-Tim.


Roadmap & Features

Status Item info
Up-to-date Dependencies
UI Kit Bootstrap 5, Dark-Mode (persistent)
Persistence SQLite, MySql
Authentication Basic, OAuth via AllAuth for Github
API Generator Secure API via Flask-restX
Deployment Docker, Page Compression
🚀 CI/CD via Render Flask SOFT Dashboard - Go LIVE (video)

Soft UI Dashboard - Full-Stack Starter generated by AppSeed.


Start the app in Docker

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

$ git clone https://github.com/app-generator/flask-soft-ui-dashboard.git
$ cd flask-soft-ui-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.


Create a new .env file using sample env.sample

The meaning of each variable can be found below:

  • DEBUG: if True the app runs in develoment mode
    • For production value False should be used
  • ASSETS_ROOT: used in assets management
    • default value: /static/assets
  • OAuth via Github
    • GITHUB_ID=<GITHUB_ID_HERE>
    • GITHUB_SECRET=<GITHUB_SECRET_HERE>

Manual Build

👉 Download the code

$ git clone https://github.com/app-generator/flask-soft-ui-dashboard.git
$ cd flask-soft-ui-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

$ export FLASK_APP=run.py
$ export FLASK_ENV=development

Start the app

$ flask run
// OR
$ flask run --cert=adhoc # For HTTPS server

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

$ # CMD 
$ set FLASK_APP=run.py
$ set FLASK_ENV=development
$
$ # Powershell
$ $env:FLASK_APP = ".\run.py"
$ $env:FLASK_ENV = "development"

Start the app

$ flask run
// OR
$ flask run --cert=adhoc # For HTTPS server

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


API Generator

This module helps to generate secure APIs using Flask-restX via a simple workflow:

  • Edit/add your model in apps/models.py
  • Migrate the database:
$ flask db init     # this should be executed only once
$ flask db migrate  # Generates the SQL 
$ flask db upgrade  # Apply changes 
  • Update Configuration:
    • apps/config .py, section API_GENERATOR
  • Generate the API code:
    • $ flask gen_api # the new code is saved in apps/api
  • Access the API in the browser:
    • /api/MODEL_NAME/

The API is secured using the JWT tocken provided by /login/jwt/ request (username & password should be provided).

  • GET requests are public (GET all, get Item)
  • Mutating requests are protected by token generated based on the user credentials (username, pass).

Two POSTMAN Collections are provided in the media directory:

  • Books API - that uses PORT *5000 for the api
  • Books API 2 - that uses PORT *5085 for the api (default port in Docker)

In case both port are unusable in your environment, feel free to edit the files before POSTMAN import.


👉 Create Users

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 registration page and create a new user:
    • http://127.0.0.1:5000/register
  • Access the sign in page and authenticate
    • http://127.0.0.1:5000/login

Code-base structure

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
   |
   |-- ************************************************************************

Flask Soft Dashboard PRO

For more components, pages and priority on support, feel free to take a look at this starter:

Soft UI Dashboard is a premium Bootstrap 5 Design now available for download in Flask. Made of hundred of elements, designed blocks, and fully coded pages, Soft UI Dashboard PRO is ready to help you create stunning websites and web apps.


Soft UI Dashboard PRO - Starter generated by AppSeed.



Soft UI Dashboard Flask - Open-source starter crafted by AppSeed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].