A modern, AI-powered Learning Management System built with the latest web technologies. This platform provides a seamless experience for both students and administrators, featuring AI-driven tools for content creation, grading, and personalized learning.
- 📚 Course & Lesson Management: Easily create, update, and organize courses and lessons through a user-friendly admin panel.
- 🤖 AI Content Creation:
- Course from Text: Generate a complete course structure from a block of raw text.
- Image Generation: Automatically design a unique banner illustration for each course using AI.
- Text-to-Speech: Create audio versions of text lessons with a single click.
- 📝 Assignments & Quizzes:
- AI-Powered Grading: Get instant, detailed feedback on assignments.
- Quiz Generation: Automatically create quizzes from selected lesson content.
- 👤 User & Admin Roles: Separate dashboards and functionalities for students and administrators.
- 🌐 Interactive Code Playground: A project-based coding environment where students can practice and save their work.
- 💬 Community Discussion Board: A forum for students to ask questions and collaborate.
- 🔔 Notification System: Keep users updated on new assignments, grades, and discussion replies.
- Framework: Next.js (with App Router)
- UI: React, ShadCN UI, Tailwind CSS
- State Management: React Hooks & Context API
- Backend & Database: Firebase (Firestore, Authentication, Storage)
- Generative AI: Google AI with Genkit
- Deployment: Firebase App Hosting
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
-
Clone the repository:
git clone https://github.com/ojtechbot/Apojtech.git cd Apojtech
-
Install NPM packages:
npm install
-
Set up Firebase:
- Create a new project on the Firebase Console.
- Go to Project Settings > General.
- Under "Your apps", select the Web app icon (
</>
). - Copy the
firebaseConfig
object. - Paste the config into
src/lib/firebase.ts
, replacing the existing placeholder config.
-
Run the development server:
npm run dev
Open http://localhost:9002 with your browser to see the result.
.
├── src
│ ├── ai # Genkit flows and AI-related logic
│ ├── app # Next.js App Router pages and layouts
│ │ ├── admin # Admin-specific pages
│ │ ├── (student) # Student-facing pages (implicit layout)
│ │ └── api # API routes (used by Genkit)
│ ├── components # Reusable UI components
│ │ ├── layout # Header, Sidebar, etc.
│ │ └── ui # ShadCN UI components
│ ├── hooks # Custom React hooks (e.g., useAuth)
│ ├── lib # Core libraries and utilities (Firebase, types)
│ └── services # Data-fetching services
├── public # Static assets
└── ... # Configuration files
This project provides a robust foundation for building a full-featured, AI-enhanced LMS. Enjoy exploring and building!