A sample project showcasing FastAppKit's ability to build modular applications with seamless development experience.
FastAppKit is a powerful framework for building modular FastAPI applications. Learn more at the documentation or install it from PyPI.
This project demonstrates how FastAppKit can be used to create modular applications that combine:
- Core features (main application infrastructure)
- Internal apps (tasks module within the core project)
- External apps (pluggable modules like auth and notes)
The goal is to showcase that FastAppKit enables developers to build such modular applications easily, making development seamless and maintaining clear separation between different modules.
- User registration and login
- JWT-based authentication
- User session management
- Create, read, update, and delete tasks
- Task status tracking (pending, in_progress, completed)
- Task priority levels (low, medium, high, urgent)
- Due dates and reminders
- Status filtering
- Create notes attached to tasks
- View and manage task notes
- Notes automatically inherit task ownership
- Modern React + TypeScript + Vite application
- Responsive UI built with Mantine
- Task dashboard with filtering and management
This project demonstrates a modular architecture using FastAppKit:
- Core Application (
mtp/): Main application with core infrastructure - Internal App (
mtp/apps/tasks/): Tasks module integrated within the core project - External Apps (
external_apps/):auth/: Authentication module (pluggable)notes/: Notes module (pluggable)
Each module can be developed independently and seamlessly integrated into the main application.
- Install dependencies:
cd mtp
poetry install- Run migrations:
fastappkit migrate all- Start the server:
fastappkit core dev- Install dependencies:
npm install- Start the development server:
npm run devThe project includes Docker and Docker Compose configuration for easy development with the entire project mounted.
- Build and start all services:
docker-compose up --build- Access the services:
- Backend API:
http://localhost:8000 - Frontend:
http://localhost:5173
- Stop services:
docker-compose downThe Docker setup automatically:
- Installs all core and external app dependencies
- Installs external apps (
authandnotes) usingpip install -e - Runs migrations using
fastappkit migrate all - Starts the backend server using
fastappkit core dev - Mounts the entire project for seamless development
- Backend: FastAPI, FastAppKit, SQLAlchemy, Alembic
- Frontend: React, TypeScript, Vite, Mantine UI
- Database: SQLite (configurable)
This project is built using FastAppKit, a framework that simplifies building modular FastAPI applications. FastAppKit enables:
- Seamless integration of internal and external apps
- Easy module development and pluggability
- Simplified database migrations across modules
- Clean separation of concerns
Resources:
MIT