All Projects → gaganpreet → fastapi-starter

gaganpreet / fastapi-starter

Licence: MIT license
A FastAPI based low code starter: Async SQLAlchemy, Postgres, React-Admin, pytest and cypress

Programming Languages

typescript
32286 projects
python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
shell
77523 projects
HTML
75241 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to fastapi-starter

FastAPI-template
Feature rich robust FastAPI template.
Stars: ✭ 660 (+580.41%)
Mutual labels:  cookiecutter, cookiecutter-template, fastapi, fastapi-template, fastapi-boilerplate
fastapi-boilerplate
FastAPI boilerplate for real world production
Stars: ✭ 145 (+49.48%)
Mutual labels:  sqlalchemy, fastapi, fastapi-template, fastapi-boilerplate
Fastapi React
🚀 Cookiecutter Template for FastAPI + React Projects. Using PostgreSQL, SQLAlchemy, and Docker
Stars: ✭ 501 (+416.49%)
Mutual labels:  postgres, sqlalchemy, cookiecutter, react-admin
fastapi-uvicorn-gunicorn-nginx-supervisor-boilerplate
Production ready boilerplate to start with Fastapi
Stars: ✭ 17 (-82.47%)
Mutual labels:  fastapi, fastapi-template, fastapi-boilerplate
fastapi-mvc
Developer productivity tool for making high-quality FastAPI production-ready APIs.
Stars: ✭ 131 (+35.05%)
Mutual labels:  fastapi, fastapi-template, fastapi-boilerplate
FastAPI Tortoise template
FastAPI - Tortoise ORM - Celery - Docker template
Stars: ✭ 144 (+48.45%)
Mutual labels:  fastapi, fastapi-template, fastapi-boilerplate
ChefAPI
API using FastAPI and PostgreSQL for sharing or keeping track of awesome food recipes Based on Oauth2 and JWT 💎
Stars: ✭ 16 (-83.51%)
Mutual labels:  postgres, sqlalchemy, fastapi
FRDP
Boilerplate code for quick docker implementation of REST API with JWT Authentication using FastAPI, PostgreSQL and PgAdmin ⭐
Stars: ✭ 55 (-43.3%)
Mutual labels:  sqlalchemy, fastapi, fastapi-boilerplate
tifa
Yet another opinionated fastapi-start-kit with best practice
Stars: ✭ 82 (-15.46%)
Mutual labels:  sqlalchemy, fastapi, fastapi-template
fastapi-pydiator
Python clean architecture and usecase implementation with fastapi and pydiator-core
Stars: ✭ 58 (-40.21%)
Mutual labels:  fastapi, fastapi-template, fastapi-boilerplate
qt-qml-project-template-with-ci
Template for a Qt/QML application with batteries included: GitHub C.I. for your QML app; automated gui testing with Xvfb; automatic code-format checks and more. Compiles for Desktop and Mobile (Linux, Mac, Windows, and Android).
Stars: ✭ 33 (-65.98%)
Mutual labels:  cookiecutter, cookiecutter-template
pyramid-cookiecutter-alchemy
[DEPRECATED - Please use https://github.com/pylons/pyramid-cookiecutter-starter instead] A Cookiecutter (project template) for creating a Pyramid project using SQLite for persistent storage, SQLAlchemy for an ORM, Alembic for database migrations, URL dispatch for routing, and Jinja2 for templating.
Stars: ✭ 39 (-59.79%)
Mutual labels:  sqlalchemy, cookiecutter-template
CourseCake
By serving course 📚 data that is more "edible" 🍰 for developers, we hope CourseCake offers a smooth approach to build useful tools for students.
Stars: ✭ 21 (-78.35%)
Mutual labels:  sqlalchemy, fastapi
cookiecutter-modern-pypackage
Cookiecutter template for a modern Python package.
Stars: ✭ 97 (+0%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-qt-app
A cookiecutter to create Qt applications, with translations and packaging
Stars: ✭ 29 (-70.1%)
Mutual labels:  cookiecutter, cookiecutter-template
fastapi-csv
🏗️ Create APIs from CSV files within seconds, using fastapi
Stars: ✭ 46 (-52.58%)
Mutual labels:  fastapi, fastapi-template
favv
Fullstack Web Application Framework With FastAPI + Vite + VueJS. Streamlit for rapid development.
Stars: ✭ 17 (-82.47%)
Mutual labels:  sqlalchemy, fastapi
cookiecutter-pyms
Cookiecutter template for a Python microservice.
Stars: ✭ 49 (-49.48%)
Mutual labels:  cookiecutter, cookiecutter-template
fastapi-saas-base
Fast API SAAS Base App
Stars: ✭ 47 (-51.55%)
Mutual labels:  sqlalchemy, fastapi
at-python-template
The official Python Project Template of Alexander Thamm GmbH
Stars: ✭ 34 (-64.95%)
Mutual labels:  cookiecutter, cookiecutter-template

FastAPI-Starter

A FastAPI based starter that relies heavily on existing plugins/frameworks to create an almost no-code experience. The goal is to build a template that can be used as a starting point for any FastAPI based project.

How to use

You need Python 3 and pip installed locally. Run the cookiecutter command and you'll be asked a few prompts.

pip3 install cookiecutter
cookiecutter https://github.com/gaganpreet/fastapi-starter

If you want to keep up to date with upstream changes (i.e. changes in this template), then it's better to use Cruft, which is fully compatible with Cookiecutter.

pip3 install cruft
cruft create https://github.com/gaganpreet/fastapi-starter

Using cruft will generate a metadata file named .cruft.json (don't delete it). Later on you can update to the current version of this cookiecutter and import the changes to your generated project by running this command:

cruft update

Objectives

  • Sane defaults with few prompts
  • Secure
  • KISS principle

Preview

View live demo here.

Login page

Item page

Features

  • Uses best practices: Factory pattern and environment variables for configuration
  • User registration, models, authentication using FastAPI Users
  • Modern admin interface using React-Admin
  • Github Action for building docker images and running automated tests
  • Dependabot config to keep project dependencies up to date
  • Create Typescript bindings for front-end automatically from OpenAPI spec using OpenAPI-Generator, no need to write/update code when backend changes
  • SQLAlchemy (async with 2.0 future API) and Alembic for database migrations
  • pytest with example tests included
  • Integration tests with Cypress
  • Docker images for frontend and backend
  • Includes extra Dockerfile (backend serves frontend) for straightforward deployment
  • Pre-commit hooks with Black, autoflake, isort, flake8, prettier, eslint for consistent code standards

Features not included

The following features were left out in favour of simplicity:

Things to do

  • Fix docker setup
  • Create Github action
  • Dependabot config
  • Add pre-commit hooks: Black, isort, flake8, mypy, tslint
  • Setup FastAPI CRUD example
  • Deploy with gunicorn as process manager (recommended for production)
  • Coverage report in tests
  • Email templates
  • Deployment instructions: Possibly provide an option to create a single docker image (where FastAPI serves static assets) that can be easily deployed
  • Async SQLAlchemy
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].