This is created for testing purpose, say hi
GET /greeting?name=group9
{
"id": 3,
"content": "Hello, group9!"
}
Request Content: id
Response Content: The user with corresponding id if it exists, null otherwise.
GET /users/get?id=2
{
"id": 2,
"email": "ahmettest@testtest.coam",
"password": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"firstName": "ahmet",
"lastName": "test"
}
Request Content: e-mail, password, firstName, lastName
Response Content: The created user with 200 status code if successful. The reason with 400(Bad Request) if unsuccessful.
POST /users/register
{
"email": "test@test.com",
"password": "123456",
"firstName": "testname",
"lastName": "testsurname"
}
{
"status": 200,
"explanation": null,
"data": {
"email": "test@test.com",
"password": "123456",
"firstName": "testname",
"lastName": "testsurname"
}
}
POST /users/register
{
"email": "testtest.com",
"password": "123456",
"firstName": "testname",
"lastName": "testsurname"
}
{
"status": 400,
"explanation": "Invalid email",
"data": null
}
POST /users/register
{
"email": "somebodyelsesemailaddress@test.com",
"password": "123456",
"firstName": "testname",
"lastName": "testsurname"
}
{
"status": 400,
"explanation": "This e-mail has already been registered",
"data": null
}
Request Content: e-mail, password
Response Content: The user with 200 status code if successful. The reason with 400(Bad Request) if unsuccessful.
POST /users/login
{
"email": "test@fortest.com",
"password": "123456"
}
{
"status": 200,
"explanation": null,
"data": {
"id": 5,
"email": "test@fortest.com",
"password": "123456",
"firstName": "testname",
"lastName": "testsurname"
}
}
POST /users/login
{
"email": "wrongemailaddress@wrong.email",
"password": "wrongpassword"
}
{
"status": 400,
"explanation": "Wrong credentials",
"data": null
}
Request Content: id
Response Content: The profile info with 200 status code if successful. The reason with 400(Bad Request) if unsuccessful.
GET /users/profile?id=6
{
"status": 200,
"explanation": null,
"data": {
"userId": 6,
"firstName": "testname",
"lastName": "testsurname",
"email": "test@test.com",
"languages": [
"English"
],
"grades": [
5
],
"progressLevels": [
0
]
}
}
GET /users/profile?id=66
{
"status": 404,
"explanation": "User not found with id: 66",
"data": null
}
Request Content: exercise id, user id
Response Content: The user with 200 status code if successful. The reason with 400(Bad Request) if unsuccessful.
POST /users/solved
{
"userId": 6,
"exerciseId": "6"
}
{
"status": 200,
"explanation": "Successful",
"data": null
}
Request Content: exercise id
Response Content: Exercise with tags if successful, 404 not found if not.
GET /contents?id=3
{
"status": 404,
"explanation": "No exercise with this id.",
"data": null
}
GET /contents?id=13
{
"status": 200,
"explanation": null,
"data": {
"id": 13,
"languageId": 1,
"grade": 2,
"typeId": 2,
"imageUrl": "",
"soundUrl": "",
"questionBody": "_______ he should have spent all the weekend preparing for his test, he in fact just lay in bed watching videos.",
"optionA": "however",
"optionB": "whereas",
"optionC": "despite",
"optionD": "nevertheless",
"correctAnswer": 2,
"tags": [
{
"id": 4,
"exerciseId": 13,
"tagText": "lazy"
},
{
"id": 3,
"exerciseId": 13,
"tagText": "video"
},
{
"id": 6,
"exerciseId": 13,
"tagText": "tv"
},
{
"id": 7,
"exerciseId": 13,
"tagText": "television"
}
]
}
}
Request Content: none
Response Content: The list of available languages
GET /contents/languages
{
"status": 200,
"explanation": null,
"data": [
"English",
"Turkish",
"Italian"
]
}
Request Content: none
Response Content: The list of all exercises of all languages
GET /contents/all
{
"status": 200,
"explanation": null,
"data": [
{
"languageId": 1,
"typeId": 1,
"imageUrl": null,
"soundUrl": null,
"question": "what is your name?",
"optionA": "my name is..",
"optionB": "your name is..",
"optionC": "his name is...",
"optionD": "her name is...",
"correctAnswer": 1
},
{
...
},
...
]
}
Request Content: Language name as request parameter. Language names should be in English and capitalized.
Response Content: 10 questions from given language
GET /contents/prof?language=English
{
"status": 200,
"explanation": null,
"data": [
{
"languageId": 1,
"typeId": 1,
"imageUrl": null,
"soundUrl": null,
"question": "what is your name?",
"optionA": "my name is..",
"optionB": "your name is..",
"optionC": "his name is...",
"optionD": "her name is...",
"correctAnswer": 1
},
{
...
},
...
]
}
GET /contents/prof?language=english
{
"status": 400,
"explanation": "Language not found.",
"data": null
}
Request Content:
languageId(1 for English, 2 for Turkish, 3 for Italian)
typeId(1 for Grammar, 2 for vocabulary, 3 for reading, 4 for listening)
imageUrl(not necessary for proficiency, just delete)
soundUrl(not necessary for proficiency, just delete)
questionBody(As it sounds)
optionA, optionB, optionC, optionD(as it sounds)
correctAnswer(1 for A, 2 for B etc)
Only image url and sound url can be null
Response Content: Exercise itself
POST /contents/add
{
"correctAnswer": 4,
"languageId": 1,
"optionA": "Bean",
"optionB": "Potato",
"optionC": "Bread",
"optionD": "Apple",
"questionBody": "Which one of these is a fruit?",
"typeId": 2
}
{
"status": 200,
"explanation": null,
"data": {
"correctAnswer": 4,
"imageUrl": null,
"languageId": 1,
"optionA": "Bean",
"optionB": "Potato",
"optionC": "Bread",
"optionD": "Apple",
"questionBody": "Which one of these is a fruit?",
"soundUrl": null,
"typeId": 2
}
}
Request Content:
Exercise id
Response Content: none
GET /contents/delete?id=3
{
"status": 200,
"explanation": null,
"data": null
}
Request Content: User id and language id
Response Content: Grade
GET /grades/get?userId=3&languageId=1
{
"status": 200,
"explanation": null,
"data": {
"id": 10,
"userId": 12,
"languageId": 1,
"grade": 1
}
}
Request Content: UserId, languageId, grade
Response Content: Grade itself
POST /grades/add
{
"grade": 4,
"languageId": 1,
"userId": 4
}
{
"status": 200,
"explanation": null,
"data": {
"userId": 4,
"languageId": 1,
"grade": 4
}
}
Request Content: First name, last name, grade and language
Response Content: List of users
POST /search/users
{
"firstName": "t",
"grade": 3,
"languageId": 1,
"lastName": "te"
}
{
"status": 200,
"explanation": null,
"data": [
{
"userId": 3,
"firstName": "ahmet",
"lastName": "test",
"email": "ahmettesttttt@testtest.coam",
"languages": [
"English"
],
"grades": [
3
],
"progressLevels": [
0
]
},
{
"userId": 6,
"firstName": "testname",
"lastName": "testsurname",
"email": "test@test.com",
"languages": [
"English"
],
"grades": [
5
],
"progressLevels": [
0
]
}
]
}
Request Content: UserId, languageId, grade, typeId, tag
Response Content: List of exercises which fits in given parameters; grade, type and language. Also if tag is given, returns only the exercises with tags semantically similar to the given one. Also if user id is given, returns the exercises which that user haven't solved yet.
POST /search/exercises
{
"grade": 2,
"languageId": 1,
"tag": "television",
"typeId": 2,
"userId": 7
}
{
"status": 200,
"explanation": null,
"data": [
{
"id": 13,
"languageId": 1,
"grade": 2,
"typeId": 2,
"imageUrl": "",
"soundUrl": "",
"questionBody": "_______ he should have spent all the weekend preparing for his test, he in fact just lay in bed watching videos.",
"optionA": "however",
"optionB": "whereas",
"optionC": "despite",
"optionD": "nevertheless",
"correctAnswer": 2,
"tags": [
{
"id": 4,
"exerciseId": 13,
"tagText": "lazy"
},
{
"id": 3,
"exerciseId": 13,
"tagText": "video"
},
{
"id": 6,
"exerciseId": 13,
"tagText": "tv"
},
{
"id": 7,
"exerciseId": 13,
"tagText": "television"
}
]
}
]
}
Request Content: Exercise id, tag text
Response Content: Tag itself
POST /tags
{
"exerciseId": 12,
"tagText": "test"
}
{
"status": 200,
"explanation": null,
"data": {
"id": 8,
"exerciseId": 12,
"tagText": "test"
}
}
Request Content: receiver id, source id
Response Content: Invitation itself
POST /invitations
{
"receiverId": 1,
"sourceId": 5
}
{
"status": 200,
"explanation": null,
"data": {
"id": 15,
"sourceId": 5,
"receiverId": 1,
"createdAt": "2019-12-01T15:06:22.626+0000"
}
}
Request Content: receiver id, source id, approved(boolean)
Response Content: Conversation itself
POST /invitations/answer
{
"approved": true,
"receiverId": 1,
"sourceId": 5
}
{
"status": 200,
"explanation": null,
"data": {
"id": 11,
"userIdOne": 5,
"userIdTwo": 1,
"lastUpdatedAt": "2019-12-01T15:08:05.896+0000"
}
}
{
"status": 400,
"explanation": "Conversation already exists",
"data": null
}
Request Content: receiver user id
Response Content: List of profile infos
GET /invitations/byReceiverId?userId=1
{
"status": 200,
"explanation": null,
"data": [
{
"userId": 6,
"firstName": "testname",
"lastName": "testsurname",
"email": "test@test.com",
"languages": [
"English"
],
"grades": [
5
],
"progressLevels": [
0
]
}
]
}
Request Content: userId1, userId2
Response Content: Invitation state
GET /invitations/state?userId1=1&userId2=6
{
"status": 200,
"explanation": null,
"data": {
"userId1": 1,
"userId2": 6,
"pendingRequestFromOneToTwo": false,
"pendingRequestFromTwoToOne": true,
"startedConversation": false
}
}
Request Content: user id
Response Content: List of profile infos of given user id
GET /conversations?id=1
{
"status": 200,
"explanation": null,
"data": [
{
"userId": 5,
"firstName": "testname",
"lastName": "testtest",
"email": "test@fortest.com",
"languages": [],
"grades": [],
"progressLevels": []
},
{
"userId": 2,
"firstName": "ahmet",
"lastName": "test",
"email": "ahmettest@testtest.coam",
"languages": [],
"grades": [],
"progressLevels": []
},
{
"userId": 3,
"firstName": "ahmet",
"lastName": "test",
"email": "ahmettesttttt@testtest.coam",
"languages": [
"English"
],
"grades": [
3
],
"progressLevels": [
0
]
},
{
"userId": 4,
"firstName": "ahmet",
"lastName": "test",
"email": "ahmettesttttttt@testtest.coam",
"languages": [
"English"
],
"grades": [
1
],
"progressLevels": [
25
]
}
]
}
Request Content: user id
Response Content: List of Messages of the User
GET /messages?userId=9
{
"status": 200,
"explanation": null,
"data": [
{
"id": 10,
"sourceId": 9,
"receiverId": 2,
"content": "selam",
"createdAt": "2019-11-24T14:49:07.090+0000"
},
{
"id": 11,
"sourceId": 2,
"receiverId": 9,
"content": "selam",
"createdAt": "2019-11-24T14:49:19.480+0000"
},
{
"id": 12,
"sourceId": 2,
"receiverId": 9,
"content": "nabber",
"createdAt": "2019-11-24T14:49:28.963+0000"
},
{
"id": 13,
"sourceId": 2,
"receiverId": 9,
"content": "nabber",
"createdAt": "2019-11-24T14:49:30.561+0000"
},
{
"id": 14,
"sourceId": 2,
"receiverId": 9,
"content": "nabber",
"createdAt": "2019-11-24T14:49:31.344+0000"
},
{
"id": 15,
"sourceId": 2,
"receiverId": 9,
"content": "nabber",
"createdAt": "2019-11-24T15:55:51.799+0000"
},
{
"id": 16,
"sourceId": 9,
"receiverId": 2,
"content": "asffghff",
"createdAt": "2019-11-24T16:01:23.690+0000"
},
{
"id": 17,
"sourceId": 9,
"receiverId": 2,
"content": "asdfghjkli",
"createdAt": "2019-11-24T16:01:34.912+0000"
},
{
"id": 18,
"sourceId": 9,
"receiverId": 2,
"content": "ibrahm",
"createdAt": "2019-11-24T16:01:46.860+0000"
},
{
"id": 19,
"sourceId": 9,
"receiverId": 2,
"content": "iyi",
"createdAt": "2019-11-24T16:18:16.600+0000"
},
{
"id": 20,
"sourceId": 9,
"receiverId": 2,
"content": "çok güzel mesajlaşma",
"createdAt": "2019-11-24T16:56:26.617+0000"
},
{
"id": 21,
"sourceId": 9,
"receiverId": 2,
"content": "yfgjomö",
"createdAt": "2019-11-24T17:02:18.924+0000"
},
{
"id": 22,
"sourceId": 9,
"receiverId": 2,
"content": "irem",
"createdAt": "2019-11-24T17:09:54.875+0000"
},
{
"id": 23,
"sourceId": 37,
"receiverId": 9,
"content": "Selam İremm ",
"createdAt": "2019-11-25T04:51:11.692+0000"
},
{
"id": 24,
"sourceId": 37,
"receiverId": 9,
"content": "Deneme yapıyorum :D ",
"createdAt": "2019-11-25T04:51:39.463+0000"
},
{
"id": 25,
"sourceId": 9,
"receiverId": 37,
"content": "selam ",
"createdAt": "2019-11-25T04:53:31.176+0000"
},
{
"id": 26,
"sourceId": 37,
"receiverId": 9,
"content": "Günaydın irem",
"createdAt": "2019-11-25T10:39:09.810+0000"
},
{
"id": 27,
"sourceId": 37,
"receiverId": 9,
"content": "Ben de ibrahim :D",
"createdAt": "2019-11-25T10:39:16.587+0000"
},
{
"id": 28,
"sourceId": 9,
"receiverId": 37,
"content": "Ben de game :D\n",
"createdAt": "2019-11-25T10:39:34.911+0000"
},
{
"id": 29,
"sourceId": 37,
"receiverId": 9,
"content": "Ama saat sıkıntılı :D",
"createdAt": "2019-11-25T10:40:12.159+0000"
},
{
"id": 30,
"sourceId": 37,
"receiverId": 9,
"content": "13 40 yazıyor",
"createdAt": "2019-11-25T10:40:24.313+0000"
},
{
"id": 31,
"sourceId": 9,
"receiverId": 8,
"content": "selam gg",
"createdAt": "2019-11-25T10:40:30.933+0000"
},
{
"id": 32,
"sourceId": 37,
"receiverId": 9,
"content": "Halbuki 16 40",
"createdAt": "2019-11-25T10:40:36.387+0000"
},
{
"id": 33,
"sourceId": 9,
"receiverId": 8,
"content": "deneme",
"createdAt": "2019-11-25T17:17:43.781+0000"
}
]
}
Request Content: user id1, user id2
Response Content: List of Messages of the conversation
GET /messages/chat?userId1=9&userId2=8
{
"status": 200,
"explanation": null,
"data": [
{
"id": 31,
"sourceId": 9,
"receiverId": 8,
"content": "selam gg",
"createdAt": "2019-11-25T10:40:30.933+0000"
},
{
"id": 33,
"sourceId": 9,
"receiverId": 8,
"content": "deneme",
"createdAt": "2019-11-25T17:17:43.781+0000"
}
]
}
Request Content: sourceId, receiverId, content
Response Content: Conversation content between two users
POST /messages
{
"content": "this is a message",
"receiverId": 9,
"sourceId": 8
}
{
"status": 200,
"explanation": null,
"data": [
{
"id": 31,
"sourceId": 9,
"receiverId": 8,
"content": "selam gg",
"createdAt": "2019-11-25T10:40:30.933+0000"
},
{
"id": 33,
"sourceId": 9,
"receiverId": 8,
"content": "deneme",
"createdAt": "2019-11-25T17:17:43.781+0000"
},
{
"id": 42,
"sourceId": 8,
"receiverId": 9,
"content": "this is a message",
"createdAt": "2019-12-01T16:20:34.554+0000"
}
]
}
Request Content: Annotation string
Response Content: Ok
POST /annotations
{
"annotation": "This is an annotation message."
}
{
"data": null,
"explanation": null,
"status": 200
}
Request Content: Annotation string, annotation id
Response Content: Ok
POST /annotations
{
"annotation": "This is an annotation message.",
"id": 3
}
{
"data": null,
"explanation": null,
"status": 200
}
Request Content: Annotation id
Response Content: Annotation itself, by id
GET /annotations/getById?id=3
{
"id": "http://api.bounswe2019group9.tk/annotations?id=3",
"field": "hasan",
"field2": "mahmut"
}
Request Content: Annotation id
Response Content: Ok
GET /annotations/deleteById?annotationId=3
{
"data": null,
"explanation": null,
"status": 200
}
Request Content: Target id
Response Content: Annotation string
GET /annotations/searchInAnnotations?targetId=3
{
"status": 200,
"explanation": null,
"data": [
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=4\",\"field\":\"http://www.w3.org/TR/media-frags/\", \"field2\":\"mahmut\"}",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=5\",\"field\":\"http://www.w3.org/TR/media-frags/\", \"field2\":\"mahmut\"}",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=6\", \"url\": \"http://www.w3.org/TR/media-frags/\" }",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=7\", \"url\": \"http://www.w3.org/ns/anno.jsonld/\" }",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=8\", 'url': 'http://www.w3.org/ns/anno.jsonld/', 'neden': 'singlequote' }",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=19\", \"dasdsa\": \" 5635 \" }",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=20\", \"dasdsa\": \" 5635 \" }",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=37\",\"@context\":\"http://www.w3.org/ns/anno.jsonld\",\"type\":\"Annotation\",\"creator\":{\"id\":\"https://bounswe2019group9.tk/users/22\",\"name\":\"Mahmut Kızıloğlu\",\"email\":\"mahmut.kiziloglu@hotmail.com\"},\"created\":\"2019-12-24T14:43:10.115Z\",\"modified\":\"2019-12-24T14:43:19.094Z\",\"body\":{\"type\":\"TextualBody\",\"value\":\"kjhkjhjkhlkjhliutuyftsrtyuiuytr\",\"format\":\"text/plain\"},\"motivation\":\"assessing\",\"target\":{\"id\":\"https://api.bounswe2019group9.tk/essays/getSourceByEssayId?id=24\",\"type\":\"Text\",\"format\":\"text/plain\",\"selector\":{\"type\":\"FragmentSelector\",\"conformsTo\":\"http://tools.ietf.org/rfc/rfc5147\",\"value\":\"char=323,482\"}}}",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=38\",\"@context\":\"http://www.w3.org/ns/anno.jsonld\",\"type\":\"Annotation\",\"creator\":{\"id\":\"https://bounswe2019group9.tk/users/22\",\"name\":\"Mahmut Kızıloğlu\",\"email\":\"mahmut.kiziloglu@hotmail.com\"},\"created\":\"2019-12-24T14:43:29.904Z\",\"modified\":\"2019-12-24T14:43:33.008Z\",\"body\":{\"type\":\"TextualBody\",\"value\":\"jgt\",\"format\":\"text/plain\"},\"motivation\":\"commenting\",\"target\":{\"id\":\"https://api.bounswe2019group9.tk/essays/getSourceByEssayId?id=24\",\"type\":\"Text\",\"format\":\"text/plain\",\"selector\":{\"type\":\"FragmentSelector\",\"conformsTo\":\"http://tools.ietf.org/rfc/rfc5147\",\"value\":\"char=180,192\"}}}",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=25\",\"@context\":\"http://www.w3.org/ns/anno.jsonld\",\"type\":\"Annotation\",\"creator\":{\"id\":\"https://bounswe2019group9.tk/users/30\",\"name\":\"John Johnwell\",\"email\":\"john@johnwell.com\"},\"created\":\"2019-12-24T10:55:49.132Z\",\"modified\":\"2019-12-24T11:18:45.251Z\",\"body\":{\"type\":\"TextualBody\",\"value\":\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.\",\"format\":\"text/plain\"},\"motivation\":\"describing\",\"target\":{\"id\":\"https://api.bounswe2019group9.tk/essays/getSourceByEssayId?id=17\",\"type\":\"Text\",\"format\":\"text/plain\",\"selector\":{\"type\":\"FragmentSelector\",\"conformsTo\":\"http://tools.ietf.org/rfc/rfc5147\",\"value\":\"char=3,5\"}}}",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=26\",\"@context\":\"http://www.w3.org/ns/anno.jsonld\",\"type\":\"Annotation\",\"creator\":{\"id\":\"https://bounswe2019group9.tk/users/30\",\"name\":\"John Johnwell\",\"email\":\"john@johnwell.com\"},\"created\":\"2019-12-24T11:30:44.664Z\",\"modified\":\"2019-12-24T11:36:44.649Z\",\"body\":{\"type\":\"TextualBody\",\"value\":\"Well done here\",\"format\":\"text/plain\"},\"motivation\":\"assessing\",\"target\":{\"id\":\"https://kereviz-upload.s3.eu-central-1.amazonaws.com/image/essay/6_30.jpeg\",\"type\":\"Image\",\"format\":\"image/jpeg\",\"selector\":{\"type\":\"FragmentSelector\",\"conformsTo\":\"http://www.w3.org/TR/media-frags/\",\"value\":\"xywh=56,209,305,46\"}}}",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=27\",\"@context\":\"http://www.w3.org/ns/anno.jsonld\",\"type\":\"Annotation\",\"creator\":{\"id\":\"https://bounswe2019group9.tk/users/30\",\"name\":\"John Johnwell\",\"email\":\"john@johnwell.com\"},\"created\":\"2019-12-24T11:30:56.984Z\",\"modified\":\"2019-12-24T11:36:49.841Z\",\"body\":{\"type\":\"TextualBody\",\"value\":\"Oh my god, great!!\",\"format\":\"text/plain\"},\"motivation\":\"describing\",\"target\":{\"id\":\"https://kereviz-upload.s3.eu-central-1.amazonaws.com/image/essay/6_30.jpeg\",\"type\":\"Image\",\"format\":\"image/jpeg\",\"selector\":{\"type\":\"FragmentSelector\",\"conformsTo\":\"http://www.w3.org/TR/media-frags/\",\"value\":\"xywh=54,321,88,181\"}}}",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=28\",\"@context\":\"http://www.w3.org/ns/anno.jsonld\",\"type\":\"Annotation\",\"creator\":{\"id\":\"https://bounswe2019group9.tk/users/30\",\"name\":\"John Johnwell\",\"email\":\"john@johnwell.com\"},\"created\":\"2019-12-24T12:23:03.494Z\",\"modified\":\"2019-12-24T12:23:09.048Z\",\"body\":{\"type\":\"TextualBody\",\"value\":\"Wow dude\",\"format\":\"text/plain\"},\"motivation\":\"commenting\",\"target\":{\"id\":\"https://kereviz-upload.s3.eu-central-1.amazonaws.com/image/essay/6_12.jpeg\",\"type\":\"Image\",\"format\":\"image/jpeg\",\"selector\":{\"type\":\"FragmentSelector\",\"conformsTo\":\"http://www.w3.org/TR/media-frags/\",\"value\":\"xywh=138,193,60,30\"}}}",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=29\",\"@context\":\"http://www.w3.org/ns/anno.jsonld\",\"type\":\"Annotation\",\"creator\":{\"id\":\"https://bounswe2019group9.tk/users/30\",\"name\":\"John Johnwell\",\"email\":\"john@johnwell.com\"},\"created\":\"2019-12-24T12:23:10.269Z\",\"modified\":\"2019-12-24T12:23:22.445Z\",\"body\":{\"type\":\"TextualBody\",\"value\":\"This is the best thing I've ever seen\",\"format\":\"text/plain\"},\"motivation\":\"bookmarking\",\"target\":{\"id\":\"https://kereviz-upload.s3.eu-central-1.amazonaws.com/image/essay/6_12.jpeg\",\"type\":\"Image\",\"format\":\"image/jpeg\",\"selector\":{\"type\":\"FragmentSelector\",\"conformsTo\":\"http://www.w3.org/TR/media-frags/\",\"value\":\"xywh=360,516,171,30\"}}}",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=33\",\"@context\":\"http://www.w3.org/ns/anno.jsonld\",\"type\":\"Annotation\",\"creator\":{\"id\":\"https://bounswe2019group9.tk/users/9\",\"name\":\"irem Uguz\",\"email\":\"irem@test.com\"},\"created\":\"2019-12-24T13:30:48.093Z\",\"modified\":\"2019-12-24T13:31:04.987Z\",\"body\":{\"type\":\"TextualBody\",\"value\":\"burası net\",\"format\":\"text/plain\"},\"motivation\":\"classifying\",\"target\":{\"id\":\"https://kereviz-upload.s3.eu-central-1.amazonaws.com/image/essay/3_9.jpeg\",\"type\":\"Image\",\"format\":\"image/jpeg\",\"selector\":{\"type\":\"FragmentSelector\",\"conformsTo\":\"http://www.w3.org/TR/media-frags/\",\"value\":\"xywh=277,307,60,30\"}}}",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=30\",\"@context\":\"http://www.w3.org/ns/anno.jsonld\",\"type\":\"Annotation\",\"creator\":{\"id\":\"https://bounswe2019group9.tk/users/30\",\"name\":\"John Johnwell\",\"email\":\"john@johnwell.com\"},\"created\":\"2019-12-24T12:23:23.805Z\",\"modified\":\"2019-12-24T12:23:33.583Z\",\"body\":{\"type\":\"TextualBody\",\"value\":\"It even supports scroll, woah\",\"format\":\"text/plain\"},\"motivation\":\"highlighting\",\"target\":{\"id\":\"https://kereviz-upload.s3.eu-central-1.amazonaws.com/image/essay/6_12.jpeg\",\"type\":\"Image\",\"format\":\"image/jpeg\",\"selector\":{\"type\":\"FragmentSelector\",\"conformsTo\":\"http://www.w3.org/TR/media-frags/\",\"value\":\"xywh=138,642,60,30\"}}}",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=32\",\"@context\":\"http://www.w3.org/ns/anno.jsonld\",\"type\":\"Annotation\",\"creator\":{\"id\":\"https://bounswe2019group9.tk/users/9\",\"name\":\"irem Uguz\",\"email\":\"irem@test.com\"},\"created\":\"2019-12-24T13:30:17.798Z\",\"modified\":\"2019-12-24T13:30:44.551Z\",\"body\":{\"type\":\"TextualBody\",\"value\":\"Merhaba bunu ben yazdım\",\"format\":\"text/plain\"},\"motivation\":\"bookmarking\",\"target\":{\"id\":\"https://kereviz-upload.s3.eu-central-1.amazonaws.com/image/essay/3_9.jpeg\",\"type\":\"Image\",\"format\":\"image/jpeg\",\"selector\":{\"type\":\"FragmentSelector\",\"conformsTo\":\"http://www.w3.org/TR/media-frags/\",\"value\":\"xywh=301,45,201,215\"}}}",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=31\",\"@context\":\"http://www.w3.org/ns/anno.jsonld\",\"type\":\"Annotation\",\"creator\":{\"id\":\"https://bounswe2019group9.tk/users/12\",\"name\":\"Johnie Walker\",\"email\":\"j.walker@hotmail.com\"},\"created\":\"2019-12-24T12:24:11.645Z\",\"modified\":\"2019-12-24T12:24:49.757Z\",\"body\":{\"type\":\"TextualBody\",\"value\":\"I know right!!\",\"format\":\"text/plain\"},\"motivation\":\"moderating\",\"target\":{\"id\":\"https://kereviz-upload.s3.eu-central-1.amazonaws.com/image/essay/6_12.jpeg\",\"type\":\"Image\",\"format\":\"image/jpeg\",\"selector\":{\"type\":\"FragmentSelector\",\"conformsTo\":\"http://www.w3.org/TR/media-frags/\",\"value\":\"xywh=18,394,75,56\"}}}",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=34\",\"@context\":\"http://www.w3.org/ns/anno.jsonld\",\"type\":\"Annotation\",\"creator\":{\"id\":\"https://bounswe2019group9.tk/users/41\",\"name\":\"Doğan Çavdarcı\",\"email\":\"dogan.cavdarci@hotmail.com\"},\"created\":\"2019-12-24T13:32:15.392Z\",\"modified\":\"2019-12-24T13:32:26.445Z\",\"body\":{\"type\":\"TextualBody\",\"value\":\"burası olmamıs düzelecek\",\"format\":\"text/plain\"},\"motivation\":\"editing\",\"target\":{\"id\":\"https://kereviz-upload.s3.eu-central-1.amazonaws.com/image/essay/3_9.jpeg\",\"type\":\"Image\",\"format\":\"image/jpeg\",\"selector\":{\"type\":\"FragmentSelector\",\"conformsTo\":\"http://www.w3.org/TR/media-frags/\",\"value\":\"xywh=397,290,60,30\"}}}",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=35\",\"@context\":\"http://www.w3.org/ns/anno.jsonld\",\"type\":\"Annotation\",\"creator\":{\"id\":\"https://bounswe2019group9.tk/users/30\",\"name\":\"John Johnwell\",\"email\":\"john@johnwell.com\"},\"created\":\"2019-12-24T13:37:19.537Z\",\"modified\":\"2019-12-24T13:37:23.015Z\",\"body\":{\"type\":\"TextualBody\",\"value\":\"asdasdas\",\"format\":\"text/plain\"},\"motivation\":\"describing\",\"target\":{\"id\":\"https://api.bounswe2019group9.tk/essays/getSourceByEssayId?id=17\",\"type\":\"Text\",\"format\":\"text/plain\",\"selector\":{\"type\":\"FragmentSelector\",\"conformsTo\":\"http://tools.ietf.org/rfc/rfc5147\",\"value\":\"char=0,3\"}}}",
"{ \"id\": \"http://api.bounswe2019group9.tk/annotations?id=36\",\"@context\":\"http://www.w3.org/ns/anno.jsonld\",\"type\":\"Annotation\",\"creator\":{\"id\":\"https://bounswe2019group9.tk/users/22\",\"name\":\"Mahmut Kızıloğlu\",\"email\":\"mahmut.kiziloglu@hotmail.com\"},\"created\":\"2019-12-24T14:42:56.554Z\",\"modified\":\"2019-12-24T14:43:01.283Z\",\"body\":{\"type\":\"TextualBody\",\"value\":\"jhg\",\"format\":\"text/plain\"},\"motivation\":\"highlighting\",\"target\":{\"id\":\"https://api.bounswe2019group9.tk/essays/getSourceByEssayId?id=24\",\"type\":\"Text\",\"format\":\"text/plain\",\"selector\":{\"type\":\"FragmentSelector\",\"conformsTo\":\"http://tools.ietf.org/rfc/rfc5147\",\"value\":\"char=152,456\"}}}"
]
}
Request Content: Content text, source id, receiver id
Response Content: Comment itself
POST /comments
{
"content": "Good one",
"receiverId": 2,
"sourceId": 3
}
{
"data": {
"content": "Good one",
"receiverId": 2,
"sourceId": 3
},
"explanation": null,
"status": 200
}
Request Content: Receiver user id
Response Content: Comments of that user
GET /comments/getCommentsByReceiverId?userId=3
{
"status": 200,
"explanation": null,
"data": [
{
"sourceFirstName": "ahmet",
"sourceLastName": "test",
"comment": {
"id": 1,
"sourceId": 1,
"receiverId": 3,
"content": "nice",
"createdAt": "2019-12-14T00:00:00.000+0000"
}
}
]
}
Request Content: Language id, question text
Response Content: Assignment itself
POST /assignments
{
"languageId": 1,
"text": "What do you think about fortune telling?"
}
{
"data": {
"languageId": 1,
"text": "What do you think about fortune telling?"
},
"explanation": null,
"status": 200
}
Request Content: Id
Response Content: Assignment with that id
GET /assignments?id=3
{
"status": 200,
"explanation": null,
"data": {
"id": 3,
"question": "Describe a place you will never forget.",
"languageId": 1
}
}
Request Content: Language Id
Response Content: Assignments in that language
GET /assignments/language?id=1
{
"status": 200,
"explanation": null,
"data": [
{
"id": 3,
"question": "Describe a place you will never forget.",
"languageId": 1
},
{
"id": 4,
"question": "Describe a sporting event you attended recently.",
"languageId": 1
},
{
"id": 5,
"question": "Describe someone you respect deeply.",
"languageId": 1
},
{
"id": 6,
"question": "Describe your childhood home.",
"languageId": 1
},
{
"id": 7,
"question": "Describe the nightlife in a city you are familiar with.",
"languageId": 1
},
{
"id": 8,
"question": "What would you do if you got lost in an unfamiliar city?",
"languageId": 1
},
{
"id": 9,
"question": "What would you do if you left something in a locked building?",
"languageId": 1
},
{
"id": 1,
"question": "What is your opinion about fortune telling?",
"languageId": 1
},
{
"id": 2,
"question": "What is your opinion about cellular phones?",
"languageId": 1
}
]
}