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 ProjectPool2οΈβ£ Install Dependencies
npm install3οΈβ£ 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 devThe server will start on:
http://localhost:3000
π‘ API Endpoints
π Auth
POST /api/auth/registerβ Register new userPOST /api/auth/loginβ Login user
π Projects
POST /api/submissionsβ Create a new project submissionGET /api/projectsβ Fetch all projects
π€ Contributing
- Fork this repo
- Create a new branch (
feature/your-feature) - Commit your changes
- Push to your branch
- 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.