-
A project app for recipe lovers, which can be accessed via authorization.
-
The project is based on Node.js, Express, and MongoDB. The Cloudinary service is connected. The documentation was created using the Swagger service.
-
To run the project locally, follow these steps:
- Clone the repository;
- Install the dependencies;
- Run the following command:
npm run dev
;
HTTP Method | Endpoint | Description |
---|---|---|
POST | /auth/signup |
User registration |
POST | /auth/signin |
User login |
POST | /auth/logout |
User logout |
POST | /auth/refresh |
User refresh |
GET | /auth/current |
Get user info |
PUT | /auth |
Update user info |
POST | /auth/avatars |
Upload a file |
HTTP Method | Endpoint | Description |
---|---|---|
GET | /recipes/category-list |
Get category list |
GET | /recipes/main-page |
Get main page |
GET | /recipes/:category |
Get recipes by category |
GET | /recipes/id/:id |
Get recipe by id |
GET | /recipes/search |
Search recipe by title or ingredient |
GET | /recipes/popular |
Get popular recipes |
HTTP Method | Endpoint | Description |
---|---|---|
GET | /ownRecipes |
Get user's recipes |
POST | /ownRecipes |
Add new Recipe |
DELETE | /ownRecipes/:id |
Remove recipe by id |
POST | /ownRecipes/recipeImage |
Upload recipe's image |
HTTP Method | Endpoint | Description |
---|---|---|
GET | /shopping-list |
Get shopping-list |
POST | /shopping-list |
Add to shopping-list |
DELETE | /shopping-list/:shoppingListId |
Delete ingredients from shopping-list |
HTTP Method | Endpoint | Description |
---|---|---|
GET | /ingredients |
Get Ingredients list |
GET | /ingredients/:ingredientTtl |
Get recipes by ingredient |
HTTP Method | Endpoint | Description |
---|---|---|
GET | /favorites |
Get favorite recipe's |
POST | /favorites/:id |
Add recipe to favorite |
DELETE | /favorites/:id |
Delete recipe in favorite |
HTTP Method | Endpoint | Description |
---|---|---|
POST | /subscribe |
Subscribe for news |
DELETE | /subscribe/:email |
Unsubscribe for news |
Any questions you may have about the project can be answered by our team - just write us!