A full-stack web application designed to streamline the process of project group registration, supervisor assignment, and marks management for university projects.
This system replaces the manual, paper-based workflow with an efficient digital solution.
| Feature | Description |
|---|---|
| 🧑🎓 Student Portal | Register 5-member teams. Ensures a student cannot be part of multiple groups. |
| 👨🏫 Supervisor Portal | Supervisors can sign up, log in, view assigned groups, and enter review marks. |
| ⚙️ Admin Panel | Create/manage accounts, view all data, and run an auto-assignment algorithm. |
| Category | Technology |
|---|---|
| 🎨 Frontend | React.js (Vite), Tailwind CSS |
| ⚙️ Backend | Node.js, Express.js |
| 🗄️ Database | PostgreSQL (Supabase) |
| 🔑 Auth | JWT (JSON Web Tokens), bcrypt |
📦 Capstone Project
┣ 📂 backend
┃ ┣ 📂 middleware
┃ ┣ 📂 routes
┃ ┣ 📜 db.js
┃ ┣ 📜 index.js
┃ ┣ 📜 db_schema.sql
┃ ┣ 📜 package.json
┃ ┣ 📜 package-lock.json
┃ ┣ 📜 .gitignore
┃ ┗ 📜 .env
┣ 📂 frontend
┃ ┣ 📂 public
┃ ┣ 📂 src
┃ ┃ ┣ 📂 components
┃ ┃ ┃ ┣ 📜 AdminPanel.jsx
┃ ┃ ┃ ┣ 📜 GroupRegistration.jsx
┃ ┃ ┃ ┣ 📜 SupervisorDashboard.jsx
┃ ┃ ┃ ┗ 📜 SupervisorLogin.jsx
┃ ┃ ┣ 📜 App.jsx
┃ ┃ ┣ 📜 index.css
┃ ┃ ┗ 📜 main.jsx
┃ ┣ 📜 package.json
┃ ┣ 📜 package-lock.json
┃ ┣ 📜 .gitignore
┗ 📜 README.mdFollow these instructions to set up and run the project on your local machine.
Make sure you have installed:
git clone https://github.com/GitH22Ash/Allotment_Tracker
cd Allotment_TrackerNavigate to the backend folder and install dependencies:
cd backend
npm installCreate a .env file inside backend/ and configure:
DATABASE_URL="postgres://postgres:[YOUR-PASSWORD]@db.xxxxxxxx.supabase.co:5432/postgres"
JWT_SECRET="a_very_strong_and_secret_key_that_you_should_change"
⚠️ Replace[YOUR-PASSWORD]with your actual database password.
⚠️ To generate a strong JWT secret, you can use the folowing python command in your terminal.python -c "import secrets; print(secrets.token_hex(32))"
Run database schema in Supabase SQL Editor using db_schema.sql present in the backend folder.
Start the backend server:
npm startServer runs at 👉 http://localhost:5000
cd frontend
npm install
npm run devFrontend runs at 👉 http://localhost:5173
Open your browser and go to http://localhost:5173 to start using the application.