Skip to content

AhmedYahyaE/laravel-job-search-application

Repository files navigation

Laravel Job Searching and Postings Application

YourJob is a powerful and user-friendly Laravel application for searching for jobs and posting vacancies too. This application is designed to help job seekers find relevant job opportunities quickly and efficiently. With its intuitive interface, responsive/mobile first design, and advanced search capabilities, YourJob makes the job search process a breeze.

Frontend technologies used: Tailwind CSS (Responsive Design) and Alpine.js library.

Screenshots:

Homepage:

YourJob-homepage-1

YourJob-homepage-2

Login Page:

YourJob-login

Create a Job Listing Page:

YourJob-create-listing

User Job Listings Management:

YourJob-manage-listings-page

Features:

1- Implemented Social Login (Google OAuth provider) using Laravel Socialite package.

2- Using a Scope Filter (Query Scopes) for both the Search Bar Form and Website Tags implementation.

3- Using Blade Components and Component Slots.

4- Using Database Seeders and Model Factories.

5 - Using Laravel's 'storage' directory (public disk and local driver) for storing user-uploaded images (instead of the regular 'public' directory). Then, using a Symbolic Link between the 'storage/app/public' directory and 'public/storage' directory to display images throughout the application.

6- Using Route Model Binding.

7- Using Alpine.js library for creating Session Flash Messages that disappears after a specified duration.

8- Using Tailwind CSS for creating a completely responsive/mobile first design.

9- Eloquent Pagination.

10- User Registration, Authentication and Authorization.

Application Routes:

All the application routes are defined in the web.php file.

Installation & Configuration:

1- Open your terminal, and use the 'git clone https://github.com/AhmedYahyaE/laravel-job-search-app.git' command, or just download the ZIP project.

2- Navigate/Change into (using the cd command) to the project root directory, then run the 'composer install' command.

3- Run the 'npm install' command (and only in case you face any issues/errors, run the 'npm audit fix' command), and then run the 'npm run build' command.

4- Create a MySQL database named `yourjob`, then import the yourjob database SQL Dump File into your `yourjob` database.

5- Navigate to the .env file and configure/update it with your MySQL database credentials and other configuration settings.

6- In case the application images are broken (are not loaded), recreate the Symbolic Link between the 'storage/app/public' directory and 'public/storage' directory by removing/deleting the public/storage directory first, then run the 'php artisan storage:link' command.

7- Run the 'php artisan serve' command, and then open your browser and visit http://127.0.0.1:8000 to access YourJob application.

** Ready-to-use registered accounts credentials you can use to log in:

Email: test@test.com, Password: 123456

Email: yasser@gmail.com, Password: 123456

Email: test2@test.com, Password: 123456

Contribution:

Contributions to my YourJob Laravel application are most welcome! If you find any issues or have suggestions for improvements or want to add new features, please open an issue or submit a pull request.