Skip to content

About

"A comprehensive learning management platform connecting students and tutors. Features interactive dashboards, course creation tools, and progress tracking. Built with Java Spring Boot and React.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š StudySync

Next-Gen Learning Management System & Peer Mentorship Platform with Gamification and Verifiable Certifications

Launch Live App Β Β  API Status

Java Spring Boot React Vite Tailwind CSS MySQL JWT


Tip

🌐 Quick Live Access & Interactive Demo

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)


πŸ“– Executive Overview

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:

  1. Curated Modular Courses: HD video streaming, embedded PDF study guides, and module-level interactive quizzes.
  2. Verified Peer Mentorship: Connecting top-performing senior students directly with struggling juniors for 1-on-1 mentorship.
  3. Engagement & Gamification: Daily streak trackers, experience points (XP), unlocked milestone badges, and live competitive leaderboards.
  4. Verifiable Certification: Programmatic PDF certificate generation featuring unique UUID verification codes and an open public verification portal.
  5. Comprehensive Governance: Multi-tier Role-Based Access Control (Student, Mentor, Tutor, Admin) with forensic document audits and dispute resolution workflows.

πŸ›οΈ Architecture & Tech Stack

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           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Backend (Core Engine)

  • 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

Frontend (User Interface)

  • 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/stompjs for live study rooms & mentorship telemetry

⚑ Core Engineering & System Design Highlights

1. Cryptographic PDF Signature & Metadata Inspection

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.

2. Anti-Collusion Token Escrow & Rating Decay Engine

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: $$\text{Rating Weight} = \frac{1}{\text{Previous Sessions Between Pair}}$$

3. Automated 30-Day Retention Purge & Cryptographic Receipts

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.

4. Throttled Video Progress Synchronization

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%.

5. Multi-Threaded Concurrency & Pessimistic Locking

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.


🀝 Module 1: Peer-to-Peer Mentorship Engine

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]

πŸ›‘οΈ Key Protection Mechanisms

  • 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).

✨ Module 2: Role-Based Features & LMS Core

πŸŽ“ 1. For Students & Mentees

  • 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.

πŸ§‘β€πŸ« 2. For Verified Mentors & Tutors

  • 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.

πŸ›‘οΈ 3. For Administrators

  • 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_MENTEE or RELEASE_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.

πŸš€ Getting Started

Prerequisites

  • 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!)

Step 1: Start the Backend

  1. Navigate to the backend directory:

    cd studysync-backend
  2. (Optional) Configure your database credentials in src/main/resources/application.properties if connecting to an external MySQL instance:

    spring.datasource.url=jdbc:mysql://localhost:3306/studysync
    spring.datasource.username=root
    spring.datasource.password=your_password
  3. 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.


Step 2: Start the Frontend

  1. Open a new terminal and navigate to the frontend directory:

    cd studysync-frontend
  2. Install dependencies:

    npm install
  3. Start the Vite development server:

    npm run dev

    The frontend will launch at http://localhost:5173.


πŸ”‘ Demo Accounts

On startup, the system automatically bootstraps demo accounts and sample data into the database:

Role Email 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

🌐 Key API Endpoint Routes

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

πŸ“‚ Repository Structure

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

πŸ“œ Certificate Verification Example

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

🀝 Contributing

Contributions are warmly welcomed! To get started:

  1. Fork the project repository.
  2. Create your Feature Branch:
    git checkout -b feature/AmazingFeature
  3. Commit your Changes:
    git commit -m 'Add: AmazingFeature'
  4. Push to your Branch:
    git push origin feature/AmazingFeature
  5. Open a Pull Request.

πŸ“¬ Contact & Support

Harsha Appikatla

About

"A comprehensive learning management platform connecting students and tutors. Features interactive dashboards, course creation tools, and progress tracking. Built with Java Spring Boot and React.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages