Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/saddamarbaa/node-express-typescript-social-media-rest-api

An open-source RESTful API developed using NodeJS, Express, MongoDB and TypeScript helps you to integrate User Authentication and Social Media Post Management in your application with Filter, pagination, Sort and Search API
https://github.com/saddamarbaa/node-express-typescript-social-media-rest-api

express filter-pagination-sort-search jwt-authentication mongodb multer nodejs swagger-ui typescript

Last synced: 3 months ago
JSON representation

An open-source RESTful API developed using NodeJS, Express, MongoDB and TypeScript helps you to integrate User Authentication and Social Media Post Management in your application with Filter, pagination, Sort and Search API

Awesome Lists containing this project

README

        

# open-source-blog-api

Free Open source REST API built with | TypeScript + Nodejs + Express + Mongodb ⚡️ Made with developer experience first Prettier + ESLint + VSCode setup.

> - C.R.U.D, Filter, Paginate, Sort, image upload, and Search API

# Table of contents

- [Author](#Author)
- [Demo](#Demo)
- [Technologies](#Technologies)
- [Contributing](#Contributing)
- [Status](#status)
- [Features](#Features)
- [Related Projects](#Related_Projects)
- [Support](#Support)
- [Feedback](#Feedback)
- [Screenshots](#Screenshots)
- [Deployment](#Deployment)

# Author

### @Saddam Arbaa

# Technologies

- TypeScript
- Node.js
- Express
- MongoDB
- JSON Web Token (JWT)
- bcryptjs
- jest
- supertest
- Heroku Hosting

# Demo

### LIVE API Demo

### Front-End REPO

### LIVE Webside DEMO

## Testing Email: [email protected]

## Testing Password: 12345test

# Features

##### (Users)

- Complete user authentication
- Users can sign in
- Users can sign out
- Users can verify email
- Users can Change Password
- View all post
- View post detail
- Filter posts by category
- Search for posts
- Posts pagination
- Limit posts

##### (Admin)

- Complete Admin Authorization
- Add post
- Update post
- Delete post
- Add Users (todo)
- Update Users (todo)
- Delete Users
- Update User Role (todo)

# Contributing

Contributions are always welcome!

# Deployment

To deploy this project on Heroku Flow the Flowing documentation Deploying Node.js Apps on Heroku

# Related_Projects

### Blog built with | React Js + Next Js + Node.js + Express + MongoDB + CSS Modules + Vercel Hosting

#### Blog REPO

#### LIVE Webside DEMO

### Open Source Ecommerce API built with | Nodejs + Express + Mongodb + JWT authentication (CRUD operations, search, sort, filter, image upload and pagination)

#### LIVE API

#### API REPO

### Twitter API built with | Nodejs + Express + Mongodb

#### LIVE API Demo

#### API REPO

#### Front-End REPO

#### LIVE Webside DEMO

### Netflix API built with | Nodejs + Express + Mongodb

#### API REPO

#### LIVE API Demo

# Support

For support, email [email protected].

# Feedback

If you have any feedback, please reach out to me at [email protected]

Twitter
https://twitter.com/ArbaaSaddam/

Linkedin.
https://www.linkedin.com/in/saddamarbaa/

Github
https://github.com/saddamarbaa

Instagram
https://www.instagram.com/saddam.dev/

Facebook
https://www.facebook.com/saddam.arbaa

# Status

Project is: in progress I'm working on it in my free time

# Screenshots

## My Blog Software Requirements

https://docs.google.com/document/d/1lZvacY90Yo19QcnJxRJyy1AAZkTi0Vi5qXHTtptqAiU/edit

![image](https://user-images.githubusercontent.com/51326421/111891042-f857f580-8a21-11eb-8bb9-310f0c666f91.png)

## Business Requirements

![image](https://user-images.githubusercontent.com/51326421/111891112-b4192500-8a22-11eb-92e9-20854d336b57.png)

## Technical Requirements

![image](https://user-images.githubusercontent.com/51326421/111891149-33a6f400-8a23-11eb-9f98-bea822a938f3.png)

## My Blog SUser Flow

https://app.diagrams.net/#G1DYvf-0FWMjC2nDzFbvAgbJ03Zg8DLfRZ

![image](https://user-images.githubusercontent.com/51326421/111890990-5b955800-8a21-11eb-89db-3f552bd8f7ff.png)

## Blog App: Wireframe

https://app.diagrams.net/#G1Wo8rd6DVJUyCwp7aC6kLpvMkBM3Mgh8l

## responsive on large screens(Home Page)

![image](https://user-images.githubusercontent.com/51326421/198089229-140a67d9-5cbc-42ea-b871-c84437bbebbe.png)

## responsive on mobile and tablet screens

![image](https://user-images.githubusercontent.com/51326421/198090336-7f9db2bf-6f5f-4c77-84ea-74025d027e55.png)

## post detail page

![image](https://user-images.githubusercontent.com/51326421/198090667-46907f31-58d1-44d8-a995-bea487ec9458.png)

## Edit new post page

![image](https://user-images.githubusercontent.com/51326421/198096430-5c5928b0-f39d-44c0-ad80-ab887615a743.png)

## Edit post page

![image](https://user-images.githubusercontent.com/51326421/198090907-759c57f7-c3ca-4d9e-bdd7-5f57bfcb57ac.png)

## Login Page

![image](https://user-images.githubusercontent.com/51326421/198091036-5306633d-60da-4c9b-8457-ef2e54c5ba0b.png)

![image](https://user-images.githubusercontent.com/51326421/198091134-4582d1b6-33ed-403f-9f33-2544ee9372e7.png)

![image](https://user-images.githubusercontent.com/51326421/198091226-a97c21f4-7661-4614-a6ca-e7b98aacf068.png)

## Register page

![image](https://user-images.githubusercontent.com/51326421/198091354-d8d03db0-97c1-4315-8a43-e8fb6351b230.png)

![image](https://user-images.githubusercontent.com/51326421/198091554-d18d0adf-2a79-42cb-8d83-33920e2ba3d3.png)

## Forgot password page

![image](https://user-images.githubusercontent.com/51326421/198091856-c917f9b5-17a8-4aa6-b91e-f1636cfee361.png)

![image](https://user-images.githubusercontent.com/51326421/198092467-0e393c59-fb00-48ad-9c93-55b116794f1d.png)

## Reset password page

![image](https://user-images.githubusercontent.com/51326421/198092583-0437999c-dc3e-4a5a-ac47-7f1eac4bba8d.png)