Skill Enhancement Portal Telstra
This is the backend for Skill Enhancement Portal project. A brief description of the available APIs.
Authentication API Reference
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 |
Parameter |
Type |
Description |
username |
string |
Required. Your username (Unique) |
email |
string |
Required. Your email id |
password |
string |
Required. Password for your account |
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 |
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 |
Parameter |
Type |
Description |
user_id |
Long |
Required. User id to mark user as spam |
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 |
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 |
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 |
Lists the top 10 trending question based on the number of comments and number of upvotes.
Delete a Question (Only Owner)
DELETE /ques/{question_id}
Parameter |
Type |
Description |
question_id |
string |
Required. Id of the question to be deleted |
Comments API Reference
Create a 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 |
Vote a Comment
POST /comment/{comment_id}/upvote
POST /comment/{comment_id}/downvote
Parameter |
Type |
Description |
comment_id |
string |
Required. Id of the comment to vote for |
Select Comment as Answer (Only for question owner)
POST /comment/{comment_id}/select
The owner of the question can select a particular comment as an acceptable solution to the question.
Delete a Comment (Only Owner)
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