Skip to content

E-learning platform for educational institutes and centers using Angular and Laravel.

License

Notifications You must be signed in to change notification settings

Mahmoud-Eid-Elsayed/Learnify

Β 
Β 

πŸ“š Learnify - Next-Gen E-Learning Platform (Laravel 11 + Angular 18)

A cutting-edge e-learning platform leveraging the latest stable releases of Laravel (v11) and Angular (v18) for optimal performance, security, and developer experience.

Learnify is a full-featured e-learning platform designed for educational institutions, offering live classes, recorded lectures, automated grading, and performance analytics β€” all with secure multi-role access for students, teachers, and parents.

πŸš€ Developed with Angular, Laravel, and MySQL as part of the ITI Graduation Program by a team of passionate developers.

πŸ“‹ Table of Contents

✨ Key Features

  • Live Zoom Integration: Real-time interactive classes with Zoom API
  • Automated Grading: AI-assisted assessment system
  • Payment Processing: Secure transactions via Paymob
  • Email Notifications: Reliable delivery with SendGrid
  • Multi-Role Dashboards: Tailored interfaces for Students, Teachers, and Parents
  • Performance Analytics: Detailed progress tracking with visual reports
  • Responsive UI: Mobile-friendly Bootstrap 5 design

πŸ› οΈ Tech Stack & Integrations

Category Technologies
Frontend Angular 18 (+ Signals), Bootstrap 5.3, SSR Chart.js
Backend Laravel 11 (PHP 8.2+), Laravel Reverb (WebSockets), Laravel Pulse, Sanctum
Database MySQL 8.0+ (With JSON support) (Eloquent ORM)
APIs Zoom Meetings API, Paymob Payment Gateway, SendGrid Email API
Security JWT Authentication, Role-Based Access Control, Data Encryption

πŸš€ Modern Stack Advantages

Laravel 11

  • Simplified directory structure
  • Per-second cron scheduling
  • Model casts as methods
  • once() helper for singleton-like services

Angular 18

  • Signals for reactive state management
  • Improved Hydration (SSR)
  • @let template syntax (experimental)
  • Default zoneless change detection

βš™οΈ Installation & Setup

Prerequisites

  • Node.js 18+
  • PHP 8.2
  • Composer 2.5+
  • MySQL 8.0+

1. Clone Repository

git clone https://github.com/io-somaya/Learnify.git
cd Learnify

2. Backend Setup

cd backend
composer install --ignore-platform-reqs # Laravel 11 requires PHP 8.2+
cp .env.example .env  # Configure Zoom, Paymob, SendGrid keys
php artisan key:generate
php artisan migrate --seed
php artisan serve

3. Frontend Setup

cd ../frontend
npm install --legacy-peer-deps  # Handle Angular 18 peer dependencies
ng serve

Access the platform at http://localhost:4200

πŸ” Key Integrations

Zoom Meetings

"jubaer/zoom-laravel": "^1.3"
  • Live class scheduling
  • Attendance tracking
  • Recording management

Paymob Payments

// Sample payment integration
$payment = new PaymobGateway(config('paymob.api_key'));
  • Secure fee collection
  • Subscription management
  • Invoice generation

SendGrid Email

MAIL_MAILER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
  • Automated notifications
  • Bulk email campaigns
  • Activity alerts

πŸ”„ Deployment

Laravel 11 (Production)

php artisan optimize:clear
php artisan route:cache
php artisan event:cache

Angular 18 (Production)

ng build --configuration production --aot

πŸ‘¨β€πŸ’» Contributors

Member Role Contact
Omar Rizk Full-Stack Developer GitHub Β· LinkedIn
Abdelrahman Hasan Full-Stack Developer GitHub Β· LinkedIn
Somaya Hassan Full-Stack Developer & UI/UX GitHub Β· LinkedIn
Mahmoud Elsayed Full-Stack Developer GitHub Β· LinkedIn

πŸ“œ Project Governance

Document Purpose
CODE_OF_CONDUCT Community interaction guidelines
LICENSE Custom usage permissions (All rights reserved)
SECURITY Vulnerability reporting and policies

⚠️ Compatibility Notes

  • Requires PHP 8.2+ (Laravel 11 minimum)
  • Node.js v20+ recommended for Angular 18
  • MySQL 8.0+ for full JSON column support

πŸ“„ License & Copyright

This project is not open-source and is protected under a custom license. Unauthorized use, modification, or distribution is strictly prohibited without written consent from the Learnify team. Unauthorized use of this codebase violates:

  • Laravel's license terms (view)
  • Angular's MIT license dependencies (view)

πŸ”’ Security Policy

Report vulnerabilities responsibly:

  1. Email security issues to learnify.supp.G2025@gmail.com
  2. Do not disclose publicly until patched
  3. Include reproduction steps and impact analysis

See SECURITY.md for full disclosure policy.

About

E-learning platform for educational institutes and centers using Angular and Laravel.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 29.8%
  • TypeScript 24.3%
  • PHP 23.6%
  • HTML 18.3%
  • Blade 2.6%
  • SCSS 1.3%
  • JavaScript 0.1%