Skip to content

Lyceum is an winning project developed by Team XtraDrill, champion of the Dhaka Divisional Hackathon 2024 - Technocrats v.2, recognized for its innovative approach to educational technology and exceptional implementation.

License

Notifications You must be signed in to change notification settings

takitajwar17/lyceum-iubat-hackathon

Repository files navigation

Lyceum - Your Interactive Coding and Learning Platform

πŸ† Created by Team XtraDrill for IUBAT Hackathon

πŸŽ‰ Champion of Dhaka Divisional Hackathon 2024 - Technocrats v.2 organized by IIEC IUBAT - Recognized for innovation in educational technology and exceptional implementation!

Lyceum is a modern educational platform built with Next.js, designed to provide an immersive and structured learning experience for aspiring developers. Named after Aristotle's ancient school, Lyceum combines traditional learning principles with modern technology to create an engaging educational journey. image

πŸš€ Features

Learning Platform

  • Curated educational videos from top programming channels
  • Video search functionality
  • Organized learning materials by topic
  • Interactive video lessons with detailed descriptions

Learning Platform Flow:

  1. Browse curated videos image

  2. View a video: image

  3. Run Code: image

  4. Get Review: image

Roadmaps

  • AI-powered learning path generation
  • Custom roadmap creation based on your goals
  • Progress tracking for each roadmap
  • Detailed step-by-step guidance
  • Share and explore community roadmaps

Roadmap Creation Flow:

  1. Create custom roadmap image

  2. View generated roadmap image

  3. Track your progress image

Quest System

  • Time-based coding challenges
  • Categorized quests (Upcoming, Active, Past)
  • Real-time quest status tracking
  • Detailed quest descriptions and requirements
  • Quest completion tracking

Quest System Flow:

  1. Browse available quests image

  2. View quest details WhatsApp Image 2024-12-06 at 17 23 06_2af1fdc2

  3. Track quest marks image

  4. Track quest evaluation image

AI Assistant (Future Scope)

  • Intelligent learning support
  • Code explanation and debugging help
  • Personalized learning recommendations
  • Interactive problem-solving guidance
  • Quick answers to programming questions

Authentication

  • Secure user authentication powered by Clerk
  • User profile management
  • Role-based access control
  • Secure session handling
  • Social login integration

Authentication Flow:

image

πŸ“ Project Structure

β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ admin/         # Admin panel components
β”‚   β”œβ”€β”€ api/          # API routes
β”‚   β”œβ”€β”€ components/   # Reusable UI components
β”‚   β”œβ”€β”€ dashboard/    # User dashboard
β”‚   β”œβ”€β”€ learn/        # Learning platform
β”‚   β”œβ”€β”€ quests/       # Quest system
β”‚   β”œβ”€β”€ roadmaps/     # Learning roadmaps
β”‚   └── layout.jsx    # Root layout component
β”œβ”€β”€ lib/             # Utility functions and actions
β”œβ”€β”€ public/          # Static assets
└── components/      # Shared components

πŸ› οΈ Tech Stack

  • Framework: Next.js 14
  • Authentication: Clerk
  • Styling: Tailwind CSS
  • UI Components:
    • Radix UI
    • Chakra UI
    • Framer Motion
  • Database: MongoDB with Mongoose
  • Code Editor: Monaco Editor
  • Markdown: React Markdown with GFM
  • Analytics: Vercel Analytics & Speed Insights

🚦 Getting Started

  1. Clone the repository
git clone https://github.com/takitajwar17/lyceum-iubat-hackathon.git
  1. Install dependencies
npm install
  1. Set up environment variables Create a .env.local file with the following variables:
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
WEBHOOK_SECRET=your_webhook_secret

# MongoDB
MONGODB_URI=your_mongodb_uri

# AI Services
GROQ_API_KEY=your_groq_api_key
PLAGIARISM_CHECK_API_KEY=your_plagiarism_check_api_key

# URLs
NEXT_PUBLIC_SOCKET_SERVER_URL=http://localhost:3000
NEXT_PUBLIC_FRONTEND_URL=http://localhost:3000

# Clerk Redirect URLs
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard

# YouTube API
NEXT_PUBLIC_YOUTUBE_API_KEY=your_youtube_api_key

You can find an example in the .env.example file. Make sure to replace all placeholder values with your actual API keys and credentials.

  1. Run the development server
npm run dev
  1. Build for production
npm run build

πŸ“ Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm start - Start production server
  • npm run lint - Run ESLint

πŸ“œ License

This project is licensed under the MIT License.


Created with πŸ’» by Team XtraDrill for IUBAT Hackathon

About

Lyceum is an winning project developed by Team XtraDrill, champion of the Dhaka Divisional Hackathon 2024 - Technocrats v.2, recognized for its innovative approach to educational technology and exceptional implementation.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •