CSC207-2023Y-UofT / course-project-tnt

course-project-tnt created by GitHub Classroom
1 stars 0 forks source link

Welcome to TNT

image

Overview Of The Project

The Pomodoro Timer with Task List is a productivity application designed to help users efficiently manage their study or work sessions using the popular Pomodoro technique. The app combines a timer feature, allowing users to work in focused 25-minute study sessions, followed by 5-minute breaks. Additionally, it provides a task list feature for users to organize their tasks and mark them as completed.

Prerequisites and Setup

Before you run the app, ensure you have met the following requirements:

Setting up in Android Studio

  1. Open Android Studio
  2. Click on File -> Open
  3. Navigate to the location where you cloned the repository and select the project's root folder.
  4. Android Studio will take a moment to sync and load the project.

Running the Project/App

  1. Once the project is loaded, you might need to wait for the Gradle sync to finish. This process will download the required dependencies.
  2. After the sync is complete, you can select a target device to run the app on. This could be an emulator or a physical device connected to your computer.
  3. Click on the green "Run" button (usually a play icon) in the top menu or use the shortcut Shift + F10.
  4. Android Studio will build the project and launch the app on the selected device.

Features

  1. Pomodoro Timer
    • Study Session: The timer enables users to initiate a 25-minute study session to maintain focus and productivity.
    • Break Reminder: After each study session, the app prompts the user with an option to take a 5-minute break, helping them relax and recharge.
    • Continuation Prompt: The user can choose to continue the study session without a break, making the app flexible to individual preferences.
  2. Task List
    • Add Tasks: Users can add new tasks to the list with details like task name, to keep track of their to-do items.
    • Editing Current Tasks: Swiping right on the task allows the user to edit their task description.
    • Remove Completed Tasks: Once a task is completed, users can swipe left on the task and remove it from the task list.
  3. User Authentication
    • User Registration: Users can create a new account by registering with a unique username and password.
    • User Login: Registered users can log in securely to access their task list.
    • User Logout: User is brought back to the main page, where they are shown the options to either sign in or register.
  4. Prompts
    • User Sign-in and Registration: Prompt displays authentication updates, such as errors when user attempts to signin or register, providing guidance on how the user can successfully access the app content.
    • Pomodoro Session Updates: Using the prompts, the user can choose to continue the study session without a break, making the app flexible to individual preferences.

Note on SOLID and CA

User signin and registration:

PomodoroTimer and VibratorHelper:

Prompt:

Design patterns

Test Coverage

image The test coverage breakdown is as shown. Android Tests including all the instrumented tests that test the UI, database, entities, utils and databinding were unable to be added to the test coverage report. This accounts for why these classes have a coverage of 0%.