Skip to content

Syftnex/edunex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ EduNex by Syftnex

The Flagship Open-Source, Open-Core E-Learning Platform

Laravel Version Livewire Version Tailwind CSS PHP Version License: AGPL v3


EduNex is a robust, production-grade e-learning and course-sharing platform designed for modern academies, schools, and content creators. Engineered on top of Laravel 12, Livewire 4, and Tailwind CSS 4, EduNex combines a beautiful, responsive interface with a commercial-ready Dual-Access monetization model, a zero-terminal installation wizard, and an open-core modular ecosystem ready for commercial marketplace expansion.

Explore Installation Guide β€’ View Architecture Specs β€’ Module Developer Guide β€’ Run Test Suites


⚑ Key Architectural Features

EduNex is not just an academic prototype; it is structured as a premium commercial software distribution:

  • πŸ”Œ Zero-Terminal Web Installer: A clean, multi-step web wizard at /install that verifies PHP extensions, tests and configures the database connection, performs background database setup, and initializes the platform's super-admin without touching a command line.
  • πŸ’³ Dual-Access Revenue Model: Supports flexible course monetization out of the box. Charge students for individual lifetime course purchases, recurring monthly membership plans, or offer courses as free assets with structured access controls.
  • 🧩 Open-Core Modular Architecture: An dynamic core designed to be extended. Integrates seamlessly with private extensions in the Modules/ directory using standard Git isolation protocols, protecting proprietary add-ons while maintaining an open-source core.
  • πŸ”„ OTA 1-Click Updates: An automated over-the-air updater service that allows admins to safely download, extract, and execute background schema migrations and assets updates from a centralized marketplace API.
  • πŸ“Š Role-Specific Portals: Separated, secure user environments for:
    • Students: Sleek learning views, progress trackers, quizzes, certificates, and bookmark managers.
    • Instructors: Full-featured course builder, quiz manager, grading dashboards, student submission trackers, and announcements.
    • Admins: User management, course moderation, global subscription plans management, and platform analytics.
  • πŸ“‘ Invoicing & Auto-Biller: Integrated background generator creating automated invoice and fee challans with printable formats and barcodes for streamlined payments.

πŸ› οΈ Technology Stack & Core System

EduNex leverages the absolute latest in the Laravel ecosystem:

  • Backend: PHP 8.2+ with Laravel 12 (streamlined configuration schema).
  • Reactivity: Livewire 4 (blazing fast, component-based server-driven SPAs) and Alpine.js.
  • Design Tokens: Tailwind CSS 4, Bootstrap 5 custom variables, and sleek dark mode overrides.
  • Authentication: Headless authentication engine powered by Laravel Fortify.
  • Document Engines: dompdf for dynamic, secure PDF certificates and billing invoices.

🧬 System Architecture Diagram

The diagram below details the decoupled routing, core role-based access controllers, and the database synchronization mechanism built into EduNex:

graph TD
    User([Platform Request]) --> Router{Laravel Route Group}
    
    %% Setup / Install Route
    Router -- "/install" --> Installer[Livewire Setup Wizard]
    Installer --> EnvUpdate[Configure .env]
    Installer --> MigrateSeed[Migrate & Seed Core DB]
    
    %% Authenticated Flows
    Router -- "/student/*" --> StudentMW[role:student Middleware]
    Router -- "/instructor/*" --> InstructorMW[role:instructor Middleware]
    Router -- "/admin/*" --> AdminMW[role:admin & verified.admin]
    
    %% Authorization Gate for Content
    StudentMW --> CourseAccessGate{CheckCourseAccess Middleware}
    CourseAccessGate -- Free Course --> CourseView[Livewire CourseView]
    CourseAccessGate -- Lifetime Purchase --> CourseView
    CourseAccessGate -- Active Subscription --> CourseView
    CourseAccessGate -- Locked --> SubscriptionPage[Browse Subscriptions / Purchase Course]

    %% Admin modular hooks
    AdminMW --> Marketplace[OTA Updates / Plugins Dashboard]
    Marketplace --> ZIPService[OTA ZIP Extraction Service]
    ZIPService --> ModulesFolder[(Modules/ Directory)]
Loading

πŸš€ Quick Start (Local Setup)

To spin up a local development environment, follow these steps:

Method A: Docker & Laravel Sail (Recommended)

  1. Clone the repository:
    git clone https://github.com/syftnex/edunex.git
    cd edunex
  2. Spin up the Sail containers:
    ./vendor/bin/sail up -d
  3. Run the initial setup scripts:
    ./vendor/bin/sail composer run setup
  4. Access the application: Open http://localhost in your browser.

Method B: Manual Native CLI

  1. Install PHP packages:
    composer install
  2. Environment Configuration:
    cp .env.example .env
    php artisan key:generate
  3. Database Configuration: Configure your .env with a database client, then create the schema:
    php artisan migrate --seed
  4. Install and compile frontend assets:
    npm install
    npm run build
  5. Serve locally:
    php artisan serve

πŸ“‚ Repository Structure

The core files are organized according to standard Laravel 12 paradigms:

EduNex/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ Actions/            # Core business actions (Fortify authentication actions)
β”‚   β”œβ”€β”€ Http/
β”‚   β”‚   └── Middleware/    # Access guards (CheckCourseAccess, RoleManager)
β”‚   β”œβ”€β”€ Livewire/          # Server reactive components (Admin, Student, Instructor)
β”‚   └── Models/             # Database entities & casts (User, Course, Subscription)
β”œβ”€β”€ bootstrap/
β”‚   └── app.php             # Modern Laravel 12 configuration, routing & middlewares
β”œβ”€β”€ config/                 # Application configuration schemas
β”œβ”€β”€ database/
β”‚   β”œβ”€β”€ migrations/         # Database structural migrations
β”‚   └── seeders/            # Interactive database seeders
β”œβ”€β”€ docs/                   # Detailed project documentation
β”œβ”€β”€ public/                 # Client assets & Compiled vite bundles
β”œβ”€β”€ resources/
β”‚   β”œβ”€β”€ css/                # Tailwind v4 directives and Bootstrap variable files
β”‚   └── views/              # Blade UI views and Livewire templates
β”œβ”€β”€ routes/
β”‚   β”œβ”€β”€ web.php             # Core web routing
β”‚   └── console.php         # Artisan scheduled tasks and console definitions
└── tests/                  # PHPUnit test suites (Feature & Unit)

πŸ“œ GNU AGPL v3 Licensing & Open Source

This repository is distributed under the terms of the GNU Affero General Public License v3.0 (AGPL-3.0).

Important

Network Interaction Copyleft: Under Section 13 of the AGPL-3.0, if you modify the EduNex software and run it on a server for other users to interact with remotely over a network, you MUST make the complete Corresponding Source code of your modified version available to all network users at no charge.

We highly recommend maintaining a public GitHub repository with your custom modifications to easily comply with the copyleft clauses of the license. Please refer to LICENSE.md for full legal text.


🀝 Community & Support

  • Issues & Bugs: Please report any bugs or feature requests on our GitHub Issue Tracker.
  • Documentation: Comprehensive blueprints can be accessed at the docs/ directory.
  • Premium Add-ons: Visit the official marketplace on Syftnex to purchase barcoded challan generators, easy payment gateways (JazzCash/Easypaisa/Stripe), and enterprise extensions.

Built with ❀️ by the Syftnex Development Team

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors