π 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.
- Curated educational videos from top programming channels
- Video search functionality
- Organized learning materials by topic
- Interactive video lessons with detailed descriptions
- 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
- Time-based coding challenges
- Categorized quests (Upcoming, Active, Past)
- Real-time quest status tracking
- Detailed quest descriptions and requirements
- Quest completion tracking
- Intelligent learning support
- Code explanation and debugging help
- Personalized learning recommendations
- Interactive problem-solving guidance
- Quick answers to programming questions
- Secure user authentication powered by Clerk
- User profile management
- Role-based access control
- Secure session handling
- Social login integration
βββ 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
- 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
- Clone the repository
git clone https://github.com/takitajwar17/lyceum-iubat-hackathon.git
- Install dependencies
npm install
- 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.
- Run the development server
npm run dev
- Build for production
npm run build
npm run dev
- Start development servernpm run build
- Build for productionnpm start
- Start production servernpm run lint
- Run ESLint
This project is licensed under the MIT License.
Created with π» by Team XtraDrill for IUBAT Hackathon