Education Tracker is a Laravel app that tracks educations, seminars, and courses for each employee. Each user can see all educations available, can apply to upcoming educations, can see all of their educations (past, upcoming: applied), total cost and credits of all their attended educations and each user can upload/download a certificate (file) for each education. Admin and Editor can also see all of this for each employee, but can also add or delete employee, education. Only the admin can approve the education that the user has applied to.
Laravel Breeze Auth (Register disabled)
Models and Eloquent relationships :
User - Education (Many to Many)
User - Department (One to Many)
User - Profession (One to Many)
User - Work Position (One to Many)
User - Role (Many to Many)
Role - Permission (Many to Many)
Education - Organiser (One to Many)
Pivot table education_user with additional column 'approved' & 'certificate', updateExistingPivot, attach, detach
Factories, DatabaseSeeder: seed pivot table
CRUD: add new employee, add new education, delete
Pagination
Search Educations, Filter By Organiser, Filter by upcoming, past educations
AlpineJs Dropdown
Show employee's educations (upcoming, past)
An employee can apply to Education (upcoming)
Approve Education (only admin)
Upload File (Certificate) / Download File
totalCost of user's educations
Roles and Permissions from scratch
Authorization with Gates (with permissions)
can manage educations
can manage users
can see user educations: each user their own or user that has permission ''seeusereducations" (admin, editor)
...
This project was for learning purposes. It is not finished.
Laravel
AlpineJS
TailwindCSS