A modern, responsive full-stack collegiate web platform built for students at JIS University / JIS Group of Institutions. The application matches classmates into highly compatible study groups based on departments, semesters, focused subjects, learning styles, and schedule availability.
- Intelligent Companion Matching: Automatically computes Compatibility % metrics based on department tracks, semester courses, overlapping subjects, and active study days.
- Glassmorphism Aesthetic UI: Gorgeous blue & white responsive interfaces featuring dark/light mode switches.
- Collegiate Group Hubs: Student-managed study workspaces equipped with live discussion board streams, calendar trackers, and shared files repository.
- Interactive Focus Pomodoro: circular focus timers utilizing arpeggiated browser Web Audio API alarms that increment consecutive daily study streaks.
- Study Streak Mechanics: Fire-flame widgets to cultivate consistent academic habits and check-in accountability.
- Platform Administration Console: Dedicated Professor/Admin controls to audit members, ban inappropriate materials, check department statistics, and oversee match rates.
- Frontend: React 19 + Tailwind CSS + Lucide Icons + Motion Layout Framer
- Backend: Node.js v18+ + Express.js API routers + JWT Passporting
- Database Model: MongoDB schema architecture, abstraction managed with a persistent, seed-rich JSON Database (
/server/db.ts) for zero-configuration startup. See below for Atlas migration instructions! - Authentication: JWT Authorization + Cryptographic Password Salts (
bcryptjs)
/
├── .env.example # Environment variables definition documentation
├── db.json # Preserved student profiles, conversations & streaks
├── index.html # Vite HTML primary mount point
├── metadata.json # AI Studio Applet Configurations
├── package.json # Npm package dependencies and esbuild routers
├── server.ts # Full-stack entry combining Express controllers & API Router
├── tsconfig.json # Typescript compiler guidelines
├── vite.config.ts # Vite asset Bundlers & reverse proxies
├── server/
│ ├── db.ts # Database models, schemas, and live database state CRUDs
│ └── middleware/
│ └── authMiddleware.ts # JWT authentication guard layer
├── src/
│ ├── App.tsx # Master React interface rendering landing, matchers and rooms
│ ├── index.css # Tailwinds setup with Google fonts and Glassmorphic presets
│ ├── main.tsx # React client bootstrapping
│ ├── types.ts # Shared typescript interfaces (User, Group, Stats, Messages)
│ └── components/
│ ├── AdminPanel.tsx # University dashboard analytics & moderation tools
│ ├── CalendarWidget.tsx# Peer scheduling meetups with mock Google Cal sync switches
│ └── PomodoroTimer.tsx # Visual Circle Study Timer with arpeggiated bleeps synthesizer
Ensure you have Node.js (v18+) and npm installed on your workstation.
npm installnpm run devOpen http://localhost:3000 on your local browser to play with the platform!
npm run buildnpm run startTesting is simple! Use the preselected JIS accounts to log in instantly (password: student123):
- CSE Student:
ananya.sen@jis.edu(Has active study groups and a 8-day streak) - IT Student:
rohit.das@jis.edu(Compatible partner with discrete math doubts) - Faculty / Staff Admin:
admin@jis.edu(Has complete Access to admin statistics & moderation graphs)
The system is fully modular and MVC schema compliant. To swap the local file database with a live Mongo/Mongoose environment:
- Replace
/server/db.tsfile operations with standard Mongoose connections:import mongoose from 'mongoose'; mongoose.connect(process.env.MONGODB_URI);
- Port our TypeScript interfaces in
/src/types.tsdirectly into Mongoose models:const UserSchema = new mongoose.Schema({ name: String, email: { type: String, unique: true }, passwordHash: String, streakDays: { type: Number, default: 1 }, // ... });
- Update API endpoints inside
server.tsto perform async MongoDB commands (User.find(),Group.create())!
- Whiteboards Integration: Integrating collaborative canvas sheets (using socket connections or Fabric.js) inside the Study Workspace.
- Micro-credential Rewards: Reward verified digital badges to students matching 15+ consecutive focus timer sessions.
- Exams Syllabus AI Grounding: Integrate process.env.GEMINI_API_KEY inside the groups notes area to summarize user-shared pdf notes instantly.