https://github.com/rakibhasansabbir/laravel-ecommerce-api
Lite E-Commerce API
https://github.com/rakibhasansabbir/laravel-ecommerce-api
ecommerce-api eloquent-models factory laravel mysql passport resource rest-api
Last synced: 2 months ago
JSON representation
Lite E-Commerce API
- Host: GitHub
- URL: https://github.com/rakibhasansabbir/laravel-ecommerce-api
- Owner: rakibhasansabbir
- License: mit
- Created: 2018-10-18T19:39:40.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-10-25T11:43:28.000Z (about 2 years ago)
- Last Synced: 2023-10-25T12:58:35.998Z (about 2 years ago)
- Topics: ecommerce-api, eloquent-models, factory, laravel, mysql, passport, resource, rest-api
- Language: PHP
- Homepage: https://laraeapi.herokuapp.com
- Size: 909 KB
- Stars: 44
- Watchers: 2
- Forks: 17
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Laravel-Ecommerce-API
Simple and robust e-commerce API to assist those who are just getting started.
## Getting Started
for test These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
### Prerequisites
What things you need to install the software and how to install them
```
Laravel
PHP 8.1+
mysql
```
### Installing
A step by step series of examples that tell you how to get a development env running
Execute one by one
```
-> cp .env.example .env
-> composer install
-> php artisan key:generate
create folder under public/storage/images
-> php artisan migrate:fresh --seed
-> php artisan passport:install
-> php artisan serve
```
And repeat
```
until finished
```
End with an example of getting some data out of the system or using it for a little demo
## Running the tests
I am using Postman u can use anyone like insomnia
### create user token for create update and delete operation
-> (POST)localhost:8000/oauth/token
Headers
```
Accept : application/json
Content-Type : application/json
```
Body(put your details [Nb: password allows be 'secret' if you are using seed command] )
```
{
"grant_type" : "password",
"client_id" : "2",
"client_secret" : "xZNRgxf0f6xFmS8CLxcxkioL7Yhgj9eKOhFxIhkj",
"username" : "lkertzmann@example.org",
"password" : "secret"
}
```
## Break down into end to end tests
Flow below instraction for test your API
### Get all products
```
(GET) http://localhost:8000/api/products
```
### Get single products
```
(GET) http://localhost:8000/api/products/1
```
### Create products
```
(POST) http://localhost:8000/api/products
Headers
Accept : application/json
Content-Type : application/json
Authorization : "put your user secret"
Body(put your details)
{
"name" : "Iphone X",
"description" : "Super Retina in two sizes — including the largest display ever on an iPhone. Even faster Face ID. The smartest, most powerful chip in a smartphone. And a breakthrough dual-camera system. iPhone XS is everything you love about iPhone. Taken to the extreme.",
"price" : 10000,
"stock" : 10,
"discount" : 15
}
```
### Update product
```
same as create only change request post to put
```
### Delete product
```
(DELETE) http://localhost:8000/api/products/2
also need some headers as like as product create
```
### Get all reviews in particular product
```
(GET) http://localhost:8000/api/products/1/reviews
```
### Create review
```
(POST) http://localhost:8000/api/products/1/reviews
Body(put your details)
{
"customer": "Rakib Hasan Sabbir",
"review" : "Quo sapiente quos suscipit. Dolor et sit architecto deserunt sunt.",
"star" : 5
}
```
### Delete review
```
(DELETE) http://localhost:8000/api/products/1/reviews/501
```