Skip to content

User Authentication and Authorization using NodeJS and documented with swaggerAPI

Notifications You must be signed in to change notification settings

natcobbinah/MERN_App_APIs

Repository files navigation

MERN APIs

Features

  1. Social Media App (users, followers, posts and comments)
  2. ClassRoom App (users, courses, lessons and enrollments)

App Breakdown

Backend Stack: NodeJS, MongoDB Atlas

Libraries: ExpressJS, SwaggerAPI, Mongoose, jsonwebtoken and others

A user CRUD and auth functionality implementations:

1. Sign up: Users can register by creating a new account using an email address.
2. User list: Any visitor can see a list of all registered users.
3. Authentication: Registered users can sign-in and sign-out.
4. Protected user profile: Only registered users can view individual user details after signing in.
5. Authorized user edit and delete: Only a registered and authenticated user can edit or remove their own user account details.

Social Media App

MERN Social is a social media application with rudimentary features inspired by existing social media platforms such as Facebook and Twitter

Implementation of the social media-flavored app features:

1. User profile with a description and a photo
2. Users following each other
3. Who to follow suggestions
4. Posting messages with photos
5. Newsfeed with posts from followed users
6. Listing posts by user
7. Liking posts
8. Commenting on posts

Classroom App

MERN Classroom is a simple online classroom application, which allows

1. educators to add courses that are made up of various lessons, 
2. while students can enroll on these courses. 

Additionally, the application will allow

4. students to track their progress throughout the course, 
5. whereas instructors can monitor how many students have enrolled in/on a course, and 
6. how many have completed each course

About

User Authentication and Authorization using NodeJS and documented with swaggerAPI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published