GithubHelp home page GithubHelp logo

sep's Introduction

Skill Enhancement Portal Telstra

This is the backend for Skill Enhancement Portal project. A brief description of the available APIs.

Authentication API Reference

Sign Up

  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

Sign Up

  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

Sign Out

  POST /auth/signout
Parameter Type Description
refreshToken string Required. Refresh token provided while sign in

Users API Reference

Get User Profile

  GET /users/{user_id}/profile
Parameter Type Description
user_id Long Required. User id to retrieve user's profile

Follow User

  POST /follow/{user_id}/
Parameter Type Description
user_id Long Required. User id to follow that user

Fet User Followers List

  GET /followers/{user_id}/
Parameter Type Description
user_id Long Required. User id to get that users's followers list

Fet User Following List

  GET /following/{user_id}/
Parameter Type Description
user_id Long Required. User id to get that users's following list

Mark User As Spam

  POST /spam/{user_id}/
Parameter Type Description
user_id Long Required. User id to mark user as spam

Get User Spam Count

  POST /spam/{user_id}/
Parameter Type Description
user_id Long Required. Get total number of spam reports of a user

Get User Notifications

  GET /notification/{user_id}/
Parameter Type Description
user_id Long Required. User Id to fetch user's notifications

Questions API Reference

Create Question

  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
Tag
Parameter Type Description
name string Required. Name of the tag

Search Question

  GET /ques/search
Parameter Type Description
text string Required. Your question query
tag Tag Required. Appropriate tag/category for the question

Vote a 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

List Trending Questions

  GET /ques/

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

  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

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

Features

  • 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.

MySQl Tables

App Screenshot

Tech Stack

Server: Spring boot
Data Base: MySQL

sep's People

Contributors

nullbyte007 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.