/laraGigster

A project developed based on https://www.youtube.com/watch?v=MYyJ4PuL4pY

Primary LanguagePHP

A project built using the Laravel Framework

Laravel Logo


About LaraGigster

LaraGigster is a project developed based on this video posted by Traversy Media.

It is built as a system that intends to be the home of Laravel-based projects or jobs where the User (Gigster) have to sign-up to post the vacancies they have in their jobs/projects (Gigs).


LaraGigster Use-Case

Guest

  • View all Gigs
  • Search for Gigs
  • Register as a Gigster
  • Login to Gigster account

Gigster

  • View all Gigs
  • Search for Gigs
  • Post/Create Gig
  • Edit/Update posted Gig
  • Delete posted Gig
  • Logout from Gigster account

Within LaraGigster

This project utilizes the initial Laravel v9 framework with several inclusions of other frameworks which links can be found inside //resources/views/components/layout.blade.php:

  • fontawesome
  • tailwindcss
  • alpinejs

This project only make use of 2 controllers which can be found inside //app/Http/Controllers/. Inside these controllers, several basic functions have been declared:

  • show all/filtered listings
  • listings pagination
  • form validations
  • attachment uploads
  • object creation/edit/delete
  • user authentication
  • page redirection
  • flash message
  • listing management acording to user
  • user registration/login/logout

This project only have 2 models which are Users.php (have many listings) and Listing.php (belong to user) which can be found inside //app/Models/. Inside these models several basic functions have been declared:

  • listings scopeFilter
  • object relationship

This project uses the blade view, utilizing its basic features such as:

  • components directory - <x-comp>...</x-comp> - {{ $slot }}
  • components variables - <x-comp :varsCsv="$vars->var" /> - @props(['varsCsv'])
  • components attribute - <div {{ $attributes->merge(['class' => 'class-name']) }}>...</div>
  • partials directory - @include('partials._filename')
  • inline PHP function - @unless()@else@endunless, @if()@endif, @foreach()@endforeach
  • inline PHP echo - {{ $message }}
  • form features - @csrf, @method('PUT/DELETE'), @error('inputname')@enderror
  • listings pagination - {{ $vars->links() }}

This project utilizes MySQL database. The SQL file pertaining to the database is included inside this repo named laragigster.sql which has several test data. Similarly, this repo also encompasses the required factories, migrations, and seeders which can be executed as to showcase the same results of that of the included SQL file.

Last but not least, the project was build using these version of frameworks:

  • PHP 8.2.0
  • MySQL 8.2.0
  • Laravel 9.47.0

So with that, I humbly thank you.