https://github.com/xtream1101/fastapi-boilerplate-full-stack
Full stack fastapi boilerplate using server side rendered pages, oidc auth, and email validations
https://github.com/xtream1101/fastapi-boilerplate-full-stack
Last synced: about 1 year ago
JSON representation
Full stack fastapi boilerplate using server side rendered pages, oidc auth, and email validations
- Host: GitHub
- URL: https://github.com/xtream1101/fastapi-boilerplate-full-stack
- Owner: xtream1101
- Created: 2025-02-12T05:30:33.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-21T06:00:28.000Z (over 1 year ago)
- Last Synced: 2025-04-09T21:54:08.726Z (over 1 year ago)
- Language: Python
- Size: 356 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Boilerplate using Fastapi and Server Side Rendering
## 🛠️ Stack
- [Fastapi](https://fastapi.tiangolo.com/)
- [Jinja2](https://jinja.palletsprojects.com/en/stable/) for templates
- [Tailwindcss](https://tailwindcss.com/) for styling
- [fastapi-sso](https://github.com/tomasvotava/fastapi-sso) for SSO support
- [Alembic](https://alembic.sqlalchemy.org/en/latest/) for database migrations
- [SQLAlchemy](https://www.sqlalchemy.org/) for ORM
---
## 📦 Features
- Optional SSO/OIDC logins
- Optional verify user by email as well as welcome emails (must have smtp server configured)
- Option to disable registration
- if disabled, admins can manually invite users
---
## 📝 Upcoming features
- Add mkdocs server
- Add api examples
---
## 🚀 Quick Start Guide
### 🐳 Docker
1. Install [Docker](https://www.docker.com/)
2. Copy the `.env.example` file to `.env`. All default will work to test, but you can change the values if you want.
3. Run the following command:
```bash
docker compose up
```
### 🚀 Local Development
1. Install the following tools:
- [pre-commit](https://pre-commit.com/)
- [uv](https://github.com/astral-sh/uv)
- [justfile](https://github.com/casey/just) _(optional)_
- [docker](https://www.docker.com/) _(optional)_
2. Clone the repository
3. Run the following commands:
```bash
# Setup pre-commit hooks
pre-commit install
```
```bash
# Setup the python environment
uv sync
```
```bash
# Needed to build the tailwind styles
npm install
just build-styles
```
```bash
# Run the server
just start
```
4. Visit `http://localhost:8000` in your browser
5. Check the other `just` commands available in the `justfile`
- `just --list`
## 📜 License
This project is licensed under the [...](LICENSE).