What it does

This project is a centralized team task management platform. The Python API serves user and task data, calculates workloads, and handles task creation and updates. The frontend displays a calendar, team availability, and today’s tasks, allowing users to add or move tasks with changes reflected via API calls. Currently, the system uses mock data to simulate the database, with full SQL integration planned next.

How we built it

The backend API was built in Python using FastAPI, handling requests to fetch, create, and update users and tasks. The frontend is a static HTML/JavaScript interface that uses FullCalendar to display tasks and team availability, dynamically calling the API with GET, POST, and PUT requests. Mock data simulates database responses for testing, while SQL tables store user, task, and availability data for future integration.

Challenges we ran into

  • Synchronizing frontend and backend: Ensuring the HTML/JS interface correctly called the FastAPI endpoints while field names and formats matched the database schema.

  • Simulating data before database integration: We needed mock data to test the calendar and task reassignment logic before the SQL database was fully connected.

  • Real-time updates in the calendar: Handling drag-and-drop task changes and reflecting them in the backend without breaking the UI.

  • CORS and network issues: Making sure the frontend could fetch data from the backend, especially when running on different ports or machines.

What we learned

How to design and implement a Python FastAPI backend to serve dynamic data to a frontend.

How to integrate FullCalendar with JavaScript for interactive task visualization.

The importance of API contracts and consistent data formats when coordinating between frontend and backend.

Strategies for handling mock data and testing before full database integration.

Basic team project workflow, including collaboration, Git usage, and managing dependencies between frontend, backend, and database.

Built With

Share this project:

Updates