Next-Gen Learning Management System & Peer Mentorship Platform with Gamification and Verifiable Certifications
About Β· Architecture Β· Engineering Highlights Β· Peer Mentorship Β· Features Β· Getting Started Β· Demo Accounts
Tip
| Service | Status | Link | Note |
|---|---|---|---|
| Frontend Web Application | π’ Live | π Launch StudySync App | Hosted on Vercel |
| Spring Boot REST API | π’ Healthy | π View API Status Endpoint | Hosted on Render |
π Demo Credentials: user@studysync.com / password (Student) Β |Β admin@studysync.com / password (Admin)
StudySync is an enterprise-grade Learning Management & Peer Collaboration Platform engineered with a Design-First & Structured-Engagement philosophy. Traditional online learning management systems frequently suffer from high student dropout rates, static unassisted video content, and isolated learners struggling through difficult course modules without instant assistance.
StudySync bridges this gap by unifying five core pillars into a single full-stack ecosystem:
- Curated Modular Courses: HD video streaming, embedded PDF study guides, and module-level interactive quizzes.
- Verified Peer Mentorship: Connecting top-performing senior students directly with struggling juniors for 1-on-1 mentorship.
- Engagement & Gamification: Daily streak trackers, experience points (XP), unlocked milestone badges, and live competitive leaderboards.
- Verifiable Certification: Programmatic PDF certificate generation featuring unique UUID verification codes and an open public verification portal.
- Comprehensive Governance: Multi-tier Role-Based Access Control (Student, Mentor, Tutor, Admin) with forensic document audits and dispute resolution workflows.
StudySync adopts a decoupled 3-Tier Client-Server Architecture designed for high developer velocity, strict relational integrity, and real-time collaboration:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Presentation Layer (Frontend) β
β React 19 SPA β’ Vite β’ Tailwind CSS 4 β’ Framer Motion β
β Recharts β’ Lucide Icons β’ STOMP WebSocket Client β
βββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β HTTP REST / WebSocket (JWT Auth)
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Application Layer (Backend) β
β Spring Boot 3.5+ β’ Spring Security 6 β’ WebSockets β
β Spring Data JPA (Hibernate) β’ PDFBox Cryptographic Validator β
β iText PDF Engine β’ Bucket4j Rate Limiter β
βββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββ
β β
βΌ βΌ
βββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββ
β Persistence Layer β β External Cloud Services β
β MySQL 8 / H2 Memory β β β’ Cloudinary (Media Hosting) β
β ACID Relational Constraints β β β’ SMTP Mail Service β
βββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββ
- Framework: Spring Boot 3.5.x on Java 21 / 25
- Real-Time Messaging: Spring WebSockets with STOMP protocol & SockJS fallback
- Security: Spring Security + Stateless JWT + Persistent Refresh Token Rotation + Pessimistic Locking
- Data Access: Spring Data JPA with Hibernate ORM
- Database: MySQL 8.0 (Production) with zero-config H2 In-Memory fallback for testing
- Verification Engine: Apache PDFBox for digital signature & forensic transcript analysis
- Document Processing: iText / Lowagie for verifiable PDF certificate generation
- Framework: React 19 bootstrapped with Vite
- Styling: Tailwind CSS 4 with glassmorphism design system & complex animations
- Data Visualization: Recharts for analytics heatmaps and student performance trends
- Real-Time Client:
@stomp/stompjsfor live study rooms & mentorship telemetry
Prevents grade forgery by inspecting metadata streams and creator signatures in uploaded university transcripts (Apache PDFBox). Any post-export editing in graphics software (Canva, Photoshop, GIMP) invalidates the signature layer, causing the backend to automatically flag the upload for administrative inspection.
Session payments are held in a pessimistic write-locked TokenEscrow. Payouts are delayed until session telemetry validates a minimum 20-minute active WebSocket connection. The backend dynamically decays rating weights for repeat mentor-mentee pairs to prevent rating ring manipulations:
To protect student privacy, a Spring Boot scheduled cron job (@Scheduled(cron = "0 0 2 * * ?")) runs daily at 2:00 AM to automatically delete physical PDF binaries from storage 30 days post-verification while locking immutable SHA-256 receipts in the database forever.
Instead of flooding the backend API on every player tick (which occurs every 100ms and would flood the database under high concurrency), StudySync implements a 5% threshold sync throttle. Progress updates are dispatched to the server only when significant progress occurs, reducing database write operations by over 95%.
Token balances and escrow transactions utilize database-level pessimistic write locking (findByIdWithLock) to prevent race conditions during concurrent session bookings, guaranteeing token balances never drop below zero.
A verified Peer-to-Peer Mentorship Engine backed by an Anti-Collusion Token Economy, forensic transcript verification, and live study room telemetry.
[Junior Student] [Verified Senior Mentor]
(Struggling with Course) (Scored 'A' Grade in Course)
β β
ββββ 1. Books 1-on-1 Live Session (Escrow Hold) ββββββ>β
β β
β<ββ 2. Live WebSocket Study Room (Active Telemetry) β>β
β β
ββββ 3. Session End & Rating ββ> [Escrow Releases Tokens - 15% Platform Burn]
- Forensic Grade Verification: Apache PDFBox scanning flags edited PDFs. SHA-256 fingerprints prevent duplicate transcript reuse.
- Platform Token Burn (15% Commission Fee): Every session deducts a 15% non-refundable fee upon completion, making fake review rings economically unsustainable.
- Unique Mentee Thresholds: Mentors must achieve positive ratings across a minimum of 5 distinct mentees before unlocking top-rated badges or cash-out privileges.
- Live WebSocket Telemetry: Live STOMP heartbeats verify an active 20-minute interaction before escrow release is permitted.
- 4-Layer Student Data Privacy: Grade sheets are isolated from public view; profiles render only a verified badge (e.g., Grade S Verified).
- Peer Mentorship Discovery: Search for verified seniors by course code, department, rating, and hourly rate. Book live 1-on-1 sessions with escrow protection.
- Smart Discovery & Multi-Filter Search: Filter through approved courses by category, difficulty level, price range, and tutor ratings.
- Side-by-Side Course Comparison: Directly compare up to 3 courses simultaneously across price, curriculum depth, prerequisites, and learner ratings.
- Interactive Course Player: Auto-resumes playback, renders inline PDF guides, and tracks module progress with throttled sync.
- Module Quizzes & Assessments: Test comprehension with real-time graded multiple-choice questions and instant feedback.
- Gamification Engine: Learning streaks, experience points (XP), milestone badges, and global competitive leaderboards.
- Verifiable PDF Certificates: Download official completion certificates with unique tamper-proof UUID codes.
- Transcript Verification Portal: Upload official semester grade reports with 30-day auto-purge protection and SHA-256 receipts.
- Tutor Studio: Dedicated authoring workspace for drafting, editing, and publishing course modules (Cloudinary video URLs, PDF download links, and descriptions).
- Live Study Room: Real-time collaborative session room with active duration heartbeat tracking.
- Mentorship Escrow Wallet: Track pending vs. released study tokens, active sessions, and mentee feedback analytics.
- Admin Governance Dashboard: Complete manual override and forensic audit workstation:
- Flagged Transcript Review Queue: Inspect Apache PDFBox forensic anomalies and approve or reject submissions.
- Document Inspection Workstation: View official academic record sheets with zoom, print, and watermarking.
- Disputed Escrow Session Audit: Investigate reported sessions and execute manual token resolutions (
REFUND_MENTEEorRELEASE_MENTOR).
- User Governance: Search platform users, modify roles (
STUDENT,MENTOR,TUTOR,ADMIN), and instantly revoke access on abusive accounts. - Platform Switchboard: Toggle global maintenance mode and broadcast platform-wide notification banners.
- Java Development Kit (JDK): Version 17+ (JDK 21 or 25 recommended)
- Node.js: v18.x or higher (npm v9+)
- Database: MySQL 8.x (Configured with zero-config H2 in-memory mode out of the box for instant local development!)
-
Navigate to the backend directory:
cd studysync-backend -
(Optional) Configure your database credentials in
src/main/resources/application.propertiesif connecting to an external MySQL instance:spring.datasource.url=jdbc:mysql://localhost:3306/studysync spring.datasource.username=root spring.datasource.password=your_password
-
Run the application using the Maven wrapper:
# On Windows (PowerShell / Command Prompt) .\mvnw.cmd spring-boot:run # On Linux / macOS ./mvnw spring-boot:run
The backend will boot up at
http://localhost:8080.
-
Open a new terminal and navigate to the frontend directory:
cd studysync-frontend -
Install dependencies:
npm install
-
Start the Vite development server:
npm run dev
The frontend will launch at
http://localhost:5173.
On startup, the system automatically bootstraps demo accounts and sample data into the database:
| Role | Password | Access Rights | |
|---|---|---|---|
| Student | user@studysync.com |
password |
Course enrollment, video player, mentorship booking, quizzes, badges |
| Tutor | tutor@studysync.com |
password |
Tutor Studio, course creation, module uploads, quiz authoring |
| Admin | admin@studysync.com |
password |
Governance Dashboard, forensic transcript audits, escrow dispute resolution |
| Endpoint | Method | Role | Status | Description |
|---|---|---|---|---|
/api/auth/authenticate |
POST |
Public | β Active | Login & obtain JWT token |
/api/v1/mentorship/verify |
POST |
Student | β Active | Upload transcript PDF for forensic digital verification |
/api/v1/mentorship/sessions/book |
POST |
Student | β Active | Book 1-on-1 session with escrow hold |
/api/v1/mentorship/sessions/complete |
POST |
Student | β Active | Complete session, verify duration & trigger 15% burned release |
/api/v1/admin/mentorship/transcripts/flagged |
GET |
Admin | β Active | Retrieve flagged & pending transcripts for review |
/api/v1/admin/mentorship/transcripts/{id}/review |
PUT |
Admin | β Active | Approve/reject transcript and lock cryptographic receipt |
/api/v1/admin/mentorship/sessions/disputed |
GET |
Admin | β Active | Audit disputed escrow sessions & WebSocket duration logs |
/api/v1/admin/mentorship/sessions/{id}/resolve-dispute |
PUT |
Admin | β Active | Execute manual refund to mentee or release to mentor |
/api/courses |
GET |
Authenticated | β Active | Browse approved courses catalog |
/api/certificates/verify/{code} |
GET |
Public | β Active | Verify certificate validity by UUID |
Study-Sync/
βββ studysync-backend/ # Spring Boot 3 Java Application
β βββ src/main/java/com/studysync/studysyncbackend/
β β βββ config/ # SecurityConfig, WebSocketConfig, JwtAuthFilter, DataInitializer
β β βββ controller/ # Auth, Course, Mentorship, AdminMentorship, Quiz, Notifications
β β βββ dto/ # Request and Response Data Transfer Objects
β β βββ model/ # JPA Entities (User, MentorVerification, MentorVerificationReceipt, MentorshipSession, TokenEscrow)
β β βββ repository/ # Spring Data JPA Repositories
β β βββ service/ # MentorshipService, PdfVerificationService, RetentionScheduler, Escrow Logic
β βββ src/main/resources/
β β βββ application.properties # Database, JWT, Cloudinary & Mail configurations
β βββ pom.xml # Maven Dependencies & Build Setup
β βββ mvnw.cmd # Maven Wrapper
β
βββ studysync-frontend/ # React 19 + Vite Application
β βββ src/
β β βββ components/
β β β βββ admin/ # AdminGovernanceDashboard (Forensic inspection, disputes)
β β β βββ mentorship/ # MentorDiscovery, TranscriptUploadModal, BookSessionModal, LiveStudyRoomModal
β β β βββ VideoPlayer.jsx # Video playback, Quizzes, Sidebar
β β βββ pages/ # MentorshipPage, Dashboard, TutorStudio, AdminDashboard
β β βββ services/api.js # Axios client with JWT interceptor & auto-logout
β β βββ App.jsx # React Router setup & maintenance guards
β β βββ index.css # Tailwind CSS v4 styling rules
β βββ package.json # Node.js dependencies
β βββ vite.config.js # Vite configurations
β
βββ README.md # Project documentation
Any completion certificate contains a verifiable link in the format:
http://localhost:5173/verify/{CERTIFICATE_UUID}
The public verification endpoint performs a zero-trust database lookup to confirm:
- Student Name
- Course Name
- Graduation / Completion Date
- Authenticity Seal
Contributions are warmly welcomed! To get started:
- Fork the project repository.
- Create your Feature Branch:
git checkout -b feature/AmazingFeature
- Commit your Changes:
git commit -m 'Add: AmazingFeature' - Push to your Branch:
git push origin feature/AmazingFeature
- Open a Pull Request.
Harsha Appikatla
- GitHub: @HarshaAppikatla
- Project Repository: https://github.com/HarshaAppikatla/Study-Sync