First Laravel Project - Job Website

Tools: Laravel, Tailwind

I have completed a 30-Day Laravel Beginner Course, which provided a hands-on introduction to the Laravel framework through a series of projects and concepts. The course covered essential topics such as routing, controllers, Blade templating, Eloquent ORM, migrations, authentication, form validation, factories, seeding and more. The final project in the course was a basic job website for employers to post jobs. This provided a good foundation for further learning and development in Laravel. Since completing the course, I’ve been actively improving and expanding the app

GitHub

Improvements

  • I created a custom blade directive for role-based access control (@role, @endrole) to conditionally display content on the page for each user.
  • Continue to enchance the database seeding.
  • Employers can now edit their job posts.
  • Added a role for job seekers. When signing up, users can now be a job seeker instead of an employer for applying for jobs. This involved creating a new role migration for the role types and creating a pivot table due to the many-to-many relationship between users and roles.
  • Role-based access control was added with the addition of roles using middleware. I created custom middleware that restricts access to specific routes based on a user’s assigned role (e.g. job seekers can't access create job route.)
  • I created a policy for Jobs, ensuring that employers could only edit jobs that they posted.
  • Employers can delete their job listing.
  • Created user_job pivot table, for the many to many relationship between users and jobs to allow job seekers to apply for jobs. Job seekers can now apply for jobs.
  • Employers can view applicants and download the applicants CVs. Additonally can change the status of the application.
  • Created notifications for when employers create jobs and job seekers apply for a job. If an job seeker applies for a job, the employer who owns the job will be notified via email.

My Portfolio