https://github.com/jahidhiron/node-blog-api
This repository contains a simple Node.js blog API developed for educational purposes, particularly for teaching on Udemy. It provides a basic foundation for understanding how to create RESTful APIs using Node.js, Express.js, and MongoDB.
https://github.com/jahidhiron/node-blog-api
expressjs mongodb mongoose nodejs restfulapi
Last synced: 5 months ago
JSON representation
This repository contains a simple Node.js blog API developed for educational purposes, particularly for teaching on Udemy. It provides a basic foundation for understanding how to create RESTful APIs using Node.js, Express.js, and MongoDB.
- Host: GitHub
- URL: https://github.com/jahidhiron/node-blog-api
- Owner: jahidhiron
- Created: 2023-08-29T02:39:10.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-26T10:30:47.000Z (almost 2 years ago)
- Last Synced: 2024-07-26T11:59:41.580Z (almost 2 years ago)
- Topics: expressjs, mongodb, mongoose, nodejs, restfulapi
- Language: JavaScript
- Homepage:
- Size: 84 KB
- Stars: 6
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Nodejs Blog REST API
[](https://opensource.org/licenses/MIT)
## Description
This repository contains a simple Node.js blog API developed for educational purposes, particularly for teaching on Udemy. It provides a basic foundation for understanding how to create RESTful APIs using Node.js, Express.js, and MongoDB.
## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
- [Features](#features)
- [API Endpoints](#endpoints)
- [Technology](#technology)
- [Decision](#decision)
- [License](#license)
## Installation
Install MongoDb Database
```bash
git clone git@github.com:jahidhiron/node-blog-api.git
cd node-blog-api
npm install
```
## Usage
```bash
npm start
```
## Features
- Authentication and Authorization
- Add, Update, Delete blog posts
- Search and filter blogs with pagination
- Sending email
- Flexible and easy-to-use API endpoints
- Scalable and well-documented codebase
## API Endpoints
Look at 'api-collection/api-collection.json' file for API end point
## Technology
1. Used `node.js` runtime environment for server side
2. `Express.js` web framework
3. To validate request, I have used `express-validator`
4. `SendGrid` is used to send email
## Decision
1. `Why nodejs/Express?: ` Node. js uses non-blocking, event-driven I/O to remain lightweight and efficient in the face of data-intensive real-time applications that run across distributed devices.
2. I have used pagination instead of loading all data at a time. Initially, it loads 10 items
3. Authentication, authorization, user verify, recover password are added to this app
## License
This project is licensed under the MIT License.