Skip to content

GitH22Ash/CapstoneDesk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

48 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ CapstoneDesk: Advanced Project Management System πŸš€

Build Made with Platform State

A comprehensive, AI-powered cross-platform Web and Android application designed to streamline university project group registration, file submission, WebRTC video calling, supervisor assignment, and administrative management.

This system replaces manual workflows with a smart, fully digital solution featuring real-time communication, AI chatbots, and Excel data processing.


✨ Key Features

πŸ§‘β€πŸŽ“ Student Portal

  • Group Registration: Register teams of exactly 5 members. Validation ensures no duplicate registrations. Improved UI with password visibility toggles.
  • AI Mentor Chatbot: A Grok AI-powered AI assistant that answers project-related queries and provides guidance.
  • Project Submissions: Drag-and-drop Cloudinary uploading for PPTs and PDFs (up to 10MB). Students can dynamically delete incorrectly uploaded files.
  • Live Video Calls: Start direct WebRTC video calls with assigned supervisors (powered by Socket.IO signaling).

πŸ‘¨β€πŸ« Supervisor Portal

  • Group Management: View assigned groups with dedicated submission status indicators. Enter individual milestone review marks and let the dashboard auto-calculate final averages (validated 0-100).
  • AI PDF Summarizer: One-click Grok AI summaries for submitted student documents, saving countless reading hours.
  • Video Conferencing: Participate in live, browser-to-browser WebRTC video calls with student groups.
  • Profile Security: Secure password management and customizable group-load preferences.

βš™οΈ Admin Panel

  • Bulk Import (Excel): Instantly upload .xlsx files to onboard hundreds of Students and Supervisors.
  • Smart Assignment Engine: Run the auto-assignment algorithm to perfectly balance supervisor loads and group needs.
  • Entity Management: Manually create, delete (with cascade data wipe), and oversee all supervisors and groups.
  • Sentry Health Tracking: Comprehensive production error tracking and rate-limiting security.

πŸ’» Tech Stack

Category Technology
🎨 Frontend React.js (Vite), Tailwind CSS, Socket.IO Client
βš™οΈ Backend Node.js, Express.js, Socket.IO, Multer, Sentry
πŸ—„οΈ Database PostgreSQL (NeonDB), node-postgres (pg)
πŸ€– AI & Media Grok API (XAI_API_KEY), Cloudinary
πŸ”‘ Security JWT (JSON Web Tokens), Bcryptjs, Express-Rate-Limit
πŸ”„ DevOps GitHub Actions (CI build/lint pipeline)

πŸ“‚ Project Structure

πŸ“¦ CapstoneDesk
 ┣ πŸ“‚ backend
 ┃ ┣ πŸ“‚ routes         # Express API routes (groups, supervisors, admin, chatbot, videoCall...)
 ┃ ┣ πŸ“‚ middleware     # JWT Auth & Rate Limiters
 ┃ ┣ πŸ“œ db.js          # PostgreSQL connection pool
 ┃ ┣ πŸ“œ index.js       # Main server & Socket.IO initialization
 ┃ ┣ πŸ“œ db_schema.sql  # Run this in your DB to create all tables
 ┃ β”— πŸ“œ .env           # (Must be created by user)
 ┣ πŸ“‚ frontend
 ┃ ┣ πŸ“‚ src
 ┃ ┃ ┣ πŸ“‚ components   # React UI elements (Dashboards, AIChatbot, VideoCall, FileUpload)
 ┃ ┃ ┣ πŸ“œ App.jsx      # React Router declarations
 ┃ ┃ ┣ πŸ“œ index.css    # Tailwind CSS & custom glassmorphism styles
 ┃ ┃ β”— πŸ“œ api.js       # Axios instance with centralized JWT interceptors
 ┃ β”— πŸ“œ .env           # Frontend environment vars
 β”— πŸ“œ .github/workflows/ci.yml # CI setup

πŸ› οΈ Getting Started

Follow these instructions to set up and run the project locally.

βœ… Prerequisites

Make sure you have installed:


πŸš€ Installation & Setup

1️⃣ Clone the Repository πŸ“‚

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

2️⃣ Backend Setup βš™οΈ

Navigate to the backend folder and install dependencies:

cd backend
npm install

Create a .env file inside the backend/ folder and configure:

# Database
DATABASE_URL="postgres://postgres:[YOUR-PASSWORD]@db.example.co:5432/neondb"

# Auth
JWT_SECRET="generate_a_strong_secret_string"
ADMIN_EMAIL="admin@university.edu"
ADMIN_PASSWORD="supersecretpassword"

# Google Gemini API
GROK_API_KEY="your_grok_api_key"

# Cloudinary (File Uploads)
CLOUDINARY_CLOUD_NAME="your_cloud_name"
CLOUDINARY_API_KEY="your_api_key"
CLOUDINARY_API_SECRET="your_api_secret"

# Error Tracking (Optional but recommended)
SENTRY_DSN="your_sentry_dsn_url"

⚠️ Run the Database Schema: Execute the SQL statements inside backend/db_schema.sql on your PostgreSQL provider to correctly build the tables (supervisors, students, project_groups, submissions, video_rooms, etc.).

Start the backend server:

npm run dev

Server runs at πŸ‘‰ http://localhost:5000


3️⃣ Frontend Setup πŸ–₯️

Open a new terminal tab and navigate to the frontend:

cd frontend
npm install

Create a .env file inside the frontend/ folder:

VITE_BACKEND_URL="http://localhost:5000"

Start the Vite development server:

npm run dev

Frontend runs at πŸ‘‰ http://localhost:5173


4️⃣ Android App (Capacitor) πŸ“±

The project is fully wrapped with native Android support via Capacitor. To generate your own Android .apk:

  1. Ensure the frontend is built: cd frontend && npm run build
  2. Sync the assets to the Android library: npx cap sync
  3. Download and install Android Studio.
  4. Inside Android Studio, open the frontend/android/ folder.
  5. In the top nav menu, click Build > Generate App Bundles or APKs > Build APK(s).

πŸŽ‰ Usage Flow

  1. Admin Init: Log into the Admin panel (/admin/login) utilizing the .env credentials. Upload students and supervisors via Excel using the new Bulk Import feature.
  2. Student Signup: Students go to the landing page and register a 5-member group. They generate a custom group password for future logins.
  3. Admin Assortment: Admin clicks "Assign Groups" to automatically distribute student teams balancing supervisor loads.
  4. Collaboration: Students log into their dashboard. They can chat with the AI Mentor, drop files into the submission portal, or start a live Video call with their supervisor.
  5. Supervisor Review: Supervisors log in to see submissions, trigger AI-summaries on long PDFs, conduct video calls, and enter passing marks.

🎨 UI & Aesthetics

The project leverages a heavily customized Glassmorphism design language, employing deep, dynamic gradients (#3b82f6 to #06b6d4), translucent frosted-glass modal cards, subtle border opacities, and fluid keyframe animations (fade-in, scale up, hover glow effects) designed carefully in pure CSS paired with Tailwind utilities.

🀝 Contributing

Contributions are always welcome! Please create a pull request with detailed commit references describing your changes.

πŸ“„ License

Copyright (c) 2026. All Rights Reserved.

This project is proprietary and confidential. No part of this software may be copied, distributed, or modified without explicit written permission from the owner. See the LICENSE file for more details.