Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maniruzzamanakash/node-advanced-crud-api
An advanced CRUD API for Node JS & Express implementing with MVC pattern and many more standards...
https://github.com/maniruzzamanakash/node-advanced-crud-api
api-validator crudapi expressapi expressjs mongodb-database mvc-api mvc-architecture node nodejs-api nodejsapi todoapi
Last synced: 1 day ago
JSON representation
An advanced CRUD API for Node JS & Express implementing with MVC pattern and many more standards...
- Host: GitHub
- URL: https://github.com/maniruzzamanakash/node-advanced-crud-api
- Owner: ManiruzzamanAkash
- Created: 2021-07-23T20:21:33.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2021-08-27T15:00:08.000Z (about 3 years ago)
- Last Synced: 2024-09-23T01:32:15.657Z (3 days ago)
- Topics: api-validator, crudapi, expressapi, expressjs, mongodb-database, mvc-api, mvc-architecture, node, nodejs-api, nodejsapi, todoapi
- Language: JavaScript
- Homepage: https://node-cruds-api.herokuapp.com/
- Size: 82 KB
- Stars: 11
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Advance CRUD API with Node JS & Express
An advanced CRUD API for Node JS implementing with MVC pattern and many more standards...
---
### Technologies & Featuers:
1. MongoDB
1. Mongoose
1. Express JS
1. Node JS
1. MVC (Model-View-Controller) Pattern
1. Schema Validation
1. Form Validation### How to Run:
#### Install NPM
```bash
npm i
```#### Create `.env` file by copying `.env.example`
```bash
MONGODB_DEFAULT_DB=
MONGODB_CLUSTER=
MONGODB_USERNAME=
MONGODB_PASSWORD=
```#### Run Project with nodemon setup (Watch any changes)
```bash
npm run dev
```
#### Postman API Link
https://www.getpostman.com/collections/058c397fd09ae4cf3a9c#### Live Web API Demo Links at a glance
1. Base URL - https://node-cruds-api.herokuapp.com/
1. All Todos - https://node-cruds-api.herokuapp.com/todos
1. Single Todos - https://node-cruds-api.herokuapp.com/todos/60fb121b55e09ca6e646e93e
1. Post API - https://node-cruds-api.herokuapp.com/todos [Body dataset Read below]
1. Put API - https://node-cruds-api.herokuapp.com/todos/60fb121b55e09ca6e646e93e [Body dataset Read below]
1. Delete API - https://node-cruds-api.herokuapp.com/todos/60fb121b55e09ca6e646e93e [Body dataset Read below]
1. Delete All API - https://node-cruds-api.herokuapp.com/todos [Body dataset Read below]#### Todo List
URL: http://localhost:3000/todos
Method: `GET`Response:
```js
[
{
"_id": "60fadbf0fb1e9926fb60c07d",
"title": "First todo",
"status": "Done"
},
{
"_id": "60fadfc796dbc5f55f4adbe0",
"title": "Another task",
"status": "Pending"
}
]
```Todo Detail:
Endpoint:
http://localhost:3000/todos/60fadbf0fb1e9926fb60c07d
Method:
GET
Response:
```js
{
"_id": "60fadbf0fb1e9926fb60c07d",
"title": "First todo",
"status": "Done"
}
```Todo Create:
Endpoint:
http://localhost:3000/todos
Method:
POST
Body:
```js
{
"title": "Demo Todo 1",
"status": "Pending"
}
```Response:
```js
{
"_id": "60fb0e8bd8cd4f9cb52910a0",
"title": "Demo Todo 1",
"status": "Pending",
"createdAt": "2021-07-23T18:46:35.288Z",
"updatedAt": "2021-07-23T18:46:35.288Z",
"__v": 0
}
```Todo Update:
Endpoint:
http://localhost:3000/todos/60fadbf0fb1e9926fb60c07d
Method:
PUT
Body:
```js
{
"title": "Demo Todo 1 Updated",
"status": "Done"
}
```Response:
```js
{
"message": "Todo has been updated successfully !",
"data": {
"_id": "60fadbf0fb1e9926fb60c07d",
"title": "Demo Todo 1 Updated",
"createdAt": "2021-07-23T17:54:04.823Z",
"updatedAt": "2021-07-23T18:54:12.279Z",
"__v": 0,
"status": "Done"
}
}
```Todo Delete:
Endpoint:
http://localhost:3000/todos/60fadbf0fb1e9926fb60c07d
Method:
DELETE
Response:
```js
{
"message": "Todo has been deleted successfully !",
"data": {
"_id": "60fb139e55e09ca6e646e947",
"title": "Test Todo",
"status": "Done",
"createdAt": "2021-07-23T19:08:14.137Z",
"updatedAt": "2021-07-23T19:08:14.137Z",
"__v": 0
}
}
```Todo Delete All:
Endpoint:
http://localhost:3000/todos
Method:
DELETE
Response:
```js
{
"message": "7 Todos have been deleted successfully !"
}
```#### Contribution:
1. Create Pull-Request to contribute this Todo API
#### Contact:
#### Donate:
Patreon Link - https://www.patreon.com/maniruzzaman