-
Notifications
You must be signed in to change notification settings - Fork 2
List and Status of Deliverables Milestone 4
Team | Deliverables |
---|---|
Android | - 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 |
Frontend | - Register Page - Login Page - Forgot Password Page - Language selection page - Proficiency exam page - Profile page (self or other user) - Language Page (statistics & summary) - Exercise Pages (Reading/Listening/Grammar/Vocabulary/Writing) - Exercise search (semantic) - User Search - Exercise suggestion page |
Backend | - Register Endpoint - Login Endpoint - Language endpoint - Proficiency exam endpoint - Grade endpoint - Profil Info endpoint - Sending message request endpoint - Chats list endpoint - Messaging endpoints - User search endpoint - Content search (semantic search) endpoint - Solving exercise endpoint - Tagging endpoint - Conversation endpoint |
We have implemented register, login, language selection, proficiency exam, exam result page in the previous milestone and made an evaluation for these pages.
User can view their profile page when they clicked the profile icon on the bottom navigation bar and when they login to the app. In the user's own profile page, users can see their languages, progress on these languages, their levels in languages and the ratings(unimplemented now) as stated in the requirement item 1.1.1.1.2.6. and 1.1.1.1.2.10. In future, we are planning to add a button so that user's can see their message requests. Users also can take proficiency exam from their profile page.
User can view other user's profile page when they clicked the user's name on the user search result. In other user's profile page, users can see their languages, progress on these languages, their levels in languages and the ratings(unimplemented now) as stated in the requirement item 1.1.1.1.2.6. and 1.1.1.1.2.10. Users also can send a message request on another user's profile page.
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.
Users can see the list of users that they are having a chat within the chat list page. The chat list page is available when the user clicks on the message icon on the bottom navigation bar. This is not a feature that is stated in the requirements but is an essential part of the implementation of the requirement 1.1.2.1.
In the messaging page, users can send each other messages and see their previous messages. This page is also a part of the implementation of the requirement 1.1.2.1. Currently, if a user sends a message through the messaging page directly, the user can see their own message popping up in the messaging page directly. However, the user would need to open the messaging page again to see the message that they received as the messaging doesn't work instantaneously. And it wasn't given as a requirement.
Users can reach the user search page by clicking the search icon on the navigation bar. 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. But we don't have other functionalities except for the user search by the user name.
When the user clicks on the search icon in the bottom navigation bar, the user will be able to go to the content search page. In the content search page, 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.
The exercise type list in Android works as expected. The item 1.2.1.2. ( The learning materials should be mapped into 5 different categories: listening, reading, grammar, vocabulary and writing.) of project requirements list has been implemented in this page. We have found related icons for these categories and added to this page. Users can click on them and go to related exercises as in our use case diagram.
Users can see their languages, levels, and progresses before the start exercise. The item 1.1.1.1.2.6. (Users shall be able to see their learning process such as completed exercises, grade achievements for each language.) of project requirements list has also been implemented in this 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 dark green, selected answer yellow 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 improve their progress in a language as solving exercises.
We have implemented register, login, forgot password, language selection, proficiency exam in the previous milestone. Until now, we've made several updates.
- We've added antd form validation in register, login, forgot password, proficiency exam pages and updated their design to ant design.
- In proficiency exam, we've made it so that correct answers aren't displayed after each question finishing the exam and selected answers are displayed at each question.
- We've fixed bugs related to sending and getting latest grade in a language.
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.
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.
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.
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.
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.
All of our endpoint are available for testing on Swagger. If you can not see the page, please change your DNS configuration, we have trouble with some internet suppliers. We have an API Documentation given below, which is a really good guide to use our API.
Our API documentation can be found in our master branch under Rest API Documentation section and the documentation is updated regularly to contain the latest changes. There are examples of successful and unsuccessfull requests.