ecomm/README.md
2023-06-11 12:52:34 +03:00

98 lines
1.6 KiB
Markdown

# Ecomm #
## Description ##
This is a simple e-commerce backend application.
Technologies used:
* Node.js
* typescript
* Express.js
* MongoDB
* Mongoose ORM
* Docker (docker-compose)
* bcrypt
* JWT
## How to run ##
1. Clone the repository
2. Make sure you have docker and docker-compose installed
3. Implement the .env file
4. Run `docker-compose up` in the root directory
The application will be running on port 3000
The database will be running on port 27017
# API #
app.use('/products', productRouter);
app.use('/cart', cartRouter);
## Users ##
## POST /users ## - Create a new user
### Request body ###
```json
{
"name": "string",
"email": "string",
"password": "string"
}
```
### Response body ###
```json
{
"user": {
"_id": "string",
"name": "string",
"email": "string",
"password": "string",
"createdAt": "string",
"updatedAt": "string",
"__v": "number"
},
"token": "string"
}
```
## POST /users/login ## - Login
### Request body ###
```json
{
"email": "string",
"password": "string"
}
```
### Response ###
# body #
```json
{
"access-token": "string"
}
```
# headers #
``` Cookie - "access-token"": "string" ```
## Products ##
## GET /products ## - Get all products
accepts query params: page, limit. Default values: page = 0, limit = 50.
### Response body ###
```json
{
"products": [
{
"_id": "string",
"name": "string",
"description": "string",
"price": "number",
"createdAt": "string",
"updatedAt": "string",
"__v": "number"
}
],
"total": "number"
}
```