Simple Learning Management System
https://youtu.be/a6o9gL58PYc?si=dXAeuJTCtZ6jkFf_
- Laravel 8
- Vue 2
- Vuetify for UI
- Vuex and Vue Router
- Laravel sanctum for api
Install npm packages
npm install
Mix assets
npm run dev
Install composer packages
composer install
Copy .env
cp .env.example .env
Migrate database tables
php artisan migrate
Seed tables
php artisan db:seed
Create symbolic link
php artisan storage:link
Serve
php artisan serve
- For first admin role, add a record with role_id (3) to role_user table
- Login and register
- Search courses
- Filter courses with categories, prices and level
- Give ratings and comments on courses
- View instructor lists
- Paypal sandbox for payment
- A course can have many sections and a section can have many lectures
- A lecture content can be one of the four types(video, audio, document, text)
- Accept file types :
video: ['video/mp4', 'video/quicktime'],
audio: ['audio/mpeg', 'audio/wav', 'audio/x-m4a'],
document: ['application/pdf'],
- It has three roles.
- Permissions are seperated according to roles
- Enroll courses
- Learn courses with curriculums
- Give ratings and comments on courses
- Can be an Instructor
- CRUD courses
- CRUD curriculums
- Get an instructor profile
- Monetize with paid courses
- CRUD course categories
- CRUD users
- Edit user roles
- Set active or inactive to users
Test with Paypal sandbox :
- Create a Paypal developer account.
- Copy CLIENT_ID and CLIENT_SECRET Add CLIENT_ID and CLIENT_SECRET to .env file
...
PAYPAL_SANDBOX_CLIENT_ID=...
PAYPAL_SANDBOX_CLIENT_SECRET=...