/Whizingo-The-Social-Network

This is a social network platform aimed to bring people with similar interests together.

Primary LanguageJavaScript

Whizingo - The Social Network

This is my academic project as a part of Service Oriented Application Development(SOAD) Course - Mansoon 2019-20

Node js MongoDB

Proposal

Whizingo is a platform for individuals and organizations to use for creating, sharing, exchanging, discussing information, ideas and pictures or videos. It's goal is to bring similar minded people together so that they can interact and have a healthy conversation amongst them. It's try to rank users on the basis of their activities on our platform which would help in future recommendations for the user as well as help the groups also to decide whether he is good enough to become a member of that group. This would improve the functioning of the groups and they will not be polluted by bad members.

Installation

Before doing anything you have to clone or download(and unzip) the project folder, open terminal and navigate to the project folder and run:

npm i

This will install all the dependencies required by the project.

Getting Started

To start using this API, start your local database server, open terminal and navigate to the project folder and run:

npm run dev

demo

img1
img2
img3
img4
img5
img5
img6
img7
img8


APIs Documentation

User Authorization endpoints

S.No. Route Method Access Description
1. api/users/resgitser POST public register users
2. api/users/login POST public login users
3. api/users/current GET private returns current user

Profile endpoints

S.No. Route Method Access Description
1. api/profile GET Private to get personal profile
2. api/profile POST Private create or edit profile
3. api/profile/user/:user_id GET Public get profile by user ID
4. api/profile/all GET Public get all profiles
5. api/profile/expericence POST Private add experience to profile
6. api/profile/expericence/:exp_id DELETE Private delete experience from profile
7. api/profile/education POST Private add education to profile
8. api/profile/education/:edu_id DELETE Private delete education from profile
9. api/profile DELETE Private delete user and profile

Post endpoints

S.No. Route Method Access Description
1. api/posts/ GET public get all posts
2. api/posts/:id POST public get post by id
3. api/posts/ POST private create post
4. api/posts/:id DELETE private delete post by id
5. api/posts/like/:id POST private like post
6. api/posts/unlike/:id POST private unlike post
7. api/posts/comment/:id POST private add comment to post
8. api/posts/comment/:id/:comment_id DELETE private remove comment from post

Friend Request endpoints

S.No. Route Method Access Description
1. api/friends/all GET private get all friends
2. api/friends/requestsent POST private friend request sent
3. api/friends/requestaccept POST private friend request accept
4. api/friends/requestcancel POST private friend request cancel

Recommendations endpoints

Friend Suggestions:-

S.No. Route Method Access Description
1. api/recommendations GET private get recommendations

Notifications endpoints

S.No. Route Method Access Description
1. api/notification/all GET private get all notifications
2. api/notification/seen/:id POST private post seen notification

Message endpoints

S.No. Route Method Access Description
1. api/message/received/:id GET private get received message of a id
2. api/message/sent/:id GET private get sent message of a id
3. api/message/send/:id POST private post send message of a id
4. api/message/:id DELETE private delete message of a id