shenol / car-rental

Scalable RESTful API which provides functionality for using and managing the car rental network.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Car Rental

Scalable RESTful API which provides functionality for using and managing the car rental network. Authenticated users can choose and rent a car from list of available rental branches.

User with respective access rights has ability to manage any entity of the system including the following:

  • users
  • user roles/actions
  • products
  • product types
  • countries (in which branches are available)
  • cities (in which branches are available)
  • branches
  • discount system
  • rental plans (amount of hours for rent)
  • payment types
  • payment statuses
  • orders

Web application built on Laravel framework. Authentication uses OAuth protocol. Also there is implemented RBAC (Role Based Access Control) as an additional middleware. Extended validation rules during order creation ensures that correct price provided by the user.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Installing

  1. git clone git@github.com:michael-ignatiev/car-rental.git project-folder
  2. composer install && composer update
  3. php -r "copy('.env.example', '.env');"
  4. php artisan key:generate
  5. update db connection credentials in the .env file
  6. php artisan migrate
  7. also add to .env file the following setting API_CURRENT_VERSION=v1
  8. php artisan db:seed
  9. php artisan passport:install
  10. copy generated keys and paste to .env file:
PERSONAL_CLIENT_ID=1
PERSONAL_CLIENT_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PASSWORD_CLIENT_ID=2
PASSWORD_CLIENT_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  1. php artisan serve

Built With

About

Scalable RESTful API which provides functionality for using and managing the car rental network.


Languages

Language:PHP 97.7%Language:HTML 1.9%Language:Vue 0.4%