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:
You can find some screenshots of the application on : https://imgur.com/a/Jbnwj
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.
You can use Mailpit to test your emails in development.
Once installed, open http://localhost:8025.
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: [email protected]
password: demodemo
And then, compile the assets :
$ yarn dev
Starting job for newsletter :
$ php artisan tinker
> PrepareNewsletterSubscriptionEmail::dispatch();
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="SpatieBackupBackupServiceProvider"
$ 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
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
Do not hesitate to contribute to the project by adapting or adding features ! Bug reports or pull requests are welcome.
This project is released under the MIT license.