Education Tracker

About

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.

Skills

  • Laravel

  • AlpineJS

  • TailwindCSS