Compare commits
No commits in common. "349ba54b13f15078283dffc10481737ad74973b5" and "e44d9f0b6f7fb353f87ddf04b3fe6903280cc08b" have entirely different histories.
349ba54b13
...
e44d9f0b6f
2 changed files with 100 additions and 2 deletions
98
README.md
98
README.md
|
@ -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"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "nodemon dist/index.js",
|
"dev": "nodemon dist/index.js",
|
||||||
"start": "node dist/index.js",
|
"start": "node dist/index.js",
|
||||||
"build": "tsc -p ."
|
"build": "tsc -p ."
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
Loading…
Reference in a new issue