Giter Site home page Giter Site logo

app-generator / flask-soft-ui-dashboard Goto Github PK

View Code? Open in Web Editor NEW
171.0 7.0 95.0 31.73 MB

Soft UI Dashboard - Open-source Flask Dashboard | AppSeed

Home Page: https://appseed.us/product/soft-ui-dashboard/flask/

License: Other

Dockerfile 0.03% Python 2.11% CSS 36.76% JavaScript 1.54% SCSS 38.82% HTML 20.72% Shell 0.01%
flask-dashboard soft-ui-dashboard appseed flask-application flask-sample-application flask-template flask-bootstrap5 flask-bs5 flask-soft-template flask-soft-ui

flask-soft-ui-dashboard's Introduction

Open-source Flask Dashboard generated by AppSeed on 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 web apps - Design from Creative-Tim.


Features

Have questions? Contact Support (Email & Discord) provided by AppSeed

Free Version PRO Version Custom Development
โœ“ Up-to-date dependencies Everything in Free, plus: Everything in PRO, plus:
โœ“ Best Practices โœ… Premium Bootstrap 5 Design โœ… 1 Week Custom Development
โœ“ DB: SQLite, MySql โœ… PRO Support - Email & Discord โœ… Team: PM, Developer, Tester
โœ“ DB Tools: ORM, Flask-Migrate โœ… Private REPO Access โœ… Weekly Sprints
โœ“ Session-Based authentication - โœ… Technical SPECS
โœ“ Docker - โœ… Documentation
โœ“ CI/CD Flow via Render - โœ… 30 days Delivery Warranty
โœ“ Free Support - โœ… CI/CD for AWS, DO (Extra)
--------------------------------- --------------------------------- ---------------------------------
โœ“ LIVE Demo ๐Ÿš€ LIVE Demo PRO ๐Ÿ›’ Order: $999 (GUMROAD)

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


โœ… Start 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 .env file

The meaning of each variable can be found below:

  • DEBUG: if True the app runs in development 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 ports 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

โœ… Codebase

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

flask-soft-ui-dashboard's People

Contributors

app-generator avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

flask-soft-ui-dashboard's Issues

Generating API

When running flask run gen_api keep getting Error: No such command 'gen_api'.

OpenAPI visual documentation is missing for verb/nouns

Hello,
I am looking at http://127.0.0.1/api where the visual documentation for the API is shown. Great that Open API has been implemented, but the documentation parameters are missing. This makes it a lot harder to work with it. Although I have to redesign the API nouns, it would help less experienced users to understand the API model and how to send the GET/POST JSON fields.

Also, the authorisation is missing from the schema. I can see the token on the user profile, but token authentication is not in the API doc (as seen on the Pet Store example -- AUTHORISE).

What I can see from SOFTUI:
soft_ui_api

What I wish to see (using openAPI PetStore Demo):
openapi_demo_parameters

AUTHORISE
openapi_authorise

Missing Authentication verification for some Blueprint routes

Hello,
Some blueprint routes are missing the @login_required to prevent a user from manually placing a URL and accessing the page without proper authentication. Please confirm as I am getting error AttributeError: 'AnonymousUserMixin' object has no attribute 'role'

app\authentication\routes.py
@blueprint.route('/profile', methods=['GET', 'PUT'])
@blueprint.route('/user_list', methods=['GET'])
@blueprint.route('/update_status', methods=['PUT'])
@blueprint.route('/delete_user', methods=['DELETE'])
@blueprint.route('/confirm/')
@blueprint.route('/change_password', methods=['POST'])

Thank you.

Missing Blueprint for users-new-user.html

FOR FLASH SOFT UI DASHBOARD PRO 1.0.6:

ISSUE
An admin does not have a blueprint create new users. the page users-new-user.html exists but there is no blueprint to add the user.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.