A full-stack feedback app for collecting and managing user reviews with ratings. The frontend is built with React + Vite, while the backend API is built using Express and MongoDB Atlas.
-
🔹 Frontend (this repo)
https://github.com/Z-Mosayebi/Feedback-Rating-App -
🔹 Backend API (Express + MongoDB)
https://github.com/Z-Mosayebi/Feedback-Rating-API-
- ✅ Add, update, and delete feedback
- ✅ Real-time UI updates without reload
- ✅ Average rating display
- ✅ Toast notifications
- ✅ React Router navigation
- ✅ MongoDB Atlas integration (persistent storage)
- ✅ Secure backend with Express + Mongoose
- ✅ Clean and reusable React components
- ✅ Global state management using Context API
- ✅ Environment variable configuration for deployment security
| Tech | Purpose |
|---|---|
| React | Frontend UI library |
| Vite | Development/build tool |
| React Router | Navigation and routing |
| Context API | Global state management |
| Express.js | REST API backend |
| MongoDB Atlas | Cloud NoSQL database |
| Mongoose | ODM for MongoDB |
| React Toastify | User notifications |
| Vercel | Frontend deployment |
| Render | Backend API hosting |
| GitHub | Source control and collaboration |
📦 feedback-rating-app/
├── src/ # Frontend source
│ ├── components/
│ ├── context/
│ ├── App.jsx
│ └── main.jsx
├── .env # Vite env file (see below)
├── vite.config.js
├── package.json
🔧 Backend lives in a separate repo:
Z-Mosayebi/Feedback-Rating-API-
git clone https://github.com/Z-Mosayebi/Feedback-Rating-App.git
cd Feedback-Rating-Appnpm installIn the root folder, add a file called .env with the following line:
VITE_API_URL=https://feedback-rating-api.onrender.com/api/feedbackℹ️ You can replace the URL with your local backend (
http://localhost:5000) for development.
npm run devOpens the app at
http://localhost:5173
The backend is hosted in a separate repository:
👉 Feedback-Rating-API-
- Clone the backend repo:
git clone https://github.com/Z-Mosayebi/Feedback-Rating-API-.git
cd Feedback-Rating-API-- Install dependencies:
npm install- Create
.envfile in the root directory:
PORT=5000
MONGO_URI=your-mongodb-uriyour-mongodb-uri with your actual connection string from MongoDB Atlas.
- Start the server:
npm run serverBackend will run at http://localhost:5000
- Create a new Web Service on Render
- Connect your GitHub backend repo
- Add the following environment variables:
PORT=5000MONGO_URI=your-mongodb-uri
- Set
Build Commandto:npm install - Set
Start Commandto:node server.js
Backend will be deployed with a public API URL like:
https://feedback-rating-api.onrender.com/api/feedback
Use this URL in the frontend .env as VITE_API_URL.
| Service | Purpose | Status |
|---|---|---|
| Vercel | Frontend (React) | ✅ Live |
| Render | Backend API | ✅ Live |
| MongoDB | Cloud Database | ✅ Secured |
All production environment variables are stored securely via:
- 🔐 Vercel Project Settings → Environment Variables
- 🔐 Render Dashboard → Environment Variables
- React fundamentals (components, props, state)
- Managing side effects with
useEffect - CRUD operations with REST APIs
- Connecting React to MongoDB via Express
- State management using Context API
- Building full-stack apps with secure
.envhandling - Deploying frontend (Vercel) and backend (Render)
- Version control and collaboration with Git & GitHub
This project is for educational and portfolio use. Feel free to explore, fork, or suggest improvements.