Skip to content

Latest commit

Β 

History

160 Commits

Folders and files

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

Repository files navigation

RoboLearn Project Banner

Live Demo React Node.js Express MongoDB Vite JWT

robot animation

A modern, interactive, and scalable Robotics & STEM Education ecosystem for schools, students, and teachers β€” combining lab setup, curriculum, an AI consultant, dashboards, competitions, and certificate verification into one connected platform.


πŸ“‘ Table of Contents


🌟 Overview

RoboLearn turns traditional classrooms into future-ready STEM labs. It bundles together everything a school needs to run a Robotics/AI/IoT program β€” from an AI-powered consultant that answers curriculum and lab-setup questions, to role-based dashboards for Admins, Schools, Teachers, and Students, to a certificate verification system, support ticketing, and a student innovation showcase.

It's built as a single full-stack MERN application with a clean, futuristic dark navy / electric blue / cyan design language.

πŸ”— Live Demo

πŸ‘‰ robo-learn-ten.vercel.app


✨ Core Features

Module What it does
🏠 Interactive Homepage Hero section, why-robotics, services overview, lab setup process, trust stats, consultation CTA
🧠 AI Robotics Consultant Chat-style assistant that answers lab, curriculum, and kit-recommendation questions
πŸ—οΈ Smart Lab Planner Takes student count, grade level, budget & goals β†’ suggests a lab configuration
πŸ“š Curriculum Explorer Grade β†’ Subject β†’ Level β†’ Module β†’ Project β†’ Skills learning flow (Grade 3–12)
πŸŽ“ Student & Teacher Training Structured, project-based training tracks (Arduino, IoT, AI, PCB, embedded systems)
πŸ€– Products Catalog Robotics kits, sensors, controllers, dev boards, electronics components
πŸš€ Student Innovation Showcase Students publish projects with problem statement, components, demo video
πŸ† Competition Hub Monthly challenges, submissions, leaderboards, winner showcase
🏫 School Dashboard Training progress, curriculum progress, certificates, support tickets, analytics
πŸŽ“ Digital Certificates Unique ID + QR-code based public certificate verification
🎫 Support Portal Ticketing system with priority, categories, file uploads, status tracking
πŸ” Role-Based Auth JWT-secured Admin / School / Teacher / Student roles with protected routes

Some modules above represent the platform's full product vision β€” see Roadmap for what's shipped vs. planned.


🧩 System Design

High-Level Architecture

flowchart TD
    A["Client - React + Vite<br/>Tailwind CSS UI"] -->|HTTPS / REST API| B["Express.js Server"]
    B --> C["JWT Auth Middleware"]
    C --> D["Route Controllers"]
    D --> E[("MongoDB Atlas")]
    D --> F["AI Consultant Service<br/>(LLM API)"]
    D --> G["Certificate / QR Service"]
    B --> H["Cloud Storage<br/>(images, uploads)"]
    A -->|Deployed on| I["Vercel"]
    B -->|Deployed on| J["Render / Railway"]
Loading

Request Lifecycle

sequenceDiagram
    participant U as User (Browser)
    participant F as React Frontend
    participant API as Express API
    participant Auth as JWT Middleware
    participant DB as MongoDB

    U->>F: Interacts (login, form, dashboard)
    F->>API: REST request + JWT token
    API->>Auth: Verify token & role
    Auth-->>API: Authorized
    API->>DB: Query / Mutate data
    DB-->>API: Result
    API-->>F: JSON response
    F-->>U: Render updated UI
Loading

Role-Based Access Model

flowchart LR
    Admin["πŸ‘‘ Admin"] --> M1["Manage Schools, Users, Curriculum,<br/>Certificates, Competitions, Content"]
    School["🏫 School"] --> M2["Dashboard, Training Progress,<br/>Certificates, Support Tickets"]
    Teacher["πŸ‘¨β€πŸ« Teacher"] --> M3["Training Resources,<br/>Student Progress"]
    Student["πŸŽ“ Student"] --> M4["Curriculum, Challenges,<br/>Project Submission, Certificates"]
Loading

Design principles:

  • Separation of concerns β€” frontend (React/Vite) is fully decoupled from the backend (Express REST API).
  • Stateless auth β€” JWT tokens carry role claims; every protected route is guarded by middleware, not client-side checks alone.
  • Single source of truth β€” MongoDB stores users, schools, curriculum, certificates, and tickets as normalized collections.
  • Extensibility β€” the AI consultant and certificate/QR system are built as independent services so they can be swapped or scaled separately from the core API.

πŸ› οΈ Tech Stack

Layer Technology
Frontend React, Vite, Tailwind CSS
Backend Node.js, Express.js
Database MongoDB (Mongoose)
Auth JWT, bcrypt password hashing
AI Layer LLM-based consultant integration
Deployment Vercel (frontend), Render/Railway (backend)
Design Theme Dark Navy Β· Electric Blue Β· Cyan Accents

πŸ“ Folder Structure

robolearn/
β”œβ”€β”€ client/                    # React + Vite frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/        # Navbar, Sidebar, Cards, Widgets
β”‚   β”‚   β”œβ”€β”€ pages/              # Home, Dashboard, Curriculum, Products, etc.
β”‚   β”‚   β”œβ”€β”€ context/            # Auth & global state
β”‚   β”‚   β”œβ”€β”€ services/           # API calls (axios)
β”‚   β”‚   └── assets/
β”‚   └── vite.config.js
β”‚
β”œβ”€β”€ server/                    # Node + Express backend
β”‚   β”œβ”€β”€ models/                 # User, School, Curriculum, Certificate, Ticket
β”‚   β”œβ”€β”€ routes/                 # REST endpoints per module
β”‚   β”œβ”€β”€ controllers/            # Business logic
β”‚   β”œβ”€β”€ middleware/             # JWT auth, role guard, error handler
β”‚   └── server.js
β”‚
└── README.md

πŸ” Roles & Access

Role Access
πŸ‘‘ Admin Full control β€” schools, users, products, curriculum, competitions, certificates, tickets, analytics
🏫 School School dashboard, training & curriculum progress, certificates, support tickets
πŸ‘¨β€πŸ« Teacher Training resources, curriculum tracking, student activity
πŸŽ“ Student Curriculum access, competitions, project submission, certificates

βš™οΈ Getting Started

# Clone the repository
git clone https://github.com/Akshatsrii/robolearn.git
cd robolearn

# Install frontend
cd client
npm install
npm run dev

# Install backend (in a new terminal)
cd ../server
npm install
npm run dev

πŸ”‘ Environment Variables

Create a .env file inside server/:

PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
AI_API_KEY=your_ai_provider_key

πŸš€ Roadmap

  • Real-time notifications (Socket.IO)
  • Mobile application
  • AI-based personalized learning recommendations
  • Gamification & achievement badges
  • National robotics leaderboard
  • Parent dashboard
  • Multilingual support

🎯 Mission

To make Robotics, AI, IoT, Coding, and Electronics accessible to students through practical, project-based education β€” and give schools the tools to run a modern STEM program end-to-end.


πŸ‘€ Author

Akshat Srivastava

GitHub LeetCode

About

RoboLearn is an AI-powered EdTech platform that enables students to learn robotics, AI, and software development through interactive courses, hands-on projects, live mentorship, and personalized learning experiences. Built with a modern full-stack architecture for scalability and seamless user engagement.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages