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

  •  
  •  
  •