Skip to content

kachi33/Nexus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Nexus - Learning Management System

A comprehensive virtual classroom platform for interactive online education

Version License PHP Laravel


About Nexus

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.


Key Features

User Management & Authentication

  • 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

Course Management

  • 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

Teacher & Student Management

  • 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

Schedule & Class Management

  • 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

Interactive Whiteboard System

  • 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

Quiz & Assessment System

  • 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

Discussion & Live Chat

  • Course-based discussion threads
  • Nested comment reply system
  • Real-time messaging during live classes
  • Schedule-specific conversations

Dashboard & Analytics

  • Personalized dashboard for all user types
  • Course categorization (Active, Pending, Archived)
  • Class timetable view
  • Quick statistics overview

Technology Stack

Backend

  • Framework: Laravel 8.75
  • Language: PHP 7.3 / 8.0
  • Database: MySQL / MariaDB
  • Authentication: Laravel Sanctum, Laravel Breeze
  • PDF Generation: DomPDF
  • HTTP Client: Guzzle

Frontend

  • Templating: Blade (Laravel)
  • CSS Framework: Tailwind CSS 3.1, Bootstrap 4
  • JavaScript: Alpine.js 3.4.2, jQuery 3.4.1
  • Icons: Font Awesome

Build Tools

  • Asset Bundling: Vite
  • CSS Processing: PostCSS, Autoprefixer

Development

  • Testing: PHPUnit
  • Environment: Laravel Sail (Docker support)

System Requirements

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

Installation

Follow these steps to get Nexus up and running on your local machine:

1. Install Prerequisites

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

2. Clone the Repository

git clone https://github.com/kachi33/genika_project.git
cd genika_project

3. Install Dependencies

Install PHP dependencies via Composer:

composer install

Install Node.js dependencies and build assets:

npm install && npm run dev

4. Environment Configuration

Duplicate the .env.example file and rename it to .env:

cp .env.example .env

Create 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_password

5. Generate Application Key

php artisan key:generate

6. Run Database Migrations

php artisan migrate

7. Start the Development Server

php artisan serve

Your application should now be running at http://localhost:8000


User Roles

Nexus supports three distinct user roles, each with specific permissions:

πŸ”΄ Admin

  • 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

🟑 Teacher (Moderator)

  • 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

🟒 Student

  • 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

Usage Guide

Getting Started

For Teachers/Admins:

  1. Register as a Teacher at /register
  2. Create a Course from the dashboard
  3. Share the course code with students
  4. Create a Schedule for your first class
  5. Start teaching using the interactive whiteboard

For Students:

  1. Register as a Student at /register
  2. Join a Course using the course code provided by your teacher
  3. View your Schedule in the routine/timetable
  4. Attend Classes and participate in quizzes

Creating Your First Course

  1. Navigate to the Dashboard
  2. Click "Create New Course"
  3. Fill in course details (name, section, subject, room)
  4. Save the course and note the auto-generated course code
  5. Share the code with students or manually add them

Creating a Quiz

  1. Go to your course page
  2. Navigate to "Quiz" section
  3. Click "Add Question"
  4. Enter the question text and provide one correct answer and three options
  5. Save and repeat for additional questions
  6. Students can take the quiz immediately

Using the Whiteboard

  1. Create a schedule for your class
  2. Navigate to the schedule at class time
  3. Open the Whiteboard
  4. Use drawing tools to teach:
    • Select pencil and choose color
    • Adjust brush thickness
    • Upload images if needed
    • Add new pages as needed
  5. Export to PDF when done

Roadmap / Future Features

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

Contributing

Nexus is a private repository, but we welcome contributions from approved collaborators. If you'd like to contribute:

  1. Fork the repository (requires permission)
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contribution Guidelines:

  • 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

License

This project is licensed under the Apache License 2.0.


Support

For issues, questions, or feature requests, please open an issue on the repository.


Built with ❀️

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors