Compare commits

..

No commits in common. "349ba54b13f15078283dffc10481737ad74973b5" and "e44d9f0b6f7fb353f87ddf04b3fe6903280cc08b" have entirely different histories.

2 changed files with 100 additions and 2 deletions

View file

@ -0,0 +1,98 @@
# 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"
}
```