Download OpenAPI specification:
KWoC Backend API written in go
Fetches the required details for the mentor dashboard
{- "email": "string",
- "name": "string",
- "projects": [
- {
- "commit_count": 0,
- "description": "string",
- "id": 0,
- "lines_added": 0,
- "lines_removed": 0,
- "mentor": {
- "name": "string",
- "username": "string"
}, - "name": "string",
- "project_status": true,
- "pull_count": 0,
- "pulls": [
- "string"
], - "readme_link": "string",
- "repo_link": "string",
- "secondary_mentor": {
- "name": "string",
- "username": "string"
}, - "status_remark": "string",
- "tags": [
- "string"
]
}
], - "students": [
- {
- "name": "string",
- "username": "string"
}
], - "username": "string"
}Update mentor details for logged in mentor
Fields required for Mentor update.
string | |
| name | string |
{- "email": "string",
- "name": "string"
}[- "string"
]Authenticates a user throught Github OAuth.
Fields required for authentication.
| code | string Code generated by Github OAuth |
| type | string
|
{- "code": "string",
- "type": "string"
}{- "college": "string",
- "email": "string",
- "is_new_user": true,
- "jwt": "string",
- "name": "string",
- "type": "string",
- "username": "string"
}[- {
- "comm_channel": "string",
- "description": "string",
- "id": 0,
- "mentor": {
- "name": "string",
- "username": "string"
}, - "name": "string",
- "readme_link": "string",
- "repo_link": "string",
- "secondary_mentor": {
- "name": "string",
- "username": "string"
}, - "tags": [
- "string"
]
}
]Register a new project with the provided details.
Fields required for project registeration
| comm_channel | string Link to a communication channel/platform |
| description | string Description for the project |
| mentor_username | string Mentor's username |
| name | string Name of the project |
| readme_link | string Link to the project's README file |
| repo_link | string Link to the repository of the project |
| secondary_mentor_username | string Secondary mentor's username |
| tags | Array of strings List of tags for the project |
{- "comm_channel": "string",
- "description": "string",
- "mentor_username": "string",
- "name": "string",
- "readme_link": "string",
- "repo_link": "string",
- "secondary_mentor_username": "string",
- "tags": [
- "string"
]
}{- "message": "string",
- "status_code": 0
}Update project details for the provided project ID.
Fields required for Project update.
| comm_channel | string Link to a communication channel/platform |
| description | string Description for the project |
| id | integer Id of the project in the database (required) |
| mentor_username | string Mentor's username |
| name | string Name of the project |
| readme_link | string Link to the project's README file |
| repo_link | string Link to the repository of the project |
| secondary_mentor_username | string Secondary mentor's username (if updated) |
| tags | Array of strings List of tags for the project |
{- "comm_channel": "string",
- "description": "string",
- "id": 0,
- "mentor_username": "string",
- "name": "string",
- "readme_link": "string",
- "repo_link": "string",
- "secondary_mentor_username": "string",
- "tags": [
- "string"
]
}{- "message": "string",
- "status_code": 0
}Fetches all the details for the Project with the provided ID provided the logged in user owns the project.
| id required | integer Project ID |
{- "comm_channel": "string",
- "description": "string",
- "id": 0,
- "mentor": {
- "name": "string",
- "username": "string"
}, - "name": "string",
- "readme_link": "string",
- "repo_link": "string",
- "secondary_mentor": {
- "name": "string",
- "username": "string"
}, - "tags": [
- "string"
]
}[- {
- "comm_channel": "string",
- "description": "string",
- "id": 0,
- "mentor": {
- "name": "string",
- "username": "string"
}, - "name": "string",
- "readme_link": "string",
- "repo_link": "string",
- "secondary_mentor": {
- "name": "string",
- "username": "string"
}, - "tags": [
- "string"
]
}
]submit a blog link for a student requires login
Fields required for student bloglink
| blog_link | string |
| username | string |
{- "blog_link": "string",
- "username": "string"
}{- "message": "string",
- "status_code": 0
}Fetches the required details for the student dashboard
{- "blog_link": "string",
- "college": "string",
- "commit_count": 0,
- "languages_used": [
- "string"
], - "lines_added": 0,
- "lines_removed": 0,
- "name": "string",
- "passed_end_evals": true,
- "passed_mid_evals": true,
- "projects_worked": [
- {
- "name": "string",
- "repo_link": "string"
}
], - "pull_count": 0,
- "pulls": [
- "string"
], - "username": "string"
}Register a new student with the provided details.
Fields required for student registeration
| college | string |
string | |
| name | string |
| username | string |
{- "college": "string",
- "email": "string",
- "name": "string",
- "username": "string"
}{- "message": "string",
- "status_code": 0
}