Back end application for e-learning.
All API request must be use this authentication
Request:
- Header:
- Authentication: "Bearer
token
"
- Authentication: "Bearer
- Method :
GET
- Endpoint :
/admin/dashboard
success
{
"code": 200,
"result": {
"course": {
"registeredStudent": "",
"registeredTeacher": "",
"available": "",
"expired": "",
"active": "",
"inactive": "",
"total": ""
},
"student": {
"verified": "",
"active": "",
"inactive": "",
"male": "",
"female": "",
"total": "",
"registeredToCourse": ""
},
"teacher": {
"experienced": "",
"active": "",
"inactive": "",
"male": "",
"female": "",
"total": ""
}
}
}
error
{
"code": 403,
"result": "message"
}
- Method :
GET
- Endpoint :
/attendance/status
- Query Param :
idModule/ idStudent
success
{
"code": 200,
"result": ""
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
/attendance
- Query Param :
idCourse/ idModule
success`
{
"code": 200,
"result": [
{
"id": "",
"code": "",
"firstName": "",
"lastName": "",
"email": "",
"phone": "",
"gender": "",
"attendanceId": "",
"attendanceTime": "",
"attendanceVersion": "",
"attendanceIsVerified": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method:
POST
- Endpoint:
attendance/student
- Body :
{
"idStudent": "",
"idModule": ""
}
success
{
"code": 201,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method:
PATCH
- Endpoint:
attendance
- Query Param :
attendanceId/userId
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
/course/category
{
"code": 200,
"result": [
{
"id": "",
"code": ",
"name": "",
"version": ""
}
]
}
- Method :
POST
- Endpoint :
/course/category
- Body :
{
"name" : "",
"code" : "",
"createdBy" : ""
}
success
{
"code": 201,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
PUT
- Endpoint :
/course/category
- Body :
{
"id" : "",
"code" : "",
"name" : "",
"createdBy": "",
"updateBy" : ""
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
PATCH
- Endpoint :
/course/category
- Body :
{
"id" : "",
"updateBy" : "",
"status" : ""
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
DELETE
- Endpoint :
/course/category/id/{id}
{
"code": "",
"result": ""
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
/course/available
- Query Param :
studentId
success
{
"code": 200,
"result": [
{
"id": "",
"code": "",
"typeName": "",
"capacity": "",
"isRegist": "",
"courseStatus": "",
"courseDescription": "",
"periodStart": "",
"periodEnd": "",
"categoryName": "",
"categoryCode": "",
"teacher": {
"id": "",
"code": "",
"firstName": "",
"lastName": "",
"tittle": "",
"experience": "",
"photoId": ""
}
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
/course/{courseId}
- Query Param :
studentId
success
{
"code": 200,
"result": {
"id": "",
"code": "",
"name": "",
"capacity": "",
"totalStudent": "",
"description": "",
"periodStart": "",
"periodEnd": "",
"modules": [
{
"id": "",
"code": "",
"title": "",
"description": "",
"subjectName": "",
"attendanceId": "",
"verifyStatus": "",
"schedule": {
"id": "",
"date": "",
"startTime": "",
"endTime": ""
}
}
]
}
}
error
{
"code": 400,
"result": "message"
}
- Method :
POST
- Endpoint :
course/register
- Query Param :
studentId/courseId
success
{
"code": 201,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
course/admin
success
{
"code": 200,
"result": [
{
"id": "",
"code": "",
"categoryName": "",
"typeName": "",
"capacity": "",
"periodStart": "",
"status": "",
"periodEnd": "",
"description": "",
"typeId": "",
"categoryId": "",
"teacherId": "",
"active": "",
"firstName": "",
"lastName": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
Get
- Endpoint :
course/{id}/students
success
{
"code": 200,
"result": [
{
"studentCourseId": "",
"studentId": "",
"code": "",
"firstName": "",
"lastName": "",
"email": "",
"phone": "",
"gender": "",
"isVerified": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method:
POST
- Endpoint:
course
- Body :
{
"code" : "",
"description" : "",
"courseTypeId" : "",
"teacherId" : "",
"courseCategoryId" : "",
"capacity" : "",
"periodStart" : "",
"periodEnd" : "",
"createdBy" : ""
}
success
{
"code": 201,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method:
Put
- ENDPOINT:
course
- Body :
{
"id" : "",
"code" : "",
"description" : "",
"courseTypeId" : "",
"teacherId" : "",
"courseCategoryId" : "",
"capacity" : "",
"periodStart" : "",
"periodEnd" : "",
"updateBy" : "",
"status" : ""
}
success
{
"code": 200,
"result": "message"
}
- Method:
DELETE
- ENDPOINT:
course
- Body :
{
"id" : "",
"updateBy" : ""
}
success
{
"code": 200,
"result": "message"
}
- Method:
GET
- Endpoint:
course/attendance/reports/{courseId}
success
{
"code": 200,
"result": [
{
"moduleId": "",
"moduleName": "",
"date": "",
"absent": "",
"present": "",
"totalStudent": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method:
GET
- Endpoint:
course/progress/{studentId}
success
{
"code": 200,
"result": [
{
"courseId": "",
"courseName": "",
"periodEnd": "",
"periodStart": "",
"totalModule": "",
"moduleComplete": "",
"percentProgress": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method:
PATCH
- Endpoint:
course/status
- Body :
{
"id" : "",
"status" : "",
"updateBy" : ""
}
success
{
"code": 200,
"result": "message"
}
- Method :
GET
- Endpoint :
/course/type
success
{
"code": 200,
"result": [
{
"id": "",
"code": "",
"name": "",
"version": "",
"active" : ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
POST
- Endpoint :
/course/type
- Body:
{
"code": "",
"name": "",
"createdBy": "",
}
success
{
"code": 201,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
PUT
- Endpoint :
/course/type
- Body:
{
"id": "",
"code": "",
"name": "",
"updatedBy": ""
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
Patch
- Endpoint :
/course/type
- Body:
{
"id": "",
"updatedBy": "",
"status" : ""
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
DELETE
- Endpoint :
/course/type/id/{id}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 404,
"result": "message"
}
- Method :
GET
- Endpoint :
exam/average-scores/student/{id}
success
{
"code": 200,
"result": [
{
"averageScore": "",
"code": "",
"title": "",
"startTime": "",
"endTime" : ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
exam/module/{id}
success
{
"code": 200,
"result": [
{
"id": "",
"title": "",
"code": "",
"description": "",
"type" : "",
"startTime": "",
"endTime": "",
"fileId": "",
"version": "",
"fileName" : ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
exam/{id}/submission
success
{
"code": 200,
"result": [
{
"id": "",
"fileId": "",
"fileName": "",
"code": "",
"firstName" : "",
"lastName": "",
"grade": "",
"submittedDate": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
exam/{examId}/submission/{studentId}
success
{
"code": 200,
"result": [
{
"detailId": "",
"fileId": "",
"fileName": "",
"code": "",
"firstName" : "",
"lastName": "",
"grade": "",
"submittedDate": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
POST
- Endpoint :
/exam/student
- Request Part :
multipart file
- Query Param :
examId/studentId
success
{
"code": 201,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
POST
- Endpoint :
/exam/module
- Request Part :
multipart file/body
- Body:
{
"moduleId": "",
"title": "",
"description": "",
"startTime": "",
"endTime": "",
"createdBy": "",
"type": "",
}
success
{
"code": 201,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
PUT
- Endpoint :
/exam/submission
- Body:
{
"id": "",
"grade": "",
"updateBy": "",
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
DELETE
- Endpoint :
/exam/{id}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
DELETE
- Endpoint :
/exam/submission/{id}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
POST
- Endpoint :
experience
- Body:
{
"title": "",
"description": "",
"startDate": "",
"endDate": "",
"teacherId": "",
"userId": "",
}
success
{
"code": 201,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
PUT
- Endpoint :
experience
- Body:
{
"id": "",
"title": "",
"description": "",
"startDate": "",
"endDate": "",
"teacherId": "",
"userId": "",
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
DELETE
- Endpoint :
experience
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
file/{id}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
forum/module/{id}
success
{
"code": 200,
"result": {
"id": "",
"code": "",
"content": "",
"createdAt": "",
"userId": "",
"firstName": "",
"lastName": "",
"roleId": "",
"roleCode": "",
"photoId": "",
}
}
error
{
"code": 400,
"result": "message"
}
- Method :
POST
- Endpoint :
forum
- Body:
{
"userId": "",
"moduleId": "",
"content": ""
}
success
{
"code": 201,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
DELETE
- Endpoint :
forum
- Query Param :
forumId/userId
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
public/courses
success
{
"code": 200,
"result": [
{
"id": "",
"code": "",
"typeName": "",
"capacity": "",
"isRegist": "",
"courseStatus": "",
"courseDescription": "",
"periodStart": "",
"periodEnd": "",
"categoryName": "",
"categoryCode": "",
"teacher" : {
"id": "",
"code": "",
"firstName": "",
"lastName": "",
"title": "",
"experience": "",
"photoId": ""
},
"totalModule": "",
"moduleComplete": "",
"percentProgress": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
public/course/{id}
success
{
"code": 200,
"result": [
{
"id": "",
"code": "",
"name": "",
"capacity": "",
"totalStudent": "",
"description": "",
"periodStart": "",
"periodEnd": "",
"modules" : [
{
"id": "",
"code": "",
"title": "",
"description": "",
"subjectName": "",
"isActive": ""
}
]
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
public/teachers
success
{
"code": 200,
"result": [
{
"id": "",
"code": "",
"username": "",
"firstName": "",
"lastName": "",
"titleDegree": "",
"email": "",
"phone": "",
"gender": "",
"photoId": "",
"active": "",
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
module/{id}
success
{
"code": 200,
"result": {
"id": "",
"createdBy": "",
"createdAt": "",
"updatedBy": "",
"updatedAt": "",
"version": "",
"isActive": "",
"code": "",
"title": "",
"description": "",
"schedule": {
"id": "",
"createdBy": "",
"createdAt": "",
"updatedBy": "",
"updatedAt": "",
"version": "",
"isActive": "",
"code": "",
"date": "",
"startTime": "",
"endTime": "",
"teacher": ""
},
"course": "",
"subject": ""
}
}
error
{
"code": 400,
"result": "message"
}
- Method :
POST
- Endpoint :
module
- Body:
[
{
"code": "",
"title": "",
"description": "",
"courseId": "",
"subjectId": "",
"schedule": {
"date": "",
"startTime": "",
"endTime": "",
"createdBy": ""
},
"createdBy": "",
}
]
success
{
"code": 201,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
DELETE
- Endpoint :
module
- Body:
{
"id": "",
"updatedBy": "",
"status": ""
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
PATCH
- Endpoint :
module/true
- Body:
{
"id": "",
"updatedBy": "",
"status": ""
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
PUT
- Endpoint :
module
- Body:
{
"id": "",
"updatedBy": "",
"code": "",
"title": "",
"description": "",
"courseId": "",
"subjectId": "",
"schedule": {
"id": "",
"date": "",
"startTime": "",
"endTime": ""
}
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
POST
- Endpoint :
module/lesson
- Request Part :
file
- Query Param :
idUser/idModule
success
{
"code": 201,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
DELETE
- Endpoint :
module/lesson/{fileId}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
DELETE
- Endpoint :
module/lesson/{idModule}
success
{
"code": 200,
"result": [
{
"id": "",
"fileName": "",
"fileType": "",
"size": "",
"contentType": "",
"version": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
roles
success
{
"code": 200,
"result": [
{
"id": "",
"code": "",
"name": "",
"version": "",
"createdAt": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
role/id/{id}
success
{
"code": 200,
"result": {
"id": "",
"code": "",
"name": "",
"version": "",
"createdAt": ""
}
}
error
{
"code": 400,
"result": "message"
}
- Method :
POST
- Endpoint :
role
- Body:
{
"code": "",
"name": "",
"userId": ""
}
success
{
"code": 201,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
PUT
- Endpoint :
role
- Body:
{
"id": "",
"code": "",
"name": "",
"userId": ""
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
/schedules/teacher/{id}
success
{
"code": 200,
"result": [
{
"id": "",
"date": "",
"startTime": "",
"endTime": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
/student/dashboard/{id}
success
{
"code": 200,
"result": {
"id": "",
"code": "",
"username": "",
"firstName": "",
"lastName": "",
"email": "",
"phone": "",
"gender": "",
"idPhoto": "",
"createdAt": "",
"isActive": ""
}
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
/student/{id}/course
success
{
"code": 200,
"result": [
{
"id": "",
"code": "",
"typeName": "",
"capacity": "",
"isRegist": "",
"courseStatus": "",
"courseDescription": "",
"periodStart": "",
"periodEnd": "",
"categoryName": "",
"categoryCode": "",
"teacher": {
"id": "",
"code": "",
"firstName": "",
"lastName": "",
"title": "",
"experience": "",
"photoId": ""
},
"totalModule": "",
"moduleComplete": "",
"percentProgress": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
PUT
- Endpoint :
student
- Body:
{
"id": "",
"username": "",
"firstName": "",
"lastName": "",
"phone": "",
"gender": "",
"updatedBy": ""
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
DELETE
- Endpoint :
student
- Query Param :
studentId/ updatedBy
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
POST
- Endpoint :
student/register
- Body:
{
"gender": "",
"phone": "",
"createdBy": "",
"email": "",
"firstName": "",
"lastName": "",
"password": "",
"username": ""
}
success
{
"code": 201,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
/student/report
- Query Param :
studentId
success
{
"code": 200,
"result": [
{
"courseName": "",
"moduleName": "",
"examType": "",
"examTitle": "",
"dateExam": "",
"grade": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
/student/all
success
{
"code": 200,
"result": [
{
"id": "",
"code": "",
"username": "",
"firstName": "",
"lastName": "",
"email": "",
"phone": "",
"gender": "",
"idPhoto": "",
"createdAt": "",
"isActive": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
/subjectcategory
success
{
"code": 200,
"result": [
{
"id": "",
"code": "",
"name": "",
"description": "",
"active": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
/subjectcategory/id{id}
success
{
"code": 200,
"result": {
"id": "",
"code": "",
"name": "",
"description": "",
"active": ""
}
}
error
{
"code": 400,
"result": "message"
}
- Method :
POST
- Endpoint :
subjectcategory
- Body:
{
"code": "",
"description": "",
"subjectName": "",
"createdBy": ""
}
success
{
"code": 201,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
PUT
- Endpoint :
subjectcategory
- Body:
{
"id": "",
"code": "",
"description": "",
"subjectName": "",
"createdBy": ""
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
PATCH
- Endpoint :
subjectcategory
- Body:
{
"id": "",
"updatedBy": "",
"status": ""
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
DELETE
- Endpoint :
subjectcategory/{id}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
/teacher
success
{
"code": 200,
"result": [
{
"id": "",
"code": "",
"username": "",
"firstName": "",
"lastName": "",
"titleDegree": "",
"email": "",
"phone": "",
"gender": "",
"photoId": "",
"active": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
/teacher/{id}
success
{
"code": 200,
"result": {
"id": "",
"username": "",
"firstName": "",
"lastName": "",
"email": "",
"createdAt": "",
"gender": "",
"phone": "",
"titleDegree": "",
"photoId": "",
"experiences": [
{
"id": "",
"title": "",
"description": "",
"startDate": "",
"endDate": ""
}
]
}
}
error
{
"code": 400,
"result": "message"
}
- Method :
POST
- Endpoint :
teacher
- Body:
{
"code" : "",
"firstName" : "",
"lastName" : "",
"phone" : "",
"gender" : "",
"username" : "",
"password" : "",
"email" : "",
"roleId" : "",
"roleVersion" : "",
"createdBy" : "",
"titleDegree" : ""
}
success
{
"code": 201,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
PUT
- Endpoint :
teacher
- Body:
{
"id" : "",
"firstName" : "",
"lastName" : "",
"phone" : "",
"gender" : "",
"username" : "",
"updatedBy" : "",
"titleDegree" : ""
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
PATCH
- Endpoint :
teacher
- Body:
{
"id" : "",
"updatedBy" : "",
"status" : ""
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
DELETE
- Endpoint :
teacher/id/{id}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
/teacher/dashboard/{id}
success
{
"code": 200,
"result": [
{
"id": "",
"code": "",
"name": "",
"description": "",
"capacity": "",
"totalStudent": "",
"totalModule": "",
"periodStart": "",
"periodEnd": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
GET
- Endpoint :
/teacher/reports/{id}
success
{
"code": 200,
"result": [
{
"studentId": "",
"studentFirstName": "",
"studentLastName": "",
"totalExam": "",
"totalAssignment": "",
"notAssignment": "",
"avgScore": ""
}
]
}
error
{
"code": 400,
"result": "message"
}
- Method :
PUT
- Endpoint :
/teacher/verify/student
- Query Param :
studentCourseId/teacherId/email
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
PUT
- Endpoint :
/user/update-password
- Body:
{
"id" : "",
"oldPassword" : "",
"newPassword" : ""
}
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
PATCH
- Endpoint :
/user/forget-password
- Query Param :
email
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}
- Method :
PUT
- Endpoint :
/user/photo
- Request Part :
file , content
success
{
"code": 200,
"result": "message"
}
error
{
"code": 400,
"result": "message"
}