Fullstack Product App is a production-grade CRUD application built with a fully decoupled architecture โ a React frontend, a FastAPI backend, and a Neon PostgreSQL cloud database. It demonstrates an end-to-end fullstack workflow: REST API design โ database integration โ frontend consumption โ cloud deployment.
Built as a postgraduate project to demonstrate real-world fullstack engineering: REST APIs, relational databases, CORS configuration, and multi-platform cloud deployment.
| Feature | Description |
|---|---|
| ๐ Create Products | Add new products with name, description, price & quantity |
| ๐ Read Products | Fetch all products or retrieve a single product by ID |
| โ๏ธ Update Products | Edit existing product details via PUT endpoint |
| ๐๏ธ Delete Products | Remove products from the database |
| โก FastAPI Backend | Auto-generated Swagger docs, async-ready, high performance |
| ๐ Neon PostgreSQL | Serverless cloud database with persistent storage |
| ๐ React Frontend | Clean, responsive UI deployed on Vercel |
| ๐ CORS Configured | Secure cross-origin communication between frontend & backend |
| โ๏ธ Fully Deployed | Frontend โ Vercel, Backend โ Render, DB โ Neon |
| Step 1: Fill the form | Step 2: Submit | Step 3: Confirmed |
|---|---|---|
![]() |
![]() |
![]() |
| Step 1: Select product | Step 2: Edit fields | Step 3: Confirmed |
|---|---|---|
![]() |
![]() |
![]() |
| Step 1: Trigger delete | Step 2: Confirm pop-up | Step 3: Removed |
|---|---|---|
![]() |
![]() |
![]() |
React Frontend (Vercel)
โ HTTP Requests (fetch / axios)
FastAPI Backend (Render)
โ SQLAlchemy ORM
Neon PostgreSQL (Cloud DB)
| Layer | Platform | URL |
|---|---|---|
| ๐ Frontend | Vercel | fullstack-product-app-rust.vercel.app |
| โ๏ธ Backend API | Render | fastapi-product-backend.onrender.com |
| ๐๏ธ Database | Neon PostgreSQL | Cloud-hosted (serverless) |
| Method | Endpoint | Description |
|---|---|---|
GET |
/products |
Retrieve all products |
GET |
/products/{id} |
Retrieve product by ID |
POST |
/products |
Create a new product |
PUT |
/products/{id} |
Update an existing product |
DELETE |
/products/{id} |
Delete a product |
๐ Full interactive API docs available at
/docs(Swagger UI) on the backend URL.
| Layer | Tools |
|---|---|
| Frontend | React, JavaScript, CSS |
| Backend | Python, FastAPI, SQLAlchemy, Pydantic |
| Database | PostgreSQL (Neon โ serverless cloud) |
| ORM | SQLAlchemy + Alembic-ready models |
| Deployment | Vercel (frontend), Render (backend), Neon (DB) |
fullstack-product-app/
โ
โโโ main.py # FastAPI app โ all CRUD routes
โโโ models.py # Pydantic request/response schemas
โโโ database.py # SQLAlchemy engine & session setup
โโโ database_models.py # ORM table definitions
โโโ render.yaml # Render deployment configuration
โโโ requirements.txt # Python dependencies
โ
โโโ frontend/ # React application source
โ โโโ ... # Components, pages, API calls
โ
โโโ product-ui/ # Additional UI assets / build
โ โโโ ...
โ
โโโ workings/ # Demo screenshots & video
โโโ User_Interface_Screen.png
โโโ adding_product.png
โโโ inserting_product.png
โโโ product_inserted.png
โโโ update_product.png
โโโ updating_product.png
โโโ product_updated.png
โโโ delete_pop_up.png
โโโ product_deleted.png
โโโ CRUD_operations_carried_out.mp4
Prerequisites: Python 3.9+, Node.js 16+, pip, npm
# 1. Clone the repository
git clone https://github.com/jk-neha/fullstack-product-app.git
cd fullstack-product-app
# 2. Install Python dependencies
pip install -r requirements.txt
# 3. Configure your database
# Create a .env file and add:
# DATABASE_URL=postgresql://user:password@host/dbname
# 4. Run the FastAPI server
uvicorn main:app --reloadAPI runs at http://localhost:8000 ยท Swagger docs at http://localhost:8000/docs
cd frontend
npm install
npm startFrontend runs at http://localhost:3000
โ ๏ธ Update the API base URL in your frontend config to point tohttp://localhost:8000for local development.
1. FRONTEND โ User interacts with the React UI (view / add / edit / delete products)
2. API CALL โ React sends an HTTP request to the FastAPI backend (with CORS headers)
3. BACKEND โ FastAPI validates the request body via Pydantic models
4. DATABASE โ SQLAlchemy ORM executes the query on Neon PostgreSQL
5. RESPONSE โ Result returned as JSON and rendered back in the React UI
fastapi
uvicorn
sqlalchemy
psycopg2-binary
pydantic
python-dotenv
See requirements.txt for exact versions.
- User authentication (JWT / OAuth)
- Pagination & search for product listings
- Image upload support per product
- Admin dashboard with analytics
- Docker + CI/CD pipeline (GitHub Actions)
- Unit & integration tests (pytest + React Testing Library)
โ True fullstack separation โ frontend, backend, and database on independent services
โ Production deployment โ live on Vercel + Render + Neon, not just localhost
โ Clean REST design โ all CRUD operations with proper HTTP verbs
โ CORS handled correctly โ secure cross-origin setup for real-world deployment
โ ORM-based persistence โ SQLAlchemy models, not raw SQL
โ Auto-generated API docs โ Swagger UI out of the box with FastAPI
Neha Vardhini J K ยท @jk-neha
Postgraduate Project โ Full-Stack Product Management Application
This project is open-source under the MIT License.









