A comprehensive virtual classroom platform for interactive online education
Nexus is a powerful Learning Management System (LMS) designed to facilitate seamless online education. Built with Laravel 8, Nexus provides educators and students with a comprehensive platform featuring interactive whiteboards, real-time quizzes, live class management, and collaborative learning tools.
Whether you're running a school, training program, or online course, Nexus offers all the essential features to create engaging virtual classrooms with real-time interaction and assessment capabilities.
- Multi-role system (Admin, Teacher, Student)
- Secure email-based authentication
- Email verification and password reset
- Role-based permissions and access control
- API token authentication with Laravel Sanctum
- Create and manage multiple courses
- Auto-generated unique 6-character course codes
- Course categorization with sections, subjects, and rooms
- Archive/unarchive functionality
- Easy course enrollment via unique codes
- Auto-accept or approval-based enrollment
- Add/remove teachers and students
- Role assignment (Admin/Moderator for teachers)
- Advanced search functionality (name, email, phone)
- Bulk enrollment support
- Approval workflow for course access
- Create and manage class schedules
- Start/end time tracking with live status indicators
- Optional meeting link integration
- Automatic whiteboard generation per session
- Class routine/timetable view
- Multi-page whiteboard with unlimited pages
- Drawing tools:
- Pencil/brush with adjustable thickness (1-20px)
- Eraser tool
- Image upload capability
- 8+ color palette options
- Canvas reset/clear function
- Real-time synchronization
- Teacher drawing permissions, student view-only mode
- PDF export for whiteboard content
- Thumbnail previews and easy page navigation
- Create multiple-choice quizzes with HTML support
- Question management (create, edit, delete, close)
- Quiz-taking features:
- One question per page with pagination
- Randomized answer options
- Local storage for answer persistence
- One-time submission (no retakes)
- Auto-scoring system (1 point per correct answer)
- Results & Rankings:
- Student leaderboard per quiz
- Comprehensive score tracking
- Teacher view of all student results
- Quiz date-based grouping
- Course-based discussion threads
- Nested comment reply system
- Real-time messaging during live classes
- Schedule-specific conversations
- Personalized dashboard for all user types
- Course categorization (Active, Pending, Archived)
- Class timetable view
- Quick statistics overview
- Framework: Laravel 8.75
- Language: PHP 7.3 / 8.0
- Database: MySQL / MariaDB
- Authentication: Laravel Sanctum, Laravel Breeze
- PDF Generation: DomPDF
- HTTP Client: Guzzle
- Templating: Blade (Laravel)
- CSS Framework: Tailwind CSS 3.1, Bootstrap 4
- JavaScript: Alpine.js 3.4.2, jQuery 3.4.1
- Icons: Font Awesome
- Asset Bundling: Vite
- CSS Processing: PostCSS, Autoprefixer
- Testing: PHPUnit
- Environment: Laravel Sail (Docker support)
Before installing Nexus, ensure your system meets the following requirements:
- PHP: 7.3 or higher (8.0 recommended)
- Node.js: 14.x or higher
- Composer: 2.0 or higher
- Database: MySQL 5.7+ or MariaDB 10.3+
- Web Server: Apache 2.4+ / Nginx (XAMPP, WAMP, or similar)
- Git: For cloning the repository
- NPM: For frontend dependencies
Follow these steps to get Nexus up and running on your local machine:
Ensure you have the following installed on your system:
- XAMPP (or similar local server environment)
- Composer
- Git Bash (or any Git client)
- Node.js and NPM
git clone https://github.com/kachi33/genika_project.git
cd genika_projectInstall PHP dependencies via Composer:
composer installInstall Node.js dependencies and build assets:
npm install && npm run devDuplicate the .env.example file and rename it to .env:
cp .env.example .envCreate your database in MySQL/MariaDB, then update the .env file with your database credentials:
DB_DATABASE=your_database_name
DB_USERNAME=your_database_username
DB_PASSWORD=your_database_passwordphp artisan key:generatephp artisan migratephp artisan serveYour application should now be running at http://localhost:8000
Nexus supports three distinct user roles, each with specific permissions:
- Full course management (create, edit, delete, archive)
- Add/remove teachers and students
- Create and manage schedules
- Create and manage quizzes
- Access to all whiteboard tools
- View all results and analytics
- Manage course content within assigned courses
- Add/remove students
- Create and manage schedules
- Create and manage quizzes
- Draw on whiteboards during live classes
- View student results and performance
- Participate in discussions
- Enroll in courses via course codes
- View class schedules and timetable
- Take quizzes and view personal results
- View whiteboards during live classes (read-only)
- Participate in course discussions
- Access course materials
- Register as a Teacher at
/register - Create a Course from the dashboard
- Share the course code with students
- Create a Schedule for your first class
- Start teaching using the interactive whiteboard
- Register as a Student at
/register - Join a Course using the course code provided by your teacher
- View your Schedule in the routine/timetable
- Attend Classes and participate in quizzes
- Navigate to the Dashboard
- Click "Create New Course"
- Fill in course details (name, section, subject, room)
- Save the course and note the auto-generated course code
- Share the code with students or manually add them
- Go to your course page
- Navigate to "Quiz" section
- Click "Add Question"
- Enter the question text and provide one correct answer and three options
- Save and repeat for additional questions
- Students can take the quiz immediately
- Create a schedule for your class
- Navigate to the schedule at class time
- Open the Whiteboard
- Use drawing tools to teach:
- Select pencil and choose color
- Adjust brush thickness
- Upload images if needed
- Add new pages as needed
- Export to PDF when done
We're constantly working to improve Nexus. Here are some features we're planning:
- Mobile Applications (iOS & Android)
- Video Conferencing Integration (Zoom, Google Meet, Microsoft Teams)
- Assignment Submission System with file uploads
- Grade Book & Advanced Analytics
- Mobile-Responsive UI Improvements
- Real-Time Push Notifications
- Advanced Reporting Dashboard for administrators
- Calendar Integration (Google Calendar, iCal)
- Attendance Tracking System
- Certificate Generation upon course completion
- Multi-language Support
- Dark Mode Theme
- AI-Powered Quiz Generation
- Screen Sharing & Recording for live classes
- Breakout Rooms for group activities
- Integration APIs for third-party LMS tools
Nexus is a private repository, but we welcome contributions from approved collaborators. If you'd like to contribute:
- Fork the repository (requires permission)
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- All contributions are strictly monitored and reviewed
- Follow Laravel coding standards and best practices
- Write clear commit messages
- Test your changes thoroughly before submitting
- Update documentation as needed
This project is licensed under the Apache License 2.0.
For issues, questions, or feature requests, please open an issue on the repository.
Built with β€οΈ