This is the backend for Skill Enhancement Portal project. A brief description of the available APIs.
POST /auth/signup
Parameter | Type | Description |
---|---|---|
username |
string |
Required. Your username |
email |
string |
Required. Your email id |
password |
string |
Required. Password for your account |
linkedin |
string |
Link to your linkedin profile |
github |
string |
Link to your github account |
POST /auth/signin
Parameter | Type | Description |
---|---|---|
username |
string |
Required. Your username (Unique) |
email |
string |
Required. Your email id |
password |
string |
Required. Password for your account |
POST /auth/signout
Parameter | Type | Description |
---|---|---|
refreshToken |
string |
Required. Refresh token provided while sign in |
GET /users/{user_id}/profile
Parameter | Type | Description |
---|---|---|
user_id |
Long |
Required. User id to retrieve user's profile |
POST /follow/{user_id}/
Parameter | Type | Description |
---|---|---|
user_id |
Long |
Required. User id to follow that user |
GET /followers/{user_id}/
Parameter | Type | Description |
---|---|---|
user_id |
Long |
Required. User id to get that users's followers list |
GET /following/{user_id}/
Parameter | Type | Description |
---|---|---|
user_id |
Long |
Required. User id to get that users's following list |
POST /spam/{user_id}/
Parameter | Type | Description |
---|---|---|
user_id |
Long |
Required. User id to mark user as spam |
POST /spam/{user_id}/
Parameter | Type | Description |
---|---|---|
user_id |
Long |
Required. Get total number of spam reports of a user |
GET /notification/{user_id}/
Parameter | Type | Description |
---|---|---|
user_id |
Long |
Required. User Id to fetch user's notifications |
POST /ques/
Parameter | Type | Description |
---|---|---|
postName |
string |
Required. Subject of your question |
url |
string |
Any associated links with the question/Refrence to some other question |
description |
string |
Required. Detailed description of your question |
tag |
Tag |
Required. Appropriate tag/category for the question |
Parameter | Type | Description |
---|---|---|
name |
string |
Required. Name of the tag |
GET /ques/search
Parameter | Type | Description |
---|---|---|
text |
string |
Required. Your question query |
tag |
Tag |
Required. Appropriate tag/category for the question |
POST /ques/{question_id}/upvote
POST /ques/{question_id}/downvote
Parameter | Type | Description |
---|---|---|
question_id |
string |
Required. Id of the question to vote for |
GET /ques/
Lists the top 10 trending question based on the number of comments and number of upvotes.
DELETE /ques/{question_id}
Parameter | Type | Description |
---|---|---|
question_id |
string |
Required. Id of the question to be deleted |
POST /comment/
Parameter | Type | Description |
---|---|---|
q_id |
string |
Required. Id of the question where we are posting comment |
url |
string |
Any associated links with the comment/Refrence to some other question |
text |
string |
Required. Description of your comment/answer |
POST /comment/{comment_id}/upvote
POST /comment/{comment_id}/downvote
Parameter | Type | Description |
---|---|---|
comment_id |
string |
Required. Id of the comment to vote for |
POST /comment/{comment_id}/select
The owner of the question can select a particular comment as an acceptable solution to the question.
DELETE /comment/{comment_id}
Parameter | Type | Description |
---|---|---|
comment_id |
string |
Required. Id of the comment to be deleted |
- Users can follow each other
- Users get point for commenting, creating a question and getting there comment selected as answer.
- Users can mark another user as spam and if the spam count for a particular goes above 20 that user wont be able to access his/her account
- Full text search implemented to make question searching easier.
Server: Spring boot
Data Base: MySQL