A comprehensive student feedback management system built with the MERN stack (MongoDB, Express.js, React, Node.js) featuring AI-powered insights and recommendations.
- CRUD Operations: Complete Create, Read, Update, Delete functionality for students and feedback
- Student Management: Add, edit, and manage student information
- Feedback Collection: Comprehensive feedback forms with ratings and comments
- Admin Dashboard: View and analyze all feedback submissions
- Real-time Statistics: Live dashboard with feedback metrics
- Feedback Summarization: AI-generated summaries of student feedback
- Course Recommendations: Personalized course suggestions based on feedback patterns
- Insights Generation: AI analysis of overall feedback trends and patterns
- Modern UI: Material-UI components with responsive design
- Data Visualization: Interactive tables and charts
- Form Validation: Client and server-side validation
- Error Handling: Comprehensive error handling and user feedback
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database
- Mongoose - ODM for MongoDB
- OpenAI API - AI-powered features
- Express Validator - Input validation
- CORS - Cross-origin resource sharing
- React - Frontend framework
- Material-UI - UI component library
- React Router - Client-side routing
- Axios - HTTP client
- MUI X Data Grid - Advanced data tables
- Node.js (v14 or higher)
- MongoDB (local or cloud instance)
- OpenAI API key (for AI features)
-
Install dependencies:
npm install
-
Environment Configuration: Create a
.envfile in the root directory:MONGODB_URI=mongodb://localhost:27017/student_feedback JWT_SECRET=your_jwt_secret_key_here OPENAI_API_KEY=your_openai_api_key_here PORT=5000
-
Start the backend server:
npm run dev
The server will run on
http://localhost:5000
-
Navigate to client directory:
cd client -
Install dependencies:
npm install
-
Start the React development server:
npm start
The frontend will run on
http://localhost:3000
-
Start MongoDB (if running locally):
mongod
-
The application will automatically create the database and collections when you first run it.
- Navigate to the Feedback Form page
- Select your student profile from the dropdown
- Fill in course details and instructor information
- Provide ratings (1-5 scale) for different aspects
- Add detailed comments about strengths and improvements
- Save as draft or submit the feedback
- Admin Dashboard: View all feedback submissions with statistics
- Student Management: Add, edit, or remove student profiles
- AI Insights: Generate AI-powered analysis of feedback patterns
- Course Recommendations: Get personalized course suggestions for students
GET /api/students- Get all studentsPOST /api/students- Create new studentPUT /api/students/:id- Update studentDELETE /api/students/:id- Delete student
GET /api/feedback- Get all feedbackPOST /api/feedback- Create new feedbackPUT /api/feedback/:id- Update feedbackDELETE /api/feedback/:id- Delete feedbackGET /api/feedback/stats/overview- Get feedback statistics
POST /api/ai/summarize/:feedbackId- Generate AI summaryPOST /api/ai/recommendations/:studentId- Get course recommendationsGET /api/ai/insights- Generate overall insights
# Terminal 1 - Backend
npm run dev
# Terminal 2 - Frontend
cd client && npm start# Build frontend
cd client && npm run build
# Start production server
npm start