Skip to main content

No project description provided

Project description

Fast Template

Easily generate a template for your FastAPI applications, complete with JWT authentication and Google sign-in.

Installation

You can install Fast Template via pip:

pip install fast_template

Or using poetry:

poetry add fast_template

Usage

To initialize a project in an existing folder:

fast-template init project_name .

To create a new project:

fast-template init project_name

Once the template is set up, you'll need to create a .env file as required by the settings.py file (feel free to modify it to suit your needs).

Migrations

You can set up database migrations using Alembic:

alembic init migrations

For more information on using Alembic, check the official tutorial.

Features

Authentication

  • JWT-based authentication is built-in.
  • Google sign-in is fully integrated, right down to the database layer.

Extensible Folder Structure

The folder structure is designed to be modular and scalable, inspired by Philip Okiokio (LinkedIn, GitHub). It promotes loose coupling and clean separation of concerns.

Each operation is handled by three main layers:

  1. Router Layer: Defines FastAPI routes.
  2. Service Layer: Contains the business logic.
  3. Database Layer: Manages database interactions.

The data flow is structured as follows:

Router Layer → Service Layer → Database Layer

The service layer handles the data exchange between the router and the database, while the router serializes requests and passes them to the service.

Pre-configured Services

The root folder contains core services required for the backend, including:

  1. Database setup
  2. Redis caching
  3. Email templates
  4. Background workers (using ARQ)
  5. Logging configuration
  6. Application settings

Schema and Database Layers

  • Schema: Pydantic models for serialization/deserialization, organized by feature (e.g., authentication schemas are in the auth folder).
  • Database: Handlers and ORM integration using SQLAlchemy.

Work in Progress

This package is a work in progress, created to streamline the setup of backend projects.

🐛 Bugs/Feature Requests

Contributions are welcome! Feel free to open a pull request or an issue for feature requests or bug reports.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fast_template_python-0.1.1.tar.gz (22.5 kB view hashes)

Uploaded Source

Built Distribution

fast_template_python-0.1.1-py3-none-any.whl (35.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page