Skip to content

A full-stack Tasks Management web application built with FastAPI, React, and MongoDB β€” the FARM Stack 🚜. This app allows users to register, log in, create, update, and delete task lists (individual tasks), with a sleek UI and secure backend.

Notifications You must be signed in to change notification settings

Kei-K23/FARM-stack-tasks-management-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“ Tasks Management App (FARM Stack)

A full-stack Tasks Management web application built with FastAPI, React, and MongoDB β€” the FARM Stack 🚜. This app allows users to register, log in, create, update, and delete task lists (individual tasks), with a sleek UI and secure backend.


🧱 Tech Stack

  • Frontend: React (Vite), TailwindCSS
  • Backend: FastAPI
  • Database: MongoDB (with Motor async driver)
  • Auth: JWT-based authentication
  • Validation: Pydantic v2
  • Environment Management: pydantic-settings, .env support

πŸš€ Features

βœ… User

  • Register / Login / Logout
  • JWT Access Token Authentication
  • Secure password hashing (using passlib)

πŸ“‹ Task lists that organize for each individual tasks

  • CRUD operations: Create, Read, Update, Delete
  • Assign deadlines and statuses
  • Search & filter functionality

🌐 API

  • FastAPI-powered RESTful API
  • Async MongoDB connection (Motor)
  • Clean schema validation with Pydantic v2
  • CORS enabled for frontend/backend communication

πŸ“ Project Screenshots

img1 img2 img3 img4


πŸ“ Project Structure


FARM-stack-tasks-management-app/
β”‚
β”œβ”€β”€ backend/ # FastAPI backend
β”‚ β”œβ”€β”€ main.py # Entry point
β”‚ β”œβ”€β”€ db/ # MongoDB config
β”‚ β”œβ”€β”€ models/ # MongoDB models
β”‚ β”œβ”€β”€ schemas/ # Pydantic schemas
β”‚ β”œβ”€β”€ services/ # Business logic
β”‚ β”œβ”€β”€ routes/ # API routes
β”‚ └── core/ # Config, security, etc.
β”‚
β”œβ”€β”€ frontend/ # React frontend
β”‚ β”œβ”€β”€ src/
β”‚ β”‚ β”œβ”€β”€ components/ # Reusable components
β”‚ β”‚ β”œβ”€β”€ pages/ # Page-level views
β”‚ β”‚ β”œβ”€β”€ services/ # API calls
β”‚ β”‚ └── App.tsx
β”‚
β”œβ”€β”€ .env # Environment variables
β”œβ”€β”€ requirements.txt # Python packages
└── README.md


πŸ“ System Design Overview

class_diagram

Class Diagram Draw.io


βš™οΈ Getting Started

1. Clone the Repository

git clone https://github.com/your-username/FARM-stack-tasks-management-app.git
cd FARM-stack-tasks-management-app

2. Backend Setup (FastAPI + MongoDB)

πŸ”Ή Create a virtual environment

python3 -m venv .venv
source .venv/bin/activate

πŸ”Ή Install dependencies

pip install -r requirements.txt

πŸ”Ή Environment Variables (.env)

mongo_uri=mongodb://mongo:mongo@localhost:27017/tasks_management_db?authSource=admin
mongo_db=tasks_management_db
secret_key=881d54fb021110ba68d1eaaab1dd2df4901b58ee329b065844bfc1c6d014f3b0
algorithm=HS256
access_token_expire_minutes=3600
VITE_BACKEND_APP_API_URL=http://localhost:8000

πŸ”Ή Run the server

fastapi dev backend/main.py

3. Frontend Setup (React)

cd frontend
pnpm install    # or npm / yarn
pnpm dev        # or npm run dev

πŸ§ͺ API Documentation

FastAPI provides interactive docs:


πŸ›‘ Security

  • Passwords are hashed with bcrypt
  • JWT access tokens with expiry
  • Secure input validation via Pydantic v2
  • CORS enabled for frontend/backend communication

🧰 Tools

  • MongoDB Compass – GUI for managing your MongoDB collections
  • Thunder Client / Postman – API testing
  • Docker – For containerized setup

πŸ“¦ Future Improvements

  • Add task categories/labels
  • Drag and Drop for task-list UI
  • Role-based user permissions (admin, user)
  • User invitations for task list
  • Email reminder for overdue tasks
  • Docker support for full-stack deployment

🀝 Contribution

PRs and issues are welcome! If you'd like to add a feature or fix a bug, feel free to fork and submit a pull request.


πŸ“„ License

MIT License


πŸ‘¨β€πŸ’» Author

Kei-K23 – Software Developer

Built with ❀️ using FARM stack 🚜

About

A full-stack Tasks Management web application built with FastAPI, React, and MongoDB β€” the FARM Stack 🚜. This app allows users to register, log in, create, update, and delete task lists (individual tasks), with a sleek UI and secure backend.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published