Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ayine-nongre/blog-api


https://github.com/ayine-nongre/blog-api

blog-api mysql nodejs

Last synced: 1 day ago
JSON representation

Awesome Lists containing this project

README

        

# BLOG API
This repository houses the backend code for a lightweight, user-friendly blog platform built with NodeJS and express.This project allows users to:

  ⚪ Create and manage blog posts: Write, edit, add titles, bodies, and categories.

  ⚪ Comment on blog posts: Leave comments on a post.

  ⚪ User roles and permissions: Differentiate between admins, authors, and readers with varying access levels.

## FEATURES IMPLEMENTED
✔️ User signup and login with secure hashing and jwt authentication

✔️ Users with Author permissions can create posts

✔️ Users with admin permissions can create / delete categories

✔️ Users can comment on a blog posts

## TECHNOLOGIES USED
![NodeJS](https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge&logo=node.js&logoColor=white) ![MySQL](https://img.shields.io/badge/mysql-%2300f.svg?style=for-the-badge&logo=mysql&logoColor=white) ![Express.js](https://img.shields.io/badge/express.js-%23404d59.svg?style=for-the-badge&logo=express&logoColor=%2361DAFB) ![JWT](https://img.shields.io/badge/JWT-black?style=for-the-badge&logo=JSON%20web%20tokens)

## GETTING STARTED
1. Clone the project

```
git clone https://github.com/Ayine-nongre/Blog-API.git
```
2. Change to project directory

```
cd Blog-API/
```
3. Set up enviroment variables in env file

```
DB_USER, DB_PASSWD, PRIVATEKEY
```
4. Install packages used in project

```
npm install
```
5. Start server

```
nodemon app.js
```

## DISCLAIMER
This project is a basic implementation and lacks some advanced features like search, analytics, or social integrations. Feel free to extend its functionalities and tailor it to your specific needs.

I hope you find this project useful 😄