Final Project — Full-Stack Web App (React + Express, Fully Hosted on Render)

Combine everything we've learned this semester and implement a full-stack web application using:

Important note for the 12/2 class:

On December 2 we will walk through how to configure your React project to communicate with a server, and how to deploy both front-end and back-end together on Render.

Before class on 12/2 you are expected to have made significant progress on your React front-end using a local JSON data import (for example `import data from './data/items.json'`). Specifically, your React app should already:

  • Render pages and routes (using React Router)
  • Display imported JSON data via components
  • Include components, layout, and initial CSS styling
  • Begin designing the form UI (validation can wait until after class)

Project Requirements

Front-end (React)

Back-end (Express)

Full-stack Integration

Deployment

Suggested Themes / Example Ideas

Choose a theme that fits the requirements. Some ideas:

Deliverables

Example Project File Layout


final/
├─ client/ # React app (Vite)
│ ├─ public/
│ ├─ src/
│ │ ├─ Home.jsx
│ │ ├─ List.jsx # Doesn't need to be named this
│ │ ├─ AddToList.jsx # Doesn't need to be named this
│ │ ├─ App.jsx
│ │ └─ main.jsx
│ ├─ package.json
│
├─ server/
│ ├─ index.js # Express app
│ ├─ data.json # If using file-based persistence
│ ├─ package.json
│ ├─ public/
| | └─ # the static build of your client (from running npm run build in the client)
|
└─ README.md # See above for what to put in here