https://github.com/app-generator/fastapi-soft-ui-dashboard
FastAPI Soft Dashboard - Open-Source Starter built on top of a modern Bootstrap Design | App-Generator.dev
https://github.com/app-generator/fastapi-soft-ui-dashboard
fastapi fastapi-starter fastapi-starter-kit fastapi-starter-template open-source
Last synced: 5 months ago
JSON representation
FastAPI Soft Dashboard - Open-Source Starter built on top of a modern Bootstrap Design | App-Generator.dev
- Host: GitHub
- URL: https://github.com/app-generator/fastapi-soft-ui-dashboard
- Owner: app-generator
- License: other
- Created: 2022-09-27T07:28:54.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-05-06T06:06:25.000Z (7 months ago)
- Last Synced: 2025-07-01T16:18:54.863Z (6 months ago)
- Topics: fastapi, fastapi-starter, fastapi-starter-kit, fastapi-starter-template, open-source
- Language: SCSS
- Homepage: https://app-generator.dev/docs/technologies/fastapi/index.html
- Size: 25.1 MB
- Stars: 47
- Watchers: 3
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# [FastAPI](https://app-generator.dev/docs/technologies/fastapi/index.html) Soft Dashboard
Open-source [FastAPI](https://app-generator.dev/docs/technologies/fastapi/index.html) built on top of a modern `Bootstrap 5` design. Designed for those who like bold elements and beautiful websites, **[Soft UI Dashboard](https://app-generator.dev/product/soft-ui-dashboard/)** is ready to help you create stunning websites and web apps.
> 👉 For more [FastAPI Resources](https://app-generator.dev/docs/technologies/fastapi.html) please access:
- [Getting Started with FastAPI](https://app-generator.dev/docs/technologies/fastapi/index.html)
- [FastAPI Cheatsheet](https://app-generator.dev/docs/technologies/fastapi/cheatsheet.html)
> Product Roadmap
| Status | Item | info |
| --- | --- | --- |
| ✅ | **Up-to-date Dependencies** | - |
| ✅ | **[Soft Dashboard Design](https://app-generator.dev/product/soft-ui-dashboard/)** | Designed by **[Creative-Tim](https://app-generator.dev/agency/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 | - |

## 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
```bash
$ git clone https://github.com/app-generator/fastapi-soft-ui-dashboard.git
$ cd fastapi-soft-ui-dashboard
```
> Install modules via `VENV`
```bash
$ 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`.
```env
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`)
```bash
$ alembic upgrade head
```
> Start the app
```bash
$ 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:
```bash
< 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 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](https://app-generator.dev/docs/technologies/fastapi/index.html) Soft Dashboard - Open-source eCommerce Starter provided by [App-Generator](https://app-generator.dev/).