GitHunt
FR

frazhaidry/ProjectPool

ProjectPool is a smart platform designed to simplify and organize the final-year project selection process for students and faculty. We remove the hassle of manual approvals, project conflicts, and confusion by introducing a transparent and efficient system.

🌊 ProjectPool

ProjectPool is a platform built to simplify and streamline the final-year project selection process for students and faculty.

Every student knows the struggle:

  • ❌ Multiple teams fighting for the same project
  • ❌ Endless manual approvals
  • ❌ Zero clarity on who gets what
  • ❌ Confusion and wasted time

ProjectPool eliminates all that by introducing a fair, transparent, and efficient system that ensures every project gets assigned without conflict or chaos.


✨ Version 1 Highlights

  • βœ… Team Formation Made Simple – Students can easily form teams and select from available projects.
  • βœ… Instant Approvals – Admins can approve or reject project requests in seconds.
  • βœ… No Conflicts – One Team = One Project β†’ ensuring clarity and fairness.
  • βœ… Faster Workflow – Smooth, automated project allocation for everyone involved.

🌟 What’s Coming in Version 2

  • πŸ’‘ Faculty Project Proposals – Faculty members can propose up to four projects directly into the pool.
  • πŸ’‘ Faculty Directory – A complete list of department faculty available within the platform.
  • πŸ’‘ Group Change Requests – Students can request group changes with approval from teammates and supervisors.
  • πŸ’‘ New Roles – Introducing a dedicated Faculty role alongside Admin and Student.

🎯 Our Goal

To bring clarity, fairness, and transparency to the final-year project selection process β€” saving time, reducing confusion, and giving both students and faculty a smarter way to manage projects.


πŸ“Œ Features

  • πŸ” Authentication & Authorization (Basic auth, user & admin check)
  • πŸ“ Project Submission (students can submit project details)
  • βœ… Form Validation (ensures clean data handling)
  • πŸ“Š Project Listing & Management
  • πŸ—„ MongoDB Integration for database storage
  • ⚑ Built with Node.js + Express.js

πŸ›  Tech Stack

Backend:

  • Node.js
  • Express.js
  • MongoDB (Mongoose)
  • JWT Authentication

Tools & Utilities:

  • Nodemon
  • dotenv
  • Git & GitHub

πŸ“‚ Project Structure

ProjectPool/
β”œβ”€β”€ controllers/        # Request handlers (e.g., submissionController.js)
β”œβ”€β”€ models/             # Mongoose models (e.g., Submission.js, User.js)
β”œβ”€β”€ routes/             # API routes
β”œβ”€β”€ utils/              # Helper functions (e.g., projectList.js)
β”œβ”€β”€ config/             # DB and environment configuration
β”œβ”€β”€ server.js           # Entry point
└── README.md           # Project documentation

πŸš€ Getting Started

1️⃣ Clone the Repository

git clone https://github.com/frazhaidry/ProjectPool.git
cd ProjectPool

2️⃣ Install Dependencies

npm install

3️⃣ Setup Environment Variables

Create a .env file in the root and add:

PORT=3000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key

4️⃣ Run the Server

npm run dev

The server will start on:

http://localhost:3000

πŸ“‘ API Endpoints

πŸ”‘ Auth

  • POST /api/auth/register β†’ Register new user
  • POST /api/auth/login β†’ Login user

πŸ“˜ Projects

  • POST /api/submissions β†’ Create a new project submission
  • GET /api/projects β†’ Fetch all projects

🀝 Contributing

  1. Fork this repo
  2. Create a new branch (feature/your-feature)
  3. Commit your changes
  4. Push to your branch
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License.
Feel free to use, modify, and distribute.


πŸ‘¨β€πŸ’» Author

Fraz Haidry
πŸ”— GitHub


✨ ProjectPool is built to simplify project management and submissions for students & developers.