Skip to content
This repository was archived by the owner on Jul 3, 2019. It is now read-only.
akgvn edited this page Mar 26, 2019 · 7 revisions

Iteration 2: Design

Table of Contents:

Team Squadroid:

  • Abdulkerim Güven (201711033)
  • Vural Can Şişman (201611055)
  • Mustafa Kayhan Arıcan (201611004)
  • Mustafa İpek (201611031)

Vision Statement

Our goal is to help Preparatory School students learn and remember English words more efficiently.

PrepMaster will accomplish this by enabling students to study English in short bursts on their smart phone, everyday. Students will use PrepMaster everyday to go over the English words they learned in school that week, and if there is need, to study earlier weeks' words.

PrepMaster will use SuperMemo algorithm to make sure students retain their knowledge of words.

Feature List

  • Practicing English words
    • Multiple choice questions
    • Filling the blanks
    • Word - meaning matching
  • Keeping statistics
    • Individual Correct / False statistics for students.
    • Leaderboards for ranking best students.
  • Timing the particular questions for helping individual students to remember the words they've had problems with in the past using the SuperMemo reminding algorithm.
  • (Optional) Real-time quiz for students with teacher preparing the questions and deciding the start/end times.
  • (Optional) Dictionary functionality.

Domain Analysis

In our school, Preparatory School is comprised of 4 sections (A1, A2, B1, B2) and each section is comprised of 8 weeks. Each week has a number of words that a student must learn. These words later show up in quizzes and exams.

UML Use Case Diagram

UML Use Case Diagram

UML Class Diagram

UML Class Diagram

UI Sketches

UI Sketches

Key Use-Cases

Practicing English Words

  1. User launches the app and logs in.
  2. User picks the option for practicing.
  3. User decides what kind of practice that they want to do and starts practicing.
  4. App requests and downloads latest study data from the server.
  5. App shows the question.
  6. User answers the question (multiple-choice, filling the blanks etc.).
  7. App checks correctness of the answer.
  8. Correctness info gets logged to the database.
  9. Reminding algorithm calculates when to remind the user for studying a particular word.

Checking Statistics

  1. User taps the profile page button.
  2. User selects the statistics option.
  3. Statistics page displays user's correctness rate.
  4. User can select the leaderboards tab and see the best learners using the PrepMaster app.

Architectural Vision

PrepMaster will have an Android app and a server (for REST service and database). Android app will request needed study data from the server using REST API and server will respond by sending data in JSON format.

Android Frontend:

  • Java
  • Fast Android Networking library for requesting data from the server and listening for responses.
  • Google GSON library will be used to process data in JSON format.
  • Android Studio for development, Gradle for deployment.

Backend:

  • PHP
  • PHP backend will listen for requests from the Android app using the REST API, will extract the requested data from the MySQL server, also doing calculations for SuperMemo algorithm if needed. It will send the response in JSON format.
  • PDO (PHP Data Objects) for database processing.
  • Deployed on a Apache server.

Database:

  • MySQL
  • Database will store the study material and each student's statistics.

Other Tools:

  • Git & Github for Source Control.
  • Android Studio, Sublime Text, Visual Studio Code for editing code.