Skip to content

Latest commit

 

History

History
166 lines (126 loc) · 4.58 KB

README.md

File metadata and controls

166 lines (126 loc) · 4.58 KB

Laravel 11.x blog

The purpose of this repository is to show good development practices on Laravel as well as to present cases of use of the framework's features like:

Beside Laravel, this project uses other tools like:

Some screenshots

You can find some screenshots of the application on : https://imgur.com/a/Jbnwj

Installation

To create your development environment follow these instructions.

Setting up your development environment on your local machine:

$ git clone https://github.com/guillaumebriday/laravel-blog.git
$ cd laravel-blog
$ cp .env.example .env
$ php artisan key:generate
$ php artisan horizon:install
$ php artisan telescope:install
$ php artisan storage:link

Now open http://laravel-blog.test.

Mailer

You can use Mailpit to test your emails in development.

Once installed, open http://localhost:8025.

Before starting

You need to run the migrations with the seeds :

$ php artisan migrate:fresh --seed

This will create a new user that you can use to sign in :

email: demo@demo.com
password: demodemo

And then, compile the assets :

$ yarn dev

Starting job for newsletter :

$ php artisan tinker
> PrepareNewsletterSubscriptionEmail::dispatch();

Useful commands

Start Laravel Horizon:

$ php artisan horizon

Seeding the database :

$ php artisan db:seed

Running tests :

$ php artisan test

Running Laravel Pint :

$ ./vendor/bin/pint --verbose --test

Generating backup :

$ php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"
$ php artisan backup:run

Generating fake data :

$ php artisan db:seed --class=DevDatabaseSeeder

Discover package

$ php artisan package:discover

In development environment, rebuild the database :

$ php artisan migrate:fresh --seed

Accessing the API

Clients can access to the REST API. API requests require authentication via Bearer token.

Generate a new token:

curl --location --request POST 'laravel-blog.test/api/v1/authenticate?email=your_email&password=your_password' \
     --header 'X-Requested-With: XMLHttpRequest'

And now you can use the meta.access_token key as your Bearer token:

curl --location 'laravel-blog.test/api/v1/posts' \
      --header 'X-Requested-With: XMLHttpRequest' \
      --header 'Authorization: Bearer access_token'

API are prefixed by api and the API version number like so v1.

Do not forget to set the X-Requested-With header to XMLHttpRequest. Otherwise, Laravel won't recognize the call as an AJAX request.

To list all the available routes for API :

$ php artisan route:list --path=api

Contributing

Do not hesitate to contribute to the project by adapting or adding features ! Bug reports or pull requests are welcome.

License

This project is released under the MIT license.