usamamuneerchaudhary/laravel-api-boilerplate

This package is not installable via Composer 1.x, please make sure you upgrade to Composer 2+. Read more about our Composer 1.x deprecation policy.

Simple Laravel API Boilerplate to create a ready-to-use REST API using Laravel Passport

1.2 2019-10-28 11:08 UTC

This package is auto-updated.

Last update: 2021-10-24 16:32:32 UTC


README

Laravel API Boilerplate is a starting point for your first API.

It is built on top of:

Installation

  1. run composer create-project usamamuneerchaudhary/laravel-api-boilerplate myfirstApi;

  2. Rename .env.example to .env

  3. Generate Passport encryption keys & secret access tokens php artisan passport:install

  4. Generate application key by php artisan key:generate

  5. After DB Connection, run php artisan migrate. For dummy data for users, run php artisan migrate --seed. You can see more info in database\seeds\UserTableSeeder.php.

  6. For Testing Emails, you can setup MailTrap.

  7. Well that's it lad, it would be up and running on your server already.

Basic Requirements for the Project

  1. PHP v7.3 or greater.

Main Features

Ready-To-Use Authentication Controllers

You can find Authentication Controllers under namespace App\Http\Controllers\API\Auth.

Validations

There are also the validation rules for every action (login, sign up, recovery and reset) under namespace App\Http \Request\API\Auth.

Endpoints

  • Login: POST api/v1/login
  • Register: POST api/v1/register
  • Recover POST api/v1/recover
  • Reset POST api/v1/reset
  • Find Reset Token GET api/v1/reset/{token}
  • Logout GET api/v1/logout
  • Verify Email api/v1/user/verify/email/{token}

Please note that, api routes are prefixed with v1, you can changed this in App\Providers\RouteServiceProvider.php

Separate File for Routes

All the API routes can be found in the routes/api.php file.

Firewall

We're using akaunting/firewall to secure our API.

Roles & Permissions

Simpler way of assigning Roles & Permissions to Users. You can more details on what we've done here on usamamuneerchaudhary/roles-permissions

CRUD Scaffolding

A Simple CRUD Scaffolding package is being setup out of the box to keep you going without any hassle.

Creating Endpoints

You can create your endpoints in routes/api.php under auth:api middleware group.

Cross Origin Resource Sharing

If you want to enable CORS for a specific route or routes group, you just have to use the cors middleware on them.

Thanks to the barryvdh/laravel-cors package, you can handle CORS easily. Just check the docs at this page for more info.

License

This project is open-sourced software licensed under the MIT license.