## Project Decripsion
You are wondering, worried about how to design a fashion style to go to a party, a picnic or work. This makes you really headache and takes a lot of time to prepare. My website fashionforeveryone.com will solve all these problems for you
## User Story
fashionforeveryone.com is a website about a clothing store, here we provide fashion clothing suitable for every activity for every person.
- As a shopper, you can select and buy items
- As a store manager, you can edit, upload, get , delete your items
### Authentication
- As a user, I can sign in with my email and password.
- As a user, I can register a new account by name, email and password.
- As a user, I can stay signed in after refreshing the page
### Users
- As a user, I can filter list of items
- As a user, I can see list of items.
- As a user, I can update my profile.
### Store Manager
- As a store manager, i can get list of items.
- As a store manager, i can edit item.
- As a store manager, i can create new item.
- As a store manager, i can delete the item.
### Items
- As a shopper and store manager, i can get list of items.
- As a shopper and store manager, i can get detail of item.
## API Endpoints
### Auth APIs
```
* @route POST /auth/login
* @description Login with username and password
* @body {email, password}
* @access Public
```
### Shopper APIs
```
* @route POST /users
* @description Register new user
* @body {name, email, password}
* @access Public
```
```
* @route GET /users/me
* @description Get user Information
* @access Login required
```
```
* @route PUT /users
* @description Update user Information
* @body {name, age, phoneNumber, address}
* @access Login required
```
```
* @route PUT /users/additems
* @description Add item to user's cart
* @access Login required
```
```
* @route GET /users/payhistory
* @description Get transaction history, payment
* @access Login required
```
### Transaction, Payments APIs
```
* @route GET /payment
* @description Get details of transaction and payment information
* @access Login
```
```
* @route POST /payment
* @description Post transaction and payment information of users
* @access Login
```
### Items APIs
```
* @route GET /items?page=1&limit=10
* @description Get item with pagination
* @access Public
```
```
* @route GET /items/:id
* @description Get detail of item
* @access Public
```
## Entity Relationship Diagram
