Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

github.com/surajeet310/bugit-go-server

Package Overview
Dependencies
Versions
40
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/surajeet310/bugit-go-server

Source
Go Modules
Version
v0.0.0-20220422125319-69c30cdb753a
Version published
Created
Source

Bugit-Server

Bugit is an android based application, which provides solutions to manage virtual workspaces, projects and assign and track bugs for the same.
The REST Api is written in Gin, a framework of Golang and is deployed on Heroku. The Api uses RDBMS (Postgresql) to organize and store data.

API Documentation

Base Url

https://bugit-server.herokuapp.com/

Database schema

There exist 9 relational tables as listed below :

  • Users
  • Workspaces
  • Projects
  • Tasks
  • Requests
  • Workspace-Members
  • Project-Members
  • Task-members
  • Task-comments

API endpoints

The responses and requests are in JSON format . Unique identifiers, in all the tables are of the data type UUID4 . JWT (JSON Web Token) is used for authentication .

Data Types of columns
(project_count, member_count, priority, alert) - int
(name,descp, deadline, created_at, user_name, requestee, email, tech, comment) - string
(is_taken, is_admin, is_assignee) - bool
(assignee, assigned_to) - uuid

Non-Auth endpoints (Base url/open)

EndpointMethodRequestResponse
/registerPOST{"fname":"","lname":"","email":"","password":""} {"response":"success","result":null}
/loginPOST"email":"","password":""}{"response":"success","result":token}

Auth endpoints (Base url/auth)

  • Workspaces

    Response Data Types
    {"w_id" :  , "name" : "" , "project_count" :  ,"member_count" : } - home
    
    {"w_id" : ,"name" : "","descp" : "","project_count" : ,"member_count" : ,"created_at" : ""} - workspace
    
    {"p_id" : ,"name" : "","task_count" : ,"member_count" : } - project
    
    {"user_id" : ,"is_admin" : ,"is_taken" : ,"user_name" : ""} - workspaceMembers
    
    {"user_id" : ,"is_admin" : ,"is_taken" : false, "user_name" : ""} - allWorkspaceMembers
    
    {"req_id" : ,"w_id" : ,"user_id" : , "requestee" : "", "priority" : } - request
    
    Request Data Types
    {"user_id" : "","name" : "","descp" : "", "created_at" : ""} - addWorkspaceStruct
    
    {"w_id" : "","email" : "","requestee_id" : ""} - addWorkspaceMemberReqStruct
    
    {"req_id" : ""} - addWorkspaceMemberStruct
    
    {"w_id" : "", "user_id" : ""} - makeUserAdminStruct
    
    EndpointMethodRequest Body/Query ParamsResponse
    /homeGETuser_id = {"response" : "success","result" : [ home ]}
    /home/workspaceGETworkspace_id = {"response" : "success","result" : { workspace, [ project ] }}
    /workspaceMembersGETworkspace_id = & project_id = {"response" : "success","result" : [ workspaceMembers ]}
    /allWorkspaceMembersGETworkspace_id = {"response" : "success","result" : [ allWorkspaceMembers ]}
    /requestsGETuser_id = {"response" : "success","result" : [ request ]}
    /addWorkspacePOSTaddWorkspaceStruct{"response" : "success","result" : null}
    /addWorkspaceMemberReqPOSTaddWorkspaceMemberReqStruct{"response" : "success","result" : null}
    /addWorkspaceMemberPOSTaddWorkspaceMemberStruct{"response" : "success","result" : null}
    /makeUserAdminPOSTmakeUserAdminStruct{"response" : "success","result" : null}
    /deleteWorkspaceDELETEworkspace_id = {"response" : "success","result" : null}
    /removeWorkspaceMemberDELETEworkspace_id = & user_id = {"response" : "success","result" : null}
  • Projects

    Response Data Types
    {"p_id" : ,"name" : "", "descp" : "", "task_count" : ,"member_count" : ,"created_at" : "", "deadline" : "", "tech" : ""} - project
    
    {"t_id" : , "name" : ""} - task
    
    {"user_id" : ,"is_admin" : ,"is_assigned" : ,"user_name" : ""} - projectMembers
    
    {"user_id" : ,"is_admin" : ,"is_assigned" : false ,"user_name" : ""} - allProjectMembers
    
    Request Data Types
    {"w_id" : "", "user_id" : "", "name" : "", "descp" : "", "created_at" : "", "tech" : "", "deadline" : "" } - addProjectStruct
    
    {"p_id" : "", "user_id" : ""} - addProjectMemberStruct
    
    { "p_id" : "", "user_id" : ""} - makeProjectMemberAdminStruct
    
    EndpointMethodRequest Body/Query ParamsResponse
    /projectGETproject_id = {"response" : "success","result" : { project, [ task ] } }
    /projectMembersGETproject_id = & workspace_id = {"response" : "success","result" : [projectMembers] }
    /allProjectMembersGETproject_id = {"response" : "success","result" : [allProjectMembers] }
    /addProjectPOSTaddProjectStruct{"response" : "success","result" : null }
    /addProjectMemberPOSTaddProjectMemberStruct{"response" : "success","result" : null }
    /makeProjectUserAdminPOSTmakeProjectMemberAdminStruct{"response" : "success","result" : null }
    /deleteProjectDELETEproject_id = {"response" : "success","result" : null }
    /removeProjectMemberDELETEuser_id = & project_id = {"response" : "success","result" : null }
  • Tasks

    Response Data Types
    {"t_id" : , "p_id" : ,"name" : "", "descp" : "", "assignee" : ,"assigned_to" : ,"created_at" : "", "deadline" : "", "tech" : ""} - task
    
    {"tc_id" : , "t_id" : , "user_id" : , "comment" : "", "created_at" : } - taskComment
    
    Request Data Types
    {"p_id" : "", "name" : "", "descp" : "", "assignee" : "", "created_at" : "", "deadline" : "", "tech" : "" } - addTaskStruct
    
    {"t_id" : "", "user_id" : "", "comment" : "", "created_at" : "" } - addCommentStruct
    
    {"t_id" : "", "user_id" : "" } - assignTaskStruct
    
    EndpointMethodRequest Body/Query ParamsResponse
    /taskGETtask_id = {"response" : "success","result" : { task, [ taskComment ] } }
    /addTaskPOSTaddTaskStruct{"response" : "success","result" : null }
    /addComentPOSTaddCommentStruct{"response" : "success","result" : null }
    /assignTaskPOSTassignTaskStruct{"response" : "success","result" : null }
    /deleteTaskDELETEtask_id = {"response" : "success","result" : null }
  • Users

    Response Data Types
    {"email" : "", "fname" : "", "lname" : "", "alert" : } - user
    
    Request Data Types
    {"user_id" : "", "password" : "" } - checkPwdStruct
    
    {"user_id" : "", "fname" : "" } - changeFnameStruct
    
    {"user_id" : "", "lname" : "" } - changeLnameStruct
    
    {"user_id" : "", "password" : "" } - changePasswStruct
    
    EndpointMethodRequest Body/Query ParamsResponse
    /userGETuser_id = {"response" : "success","result" : user }
    /getUserIdGET{"response" : "success","result" : user_id }
    /checkPwdPOSTcheckPwdStruct{"response" : "success","result" : null }
    /changeFnamePATCHchangeFnameStruct{"response" : "success","result" : null }
    /changelnamePATCHchangeLnameStruct{"response" : "success","result" : null }
    /changePwdPATCHchangePasswStruct{"response" : "success","result" : null }
    /deleteUserDELETEuser_id = {"response" : "success","result" : null }

FAQs

Package last updated on 22 Apr 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts