The Open-Source Learning Management System for Real-World Tech Education
Oriva Tech Camp (OTC) is a full-stack, open-source Learning Management System designed to simulate real-world tech industry workflows. We host a 3-month intensive bootcamp with specialized tracks in:
- π¨ Frontend Development β React, Next.js, Tailwind CSS
- βοΈ Backend Engineering β Node.js, APIs, Databases
- π§ͺ Software Testing β QA automation, test strategies
- π¬ Video Editing β Production & post-production skills
Our Mission: Prepare learners for the job market with hands-on experience, real instructor feedback, gamification, and peer collaboration.
| Feature | Description | Impact |
|---|---|---|
| π₯ Role-Based Dashboards | Customized views for Students, Instructors, and Admins | Personalized workflows for each user |
| π― Live Sessions | Real-time classes with countdown timers & automated attendance | Engagement & attendance tracking |
| π Gamification | Points system, leaderboards, and achievement badges | Motivates learners to excel |
| π Task Portal | GitHub link submissions + file uploads with instructor review | Collaborative learning |
| π Analytics & Progress | Real-time progress tracking and performance insights | Data-driven learning paths |
| π¬ Peer Feedback | Community discussions and instructor-led reviews | Supportive learning environment |
βββββββββββββββββββββββββββββββββββββββββββ
β π Frontend (Next.js 14+) β
β β¨ React | Tailwind CSS | TypeScript β
ββββββββββββββ¬βββββββββββββββββββββββββββββ
β
β
βββββββββββββββββββββββββββββββββββββββββββ
β π Authentication & Backend β
β Supabase (PostgreSQL) β
β Auth | Realtime | Storage | Edge Fn β
ββββββββββββββ¬βββββββββββββββββββββββββββββ
β
β
βββββββββββββββββββββββββββββββββββββββββββ
β βοΈ Deployment (Vercel + Supabase) β
β Edge Functions | CDN | Auto-scaling β
βββββββββββββββββββββββββββββββββββββββββββ
- Framework: Next.js (App Router)
- Styling: Tailwind CSS β utility-first, responsive design
- Language: TypeScript for type safety
- Backend: Supabase β PostgreSQL, Auth, Realtime, Storage
- Deployment: Vercel for serverless hosting & edge computing
Ensure you have the following installed:
- Clone the repository:
git clone https://github.com/your-org/oriva-tech-camp.git
cd oriva-tech-camp- Install dependencies:
npm install
# or
pnpm install- Set up environment variables:
cp .env.example .env.localThen fill in your Supabase credentials from supabase.com.
- Start the development server:
npm run devOpen http://localhost:3000 in your browser. π
oriva-tech-camp/
βββ app/ # Next.js App Router
β βββ dashboard/ # Role-based dashboard routes
β βββ sessions/ # Live session management
β βββ tasks/ # Task portal
β βββ leaderboard/ # Gamification leaderboard
β βββ layout.tsx # Root layout
β
βββ components/ # Reusable React components
β βββ ui/ # Base UI primitives
β βββ dashboard/ # Dashboard-specific components
β βββ common/ # Shared components
β
βββ lib/ # Utility functions & configs
β βββ supabase/ # Supabase clients & helpers
β βββ auth.ts # Authentication logic
β βββ hooks/ # Custom React hooks
β
βββ public/ # Static assets
β
βββ docs/ # Project documentation
β βββ ARCHITECTURE.md # System architecture
β
βββ .env.example # Environment variables template
βββ next.config.ts # Next.js configuration
βββ tsconfig.json # TypeScript configuration
βββ tailwind.config.ts # Tailwind CSS configuration
- View personalized dashboard with progress tracking
- Join live sessions with real-time attendance
- Submit tasks (GitHub links, files, or text)
- Track points and compete on leaderboards
- Access instructor feedback and peer discussions
- Create and schedule live sessions
- Design and post tasks for students
- Review submissions with inline feedback
- Award points and manage leaderboards
- Monitor classroom attendance and engagement
- Manage users (students, instructors, admins)
- Configure course tracks and session schedules
- View system analytics and reports
- Manage platform settings and integrations
- Monitor platform health and performance
Our system follows a client-server architecture with strong separation of concerns:
Client (Browser)
β
Next.js (App Router)
ββ Server Components (SSR)
ββ Client Components (Interactivity)
ββ API Routes (Server Actions)
β
Supabase Backend
ββ PostgreSQL Database
ββ Auth & RLS (Row-Level Security)
ββ Realtime Subscriptions
ββ File Storage
ββ Edge Functions
Key Principles:
- β Server components for data fetching (privacy & performance)
- β Client components for interactivity (UI state)
- β RLS policies for database-level security
- β Realtime subscriptions for live updates
For more details, see docs/ARCHITECTURE.md.
- Contributing Guide β How to contribute code & docs
- Architecture Overview β System design & database schema
- Code of Conduct β Community standards
- π¬ GitHub Discussions β Ask questions
- π GitHub Issues β Report bugs
- π§ Email: contact@orivatechcamp.org
We β€οΈ contributions! Whether you're fixing bugs, adding features, or improving docs, your help matters.
- Code & Features β Submit PRs for new features or bug fixes
- Documentation β Improve guides, examples, and architecture docs
- Design & UX β Enhance UI/UX and accessibility
- Testing β Write tests and improve coverage
- Volunteer β Become an instructor or community mentor
- Sponsorship β Support the project financially
# 1. Fork and clone
git clone https://github.com/<your-username>/oriva-tech-camp.git
cd oriva-tech-camp
# 2. Create a feature branch
git checkout -b feat/your-feature-name
# 3. Install & develop
npm install
npm run dev
# 4. Commit with conventional messages
git commit -m "feat(dashboard): add student progress widget"
# 5. Push and open a PR
git push origin feat/your-feature-nameSee CONTRIBUTING.md for detailed guidelines.
- β Role-based dashboards (Student, Instructor, Admin)
- β Live session scheduling & attendance
- β Task submission & feedback system
- β Points & leaderboard system
- π Mobile app (React Native)
- π AI-powered assistant for code review
- π Advanced analytics & performance insights
- π Community forum & knowledge base
- π Integrations (Slack, Discord, Gmail)
- π Certification program
OTC is made possible by the contributions of our amazing community and sponsors.
- Looking for sponsors to support open-source education
If you'd like to sponsor OTC, please reach out to sponsors@orivatechcamp.org.
This project is licensed under the MIT License β see LICENSE for details.
β
Free to use, modify, and distribute
β
Commercial use permitted
β
Attribution required
β
Patent indemnification
| Resource | Link |
|---|---|
| π Docs | docs/ARCHITECTURE.md |
| π€ Contributing | CONTRIBUTING.md |
| π Code of Conduct | CODE_OF_CONDUCT.md |
| π Report a Bug | GitHub Issues |
| π‘ Request a Feature | GitHub Issues |
| π¬ Discussions | GitHub Discussions |
If you find OTC helpful, please consider:
- β Star this repository on GitHub
- π¦ Share on social media (Twitter, LinkedIn)
- π’ Tell a friend about the project
- π¬ Join discussions and help the community
- π€ Contribute code, docs, or ideas
Made with β€οΈ by the Oriva Tech Camp Community
Β© 2026 Oriva Tech Camp. All rights reserved.
π Get Started Now β’ π Read the Docs β’ π€ Contribute