Skip to content

GitH22Ash/Allotment_Tracker

Repository files navigation

🎓 Project Allocator & Management System 🚀

Build
Made with

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.


✨ Key Features

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.

💻 Tech Stack

Category Technology
🎨 Frontend React.js (Vite), Tailwind CSS
⚙️ Backend Node.js, Express.js
🗄️ Database PostgreSQL (Supabase)
🔑 Auth JWT (JSON Web Tokens), bcrypt

📂 Project Structure

📦 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.md

🛠️ Getting Started

Follow these instructions to set up and run the project on your local machine.

✅ Prerequisites

Make sure you have installed:


🚀 Installation & Setup

1️⃣ Clone the Repository 📂

git clone https://github.com/GitH22Ash/Allotment_Tracker
cd Allotment_Tracker

2️⃣ Backend Setup ⚙️

Navigate to the backend folder and install dependencies:

cd backend
npm install

Create 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 start

Server runs at 👉 http://localhost:5000


3️⃣ Frontend Setup 🖥️

cd frontend
npm install
npm run dev

Frontend runs at 👉 http://localhost:5173


🎉 Access the Application

Open your browser and go to http://localhost:5173 to start using the application.


📸 Screenshots

🔐 Student Group Registration

📊 Supervisor Login

🎥 Admin Panel

🎥 DB Schema


About

Capstone Project (Initial)

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages