Final Deliverables - bounswe/bounswe2019group9 GitHub Wiki
List Of Deliverables
Team | Deliverables |
---|---|
Android | - Register Page - Login Page - Language selection page - Proficiency exam page - Exam result page - Profile page - Viewing someone else's profile - Sending message request to other users - Chats list page - Messaging page - User search - Content search (semantic search)- Exercise types list page - Solving exercise page in writing -Solved writing exercises page - Comment and rating page - Add exercise page - Exercises with image - Recommended reviewers page |
Frontend | - Register Page - Login Page - Language selection page - Proficiency exam page - Exam result page - Profil page - Viewing someone else's profile - Sending message request to other users - Chats list page - Messaging page - User search - Content search (semantic search)- Exercise types list page - Solving exercise page in writing -Solved writing exercises page - Comment and rating page - Add exercise page - Exercises with image - Recommended reviewers page - W3C Annotation model implementation for annotation of image and text based essays. - Unit tests! |
Backend | - Register Endpoint - Login Endpoint - Language endpoint - Proficiency exam endpoint - Grade endpoints - Profil Info endpoint - Chat Invitation endpoints - Chats list endpoint - Messaging endpoints - User search endpoint - Content search (semantic search) endpoint - Solving exercise endpoint - Tagging endpoint - Conversation endpoint - Annotation endpoints - Assignment endpoints - Comment endpoints - Content endpoints - Essay endpoints - Image and Sound File adding endpoints - Rating endpoints - Recommendation endpoints - Essay review Request endpoints |
Status and Evaluation of Deliverables
Android
We have implemented register, login, language selection, proficiency exam, exam result pages, profile page, viewing someone else's profile, sending message request to other users, chat list page, chat page, user and content search pages, list of exercise types page, exercise solving page in the previous milestone and made an evaluation for these pages.
Exercise solving page in writing
Users can write an essay in text format or upload a photo for the corresponding question. Both text and photos can be uploaded to support the requirement item 1.2.5.1. This page is also a part of the implementation of the requirement 1.2.2.4. except for tags part.
Solved writing exercises page
Users can see their own solved writing exercises under the Previously Solved Exercises heading in this page as stated in the requirement item 1.1.1.1.2.6. Also they can reach recommended users page and see ongoing reviews on this page.
Comment and rating page
Users can search other users by clicking the search icon on the navigation bar. Users can click on the result and go to that user's profile page. In this page, the user can see another user's profile with his/her language, level and rate. User can also see two buttons on this page. One of them is to send message to that user. The second one is to rate him and write a comment, also user can see rates and comments previously made. In the comment and rating page, the stars looks great. This page is also a part of the implementation of the requirement 1.2.6.1. However, all users of this app can rate and comment each other. It would be better if this was possible only when the users have interaction with each other.
Add exercise page
Users can add exercises by clicking on the plus icon in the exercise type list page. Users need to write a question body and options and select the question level. They can add a photo. This implementation is the part of requirement item 1.1.1.1.2.7.
Exercises with image
Previously in this app, photos were not displayed in the exercises. Displaying images in exercises improved our app.
Recommended reviewers page
Users can list the recommended reviewers by clicking on the recommended reviewers button on the previously solved writing exercises page. Users can see the first five reviewers here. These reviewers are displayed according to the response of API. This response logic returns the users who have the highest ratings and whose level is higher than the review requester.
Frontend
Register Page
The register page in the frontend works as expected. Items 1.1.3.1.1. (Users shall give their email address while registering.), 1.1.3.1.2. (Users shall give their names while registering.), 1.1.3.1.3. (Users shall set up a password while registering to the system) of project requirements list have been implemented in this page. It is connected to the backend and the input is checked.
Login Page
The login page in the frontend works as expected. The item 1.1.3.2.1.(Users shall be able to login to the system using their email address and their passwords.) of project requirements list has been implemented in this page. Some UI polish is needed in the frontend generally as the current version seems a little simple.
Language Selection Page
This page is also working perfectly. With this page one of the use cases has been realized and item 1.2.3.1. (The system shall support multiple languages.) of requirements has been partly realized. Currently, we are giving three options to users but only English is working so we need to work on that as well.
Proficiency Exam Page
Questions are retrieved from the backend and displayed with no problem. The user cannot see correct answers until submission.
Exam Result Page
Exam results are calculated and updated in the backend. We need to show the result in a more detailed way. Currently, only the A1, A2, etc. level is shown but some level information like intermediate, advanced etc needs to shown as well. The result is shown in a pop-up so.
Exercise Page
Questions are retrieved from the backend and displayed with no problem. The correct answers are shown after each question by making the correct answer red in the frontend. Thus, the item 1.1.1.1.2.3. (After every question, the users shall be able to see the correct answer) of project requirements list has been fulfilled. It supports both audio/image/text exercises.
Profile Page (self or other's)
User can view other user's profile page when they click the user's name on the user search result. User can view self profile page when they click profile button from topbar. In profile page; languages, progress on these languages, their levels in languages are shown as stated in the requirement item 1.1.1.1.2.6. and 1.1.1.1.2.10. Users also can request to chat with a user on another user's profile page. Users can rate each other, comment each other, view previous comments on each other's profile page.
Sending Message Request to Other Users
We have implemented the feature where user's can send a message request to each other as stated in the requirement 1.1.2.1.1. Users can see in other user's profile page if their request is approved or not, and send a request if they haven't already. The only unimplemented part of this requirement is to see the list of the message request that has sent to the user and approving/rejecting them as told in requirement 1.1.2.1.2. We will implement that part in the profile page of the user.
User Search Page
Users can reach the user search page by going to users page through topbar and find out results by filling search form values. By writing another user's name on the search part, users would be able to list all the users with that name. Users can click on the result and go to that user's profile page. This implementation is the part of requirement item 1.2.8.3.
Content Search Page(Semantic Search)
Users can reach the content search page by going to exercise search page through sidebar. In the content search page, by filling search form values the user can do a semantic search with the tags of the exercises. For example, users can search for a tag that they wanted. In the result, user would see the exercises that have that tag or a tag that is related to the tag that the user was searching for. Currently, users can only do a semantic search with the tag of the given exercise. This feature is written to implement the requirements 1.2.8.2. and 1.2.8.1.
Solving exercise page
Questions are retrieved from the backend and displayed with no problem. Unlike the proficiency exam page, the correct answers are shown after each question by making the correct answer green, selected answer highlighted and wrong answers red. Thus, the item 1.1.1.1.2.3. (After every question, the users shall be able to see the correct answer) of project requirements list has been fulfilled. Users can solve exercises with audio/image in listening/reading/grammar/vocabulary exercises.
Writing Exercise Page
The user can write essay about one of the available topics and submit it in either text or image format.
Recommend Review Page
The user can receive recommendations for essay reviews.
Annotation Page
The user or the reviewer can add annotations to an essay, complying to the w3c annotation standards. To add annotation, the user/reviewer can click on where to add (if the source is image) or select some text (if the source is text) to add an annotation. Then, the user who created an annotation can edit the annotation from the same page. It is not possible to move the annotation made to text to another place (one can delete it and re-add it to change the text it was pointing to) but can update all other fields. If the source is image, the user/reviewer gets a rectangle selector, which he/she can move/resize etc. to change the place an annotation is pointing to.
Chat Page
Users can view pending chat requests and chat with those who've accepted the requests on the chat page.