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.
- Key Features
- Tech Stack & Integrations
- Modern Stack Advantages
- Installation & Setup
- Key Integrations
- Deployment
- Contributors
- Project Governance
- Compatibility Notes
- License & Copyright
- Security Policy
- 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
| 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 |
- Simplified directory structure
- Per-second cron scheduling
- Model casts as methods
once()helper for singleton-like services
- Signals for reactive state management
- Improved Hydration (SSR)
@lettemplate syntax (experimental)- Default
zonelesschange detection
- Node.js 18+
- PHP 8.2
- Composer 2.5+
- MySQL 8.0+
git clone https://github.com/io-somaya/Learnify.git
cd Learnifycd 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 servecd ../frontend
npm install --legacy-peer-deps # Handle Angular 18 peer dependencies
ng serveAccess the platform at http://localhost:4200
"jubaer/zoom-laravel": "^1.3"- Live class scheduling
- Attendance tracking
- Recording management
// Sample payment integration
$payment = new PaymobGateway(config('paymob.api_key'));- Secure fee collection
- Subscription management
- Invoice generation
MAIL_MAILER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587- Automated notifications
- Bulk email campaigns
- Activity alerts
php artisan optimize:clear
php artisan route:cache
php artisan event:cacheng build --configuration production --aot| 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 |
| Document | Purpose |
|---|---|
| CODE_OF_CONDUCT | Community interaction guidelines |
| LICENSE | Custom usage permissions (All rights reserved) |
| SECURITY | Vulnerability reporting and policies |
- Requires PHP 8.2+ (Laravel 11 minimum)
- Node.js v20+ recommended for Angular 18
- MySQL 8.0+ for full JSON column support
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:
Report vulnerabilities responsibly:
- Email security issues to learnify.supp.G2025@gmail.com
- Do not disclose publicly until patched
- Include reproduction steps and impact analysis
See SECURITY.md for full disclosure policy.