Skip to content

app-generator/fastapi-soft-ui-dashboard

Repository files navigation

FastAPI Soft Dashboard

Open-source FastAPI built on top of a modern Bootstrap 5 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.

👉 For more FastAPI Resources please access:


Product Roadmap

Status Item info
Up-to-date Dependencies -
Soft Dashboard Design Designed by Creative-Tim
UI Kit Bootstrap 5, Dark-Mode (persistent)
Persistence SQLite, MySql
Basic Authentication classic user/password
API Products & Sales (linked tables)
GET Requests (public), get/, get/id
Mutating requests (Create, UPD, DEL) (reserved for authenticated users)
Docker Simple Setup (local usage)
OAuth Github & Twitter providers
Unitary tests -

Soft UI Dashboard - Open-source FastAPI starter provided by by AppSeed.


Project Structure

This application is composed of 3 basic parts in the root folder.

  • src provides the codebase for the main application.
  • alembic manages the DB database migration layer
  • tests stores the unit testing library.

Manual Build

Download the code

$ git clone https://github.com/app-generator/fastapi-soft-ui-dashboard.git
$ cd fastapi-soft-ui-dashboard

Install modules via VENV

$ python -m venv env
$ source env/bin/activate
$ pip install -r requirements.txt

Create .env from env.sample - here is a sample

Note: Setting the debugging config to 1 will start the app with SQLite, setting it to 0 will start the app with MySql.

DEBUGGING=1

DATABASE_HOSTNAME=localhost
DATABASE_PORT=5432
DATABASE_PASSWORD=somepassword
DATABASE_NAME=somedbname
DATABASE_USERNAME=mayberoot

SECRET_KEY=SUPER_SECRET_HERE
ALGORITHM=HS256

ACCESS_TOKEN_EXPIRE_MINUTES=30

Migrate the database (create tables)

$ alembic upgrade head

Start the app

$ uvicorn src.app:app --reload

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


✨ Codebase structure

The project is coded using a modular, intuitive structure as presented below:

< PROJECT ROOT >
   |
   |-- src/
   |    |
   |    |-- helpers/                        # A simple app that serve HTML files
   |    |    |-- database.py                # Define app routes
   |    |    |-- utils.py                   # Define app routes
   |    |
   |    |-- routers/                        # Handles routes (all sections)
   |    |    |-- auth/                      # Implements authentication routes  
   |    |    |-- ui_routes.py                 
   |    |    |-- user_routes.py
   |    |
   |    |-- 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
   |    |    
   |  models.py                             # Defines the models
   |  config.py                             # Holds APP Configuration
   |  __init__.py                           # Builds the FastAPI object
   |  app.py                                # Bundles ALL resources
   |
   |-- requirements.txt                     # App Dependencies
   |
   |-- .env                                 # Inject Configuration via Environment
   |
   |-- ************************************************************************


FastAPI Soft Dashboard - Open-source eCommerce Starter provided by App-Generator.

About

FastAPI Soft Dashboard - Open-Source Starter built on top of a modern Bootstrap Design | App-Generator.dev

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •