Skip to content

Vickycode1990/MyProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f3fe8e6 Β· Apr 23, 2025

History

1 Commit
Apr 23, 2025
Apr 23, 2025
Apr 23, 2025
Apr 23, 2025
Apr 23, 2025
Apr 23, 2025
Apr 23, 2025
Apr 23, 2025
Apr 23, 2025

Repository files navigation

Task Management System

A modern task management system built with FastAPI, React, and SQLAlchemy.

πŸš€ Features

  • User Management

    • User registration and authentication
    • JWT-based authentication
    • Password hashing with bcrypt
  • Task Management

    • Create, read, update tasks
    • Task status tracking
    • Priority levels
    • Due date management
    • Task assignment
  • Comments System

    • Add comments to tasks
    • Track comment history
    • User attribution
  • Modern UI

    • React-based frontend
    • Responsive design with Tailwind CSS
    • Real-time updates
    • Interactive dashboard
    • Beautiful task cards
  • Security

    • JWT authentication
    • Password hashing
    • Role-based access control
    • Input validation

πŸ› οΈ Technical Stack

Backend

  • Framework: FastAPI
  • Database: SQLite with SQLAlchemy ORM
  • Authentication: JWT tokens
  • Password Hashing: bcrypt
  • API Documentation: Swagger/OpenAPI
  • Data Validation: Pydantic

Frontend

  • Framework: React
  • State Management: Zustand
  • Styling: Tailwind CSS
  • Forms: React Hook Form
  • API Client: Axios
  • Data Fetching: React Query
  • Routing: React Router

πŸ“¦ Installation

Backend Setup

  1. Create a virtual environment:

    python -m venv venv
    source venv/bin/activate  # Linux/Mac
    venv\Scripts\activate     # Windows
  2. Install backend dependencies:

    pip install -r requirements.txt

Frontend Setup

  1. Navigate to the frontend directory:

    cd frontend
  2. Install frontend dependencies:

    npm install

πŸš€ Usage

Start the Backend Server

  1. Activate the virtual environment (if not already activated)
  2. Run the FastAPI server:
    python main.py
  3. Access the API documentation at http://localhost:8001/docs

Start the Frontend Development Server

  1. In a new terminal, navigate to the frontend directory
  2. Start the development server:
    npm start
  3. Access the application at http://localhost:3000

πŸ“š Features Overview

Dashboard

  • Task statistics
  • Recent activities
  • Priority distribution
  • Status overview

Task Management

  • Create new tasks
  • Assign tasks to users
  • Set priorities and due dates
  • Track task status
  • Add comments and updates

User Features

  • User registration
  • Profile management
  • Task assignment
  • Activity tracking

πŸ”’ Authentication

The application uses JWT tokens for authentication:

  1. Register a new user:

    curl -X POST "http://localhost:8001/users/" -H "Content-Type: application/json" -d '{"username": "testuser", "email": "test@example.com", "password": "password123"}'
  2. Get access token:

    curl -X POST "http://localhost:8001/token" -d "username=testuser&password=password123"
  3. Use the token in subsequent requests:

    curl -X GET "http://localhost:8001/tasks/" -H "Authorization: Bearer YOUR_TOKEN"

πŸ§ͺ Testing

Backend Tests

pytest

Frontend Tests

cd frontend
npm test

πŸ“ License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published