LZz-Learning is a complete academic portfolio and course management system designed for university professors. Built with Laravel, Filament, and Livewire, and deployed on DigitalOcean, this platform streamlines the presentation and management of teaching activities, research publications, student interaction, and more.
- Add and manage courses with descriptions, year/semester info, and associated resources.
- Upload and share PDFs and other materials with students (hosted on DigitalOcean Spaces).
- Showcase academic publications with details like title, content, etc, and publication year.
- Filter and search through publications efficiently.
- Interactive space for students to ask questions.
- Professors can answer questions and facilitate discussions.
- Integrated contact form allowing site visitors or students to send messages directly.
- Emails are handled via Brevo (ex-Sendinblue).
- Secure back-office interface built with Filament for managing all content (courses, publications, users, etc.).
- User-friendly CRUD system for seamless updates.
- Mobile-friendly layout using Tailwind.
- Accessible from desktops, tablets, and smartphones.
- Filament: Built-in support
- User interfaces: Implemented using Tailwind CSS and Alpine.js
- Backend: Laravel 12
- Admin Panel: Filament 3
- Frontend: Tailwind Css
- Database: Hosted on Aiven (MySQL)
- Cloud Storage: DigitalOcean Spaces for files
- Email: Brevo for contact form submissions
- Database Viewer: TablePlus
- Livewire and AlpineJs: For dynamic and interactive UI components
- Laravel 12
- Filament 3
- Composer
- Node.js & NPM
- MySQL
- Access to DigitalOcean Spaces and Brevo account
To install and run LZz-Learning locally:
-
Clone the repository:
git clone https://github.com/MohamedElaassal/Teacher-Portfolio.git cd Teacher-Portfolio -
Install PHP dependencies:
composer install
-
Copy the environment file:
cp .env.example .env
-
Configure your
.envfile with:- Database credentials
- DigitalOcean Spaces keys
- Brevo SMTP credentials
-
Generate app key:
php artisan key:generate
-
Run database migrations and seeders:
php artisan migrate --seed
-
Install JS dependencies and build frontend:
npm install && npm run dev -
Start the server:
php artisan serve
Then visit http://localhost:8000 in your browser.
- Admin Panel: Visit
/adminto manage courses, publications, users, and forums. - Public Site: Visit
/to view the professor's profile, courses, publications, and contact form.
Contributions are welcome! Here's how:
- Fork the project.
- Create a new branch:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add feature-name" - Push the branch:
git push origin feature-name
- Submit a pull request.
LZz-Learning is open-source and available under the MIT License.
For inquiries or support, please contact:
- Email: mohamedelaassal42@gmail.com
