/laraChirper

A project developed based on https://www.youtube.com/watch?v=1cPaw3QbOLA and https://bootcamp.laravel.com/

Primary LanguagePHP

A project built using the Laravel Framework

Laravel Logo


About LaraChirper

LaraChirper is a project developed based on Laravel Bootcamp and this video posted by PHP Annotated.

It is built as a twitter-like application that intends to record, manage, and display messages (Chirps) posted by registered users (Chirper).


LaraChirper Use-Case

Guest

  • Register as a Chirper
  • Login to Chirper account

Chirper

  • View all Chirps
  • Post/Create Chirps
  • Edit/Update posted Chirps
  • Delete posted Chirps
  • Logout from Chirper account

Within LaraChirper

This project utilizes the Laravel v9 framework with inclusion of Vue.js to catter for the front-end views, glued together using InertiaJS. Below are the other framework that are also used in this project:

  • npm install dayjs - to convert time and date details to more user readable details.
  • composer require spatie/laravel-mail-preview - to view mail sent by the system
  • composer require laravel/breeze --dev - to supply the application with a complete authentication system - php artisan breeze:install
  • npm run dev - to build the view from Vue.js

This project only make use of 2 controllers, named ChirpController.php and ProfileController.php(Breeze) which can be found inside //app/Http/Controllers/. Inside these controller, several basic functions have been declared:

  • page rendering using Inertia JS
  • show all Chirps
  • form validation
  • object creation/edit/delete
  • user authentication
  • user profile update/delete
  • user registration/login/logout

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

  • protected data
  • object relationship

This project utilizes Vue.js to make up its view:

  • breeze - resources/js/Components/
  • breeze - resources/js/Layouts/
  • breeze - resources/js/Pages/Auth/
  • index - resources/js/Pages/Chirps/
  • breeze - resources/js/Pages/Profile/
  • breeze - resources/js/Pages/Profile/Partials

This project utilizes MySQL database. The SQL file pertaining to the database is included inside this repo named LaraGates.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
  • Laravel 9.48.0
  • Composer 2.5.1
  • Laravel Breeze 1.18
  • NPM 8.19.3
  • Vite 4.0.4 - plugin 0.7.3\

So with that, I humbly thank you.