GitHub - Suraj0950/FYPM-System: The Final Year Project Management System is a web application that helps students, supervisors, and administrators manage final year projects efficiently. It allows proposal submission, project tracking, document uploads, and supervisor feedback through a centralized platform.

FYPM-System is a full-stack MERN application designed to simplify the management of Final Year Projects in colleges and universities. It allows students, teachers, and administrators to collaborate efficiently for project submission, review, and evaluation.

The system helps institutions manage project workflows digitally instead of using manual processes.


🚀 Features

👨‍🎓 Student

  • Register and login securely
  • Submit final year project proposals
  • Upload project documents
  • Track project approval status
  • Receive feedback from teachers

👨‍🏫 Teacher

  • Review submitted projects
  • Approve or reject project proposals
  • Provide feedback to students
  • Monitor student project progress

👨‍💼 Admin

  • Manage students and teachers
  • Assign supervisors
  • Manage all project submissions
  • View system statistics

🛠️ Tech Stack

Frontend

  • React.js
  • Redux Toolkit
  • React Router DOM
  • Tailwind CSS
  • Axios
  • Recharts

Backend

  • Node.js
  • Express.js

Database

  • MongoDB
  • Mongoose

Authentication

  • JWT (JSON Web Token)

📂 Project Folder Structure

FYPM-System
│
├── client/                         # React Frontend
│
│   ├── public/
│   │   └── favicon.ico
│
│   ├── src/
│   │
│   │   ├── assets/                 # Images, icons, logos
│   │   │   ├── images
│   │   │   └── icons
│   │
│   │   ├── components/             # Reusable UI components
│   │   │   ├── common/
│   │   │   │   ├── Navbar.jsx
│   │   │   │   ├── Sidebar.jsx
│   │   │   │   └── Loader.jsx
│   │   │   │
│   │   │   ├── ui/
│   │   │   │   ├── Button.jsx
│   │   │   │   ├── Input.jsx
│   │   │   │   └── Modal.jsx
│   │   │   │
│   │   │   └── charts/
│   │   │       └── StatsChart.jsx
│   │
│   │   ├── pages/
│   │   │   ├── auth/
│   │   │   │   ├── LoginPage.jsx
│   │   │   │   └── RegisterPage.jsx
│   │   │   │
│   │   │   ├── student/
│   │   │   │   ├── StudentDashboard.jsx
│   │   │   │   ├── SubmitProject.jsx
│   │   │   │   └── MyProjects.jsx
│   │   │   │
│   │   │   ├── teacher/
│   │   │   │   ├── TeacherDashboard.jsx
│   │   │   │   ├── ReviewProjects.jsx
│   │   │   │   └── Feedback.jsx
│   │   │   │
│   │   │   ├── admin/
│   │   │   │   ├── AdminDashboard.jsx
│   │   │   │   ├── ManageUsers.jsx
│   │   │   │   └── ManageProjects.jsx
│   │   │   │
│   │   │   └── NotFound.jsx
│   │
│   │   ├── redux/
│   │   │   ├── store.js
│   │   │   └── slices/
│   │   │       ├── authSlice.js
│   │   │       ├── projectSlice.js
│   │   │       └── adminSlice.js
│   │
│   │   ├── services/
│   │   │   ├── axios.js
│   │   │   ├── authService.js
│   │   │   └── projectService.js
│   │
│   │   ├── hooks/
│   │   │   └── useAuth.js
│   │
│   │   ├── utils/
│   │   │   ├── formatDate.js
│   │   │   └── constants.js
│   │
│   │   ├── routes/
│   │   │   └── ProtectedRoute.jsx
│   │
│   │   ├── App.jsx
│   │   ├── main.jsx
│   │   └── index.css
│
│   ├── package.json
│   └── vite.config.js
│
│
├── server/                         # Backend (Node + Express)
│
│   ├── config/
│   │   ├── db.js
│   │   └── cloudinary.js
│
│   ├── controllers/
│   │   ├── authController.js
│   │   ├── userController.js
│   │   └── projectController.js
│
│   ├── middleware/
│   │   ├── authMiddleware.js
│   │   ├── errorMiddleware.js
│   │   └── roleMiddleware.js
│
│   ├── models/
│   │   ├── User.js
│   │   ├── Project.js
│   │   └── Feedback.js
│
│   ├── routes/
│   │   ├── authRoutes.js
│   │   ├── userRoutes.js
│   │   └── projectRoutes.js
│
│   ├── utils/
│   │   ├── generateToken.js
│   │   └── sendEmail.js
│
│   ├── uploads/
│   │   └── projects
│
│   ├── server.js
│   └── package.json
│
│
├── .gitignore
├── README.md
└── package.json

⚙️ Installation

1️⃣ Clone the repository

git clone https://github.com/Suraj0950/FYPM-System.git

2️⃣ Install dependencies

Backend

Frontend


3️⃣ Setup Environment Variables

Create a .env file inside server

PORT=5000
MONGO_URI=your_mongodb_connection
JWT_SECRET=your_secret_key
CLIENT_URL=http://localhost:5173

4️⃣ Run the application

Backend

Frontend


🌐 Application URLs

Frontend

Backend API


📈 Future Improvements

  • Email notifications
  • Project evaluation system
  • Real-time chat between students and supervisors
  • File version tracking
  • AI-based project recommendations

👨‍💻 Author

Suraj Kumar

GitHub: https://github.com/Suraj0950


⭐ Support

If you like this project, please ⭐ star the repository on GitHub.