Skip to content

vanylabs/modular-task-manager

Repository files navigation

Modular Tasks Platform

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.

Project Goal

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.

Features

Authentication

  • User registration and login
  • JWT-based authentication
  • User session management

Tasks 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

Notes

  • Create notes attached to tasks
  • View and manage task notes
  • Notes automatically inherit task ownership

Frontend

  • Modern React + TypeScript + Vite application
  • Responsive UI built with Mantine
  • Task dashboard with filtering and management

Architecture

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.

Getting Started

Backend Setup

  1. Install dependencies:
cd mtp
poetry install
  1. Run migrations:
fastappkit migrate all
  1. Start the server:
fastappkit core dev

Frontend Setup

  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev

Docker Setup

The project includes Docker and Docker Compose configuration for easy development with the entire project mounted.

  1. Build and start all services:
docker-compose up --build
  1. Access the services:
  • Backend API: http://localhost:8000
  • Frontend: http://localhost:5173
  1. Stop services:
docker-compose down

The Docker setup automatically:

  • Installs all core and external app dependencies
  • Installs external apps (auth and notes) using pip install -e
  • Runs migrations using fastappkit migrate all
  • Starts the backend server using fastappkit core dev
  • Mounts the entire project for seamless development

Technology Stack

  • Backend: FastAPI, FastAppKit, SQLAlchemy, Alembic
  • Frontend: React, TypeScript, Vite, Mantine UI
  • Database: SQLite (configurable)

About FastAppKit

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:

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published