Skip to content

Fedodor/CS50_Final_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS50 Final Project

FastAPI React Vite Pydantic aiohttp Ant Design Tailwind CSS CS50

This is my final project for CS50x: a small full-stack web application built with a FastAPI backend and a React frontend.

The goal was not to build a huge product, but to connect the main parts of a modern web app: an API, data validation, async backend logic, a frontend interface, and communication between both sides.

Demo

Video demo: https://youtu.be/14pbbAfhqMw

Tech stack

Backend

  • Python
  • FastAPI
  • Pydantic / pydantic-settings
  • aiohttp

Frontend

  • React
  • Vite
  • Ant Design
  • Tailwind CSS

What the app includes

  • A FastAPI backend with structured request/response validation
  • Async HTTP logic with aiohttp
  • A React frontend built with reusable components
  • A dashboard-style interface
  • Basic CRUD-style data management
  • Responsive UI work with Tailwind CSS and Ant Design

What I practiced

This project helped me move from separate programming exercises to a complete web application. The main things I practiced were:

  • designing API endpoints
  • validating data with Pydantic
  • connecting frontend and backend code
  • working with async Python
  • organizing a React project
  • making a UI usable on different screen sizes
  • documenting a project clearly enough for another person to run it

Project structure

CS50_Final_Project/
├── backend/
│   ├── src/
│   └── requirements.txt
├── frontend/
│   ├── src/
│   ├── package.json
│   ├── tailwind.config.js
│   └── vite.config.js
└── README.md

Run locally

Backend

cd backend
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r requirements.txt
pip install uvicorn
uvicorn src.main:app --reload

The backend will run at:

http://127.0.0.1:8000

API docs:

http://127.0.0.1:8000/docs

Frontend

cd frontend
npm install
npm run dev

The frontend will run at:

http://127.0.0.1:5173

Future improvements

  • Add automated backend tests
  • Add frontend tests
  • Improve error handling in the UI
  • Add user roles and permissions
  • Add WebSocket notifications or live updates
  • Prepare a Docker Compose setup for easier local launch

About

Full-stack CS50 final project built with FastAPI and React, focused on async API integration, data validation and a responsive dashboard.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors