Skip to content

Performance Tracker is an android app built to help improve user's productivity. One of the core concepts is to allow user to add different priorities of task and help them complete those tasks on time using the idea of streak points, which can also be shared among the colleagues. High priority task earns 3 streak points, medium priority task ea…

License

Notifications You must be signed in to change notification settings

hprabesh/Performance-Tracker

Repository files navigation

Performance Tracker

An android application using Java that enables the student to measure the daily performance level through the streak points by completing different priorities of tasks within a deadline.


Features

  • Student can import classes and assignments from Canvas Learning Management System (LMS)
  • Student can manually add assignments/task and set the priority level.
  • Student can earn the streak points upon completing those tasks.
  • Student can monitor their daily performance level through streak history.

App Demo

Short Demo


Programming Languages and Tools used

Programming Languages:

  • Java
  • XML

Tools

  • Google Firebase Authentication was used to authenticate users
  • Google Firestore (NoSQL Database) was used to maintain the user records
  • Canvas LMS REST API was used to generate new tasks from the Class’ portal.


Coding Structure

All the layout (Activity and Fragment Layout) is located in the sub-dir: /app/src/main/res/layouts/
In Layout, the xml file name and id of element is written in snake-case formatting.

All the Java files is located in the sub-dir: /app/src/main/java/
Inside of it, the template_and_keys hold all the blue-print of objects like Classes, Task, User,Streak, SessionManagement and Priority, and /app/src/main/java/com/example/performance_tracker/ hods the implementation of the templates.
All Java Class name is in Pascal Case, whereas, all the variables and methods are in Camel Case


How to Run the Code

Step 1:

Clone this repository: git@github.com:hprabesh/android-performance-tracker.git

Step 2:

Set up the firebase account: Follow Google's documentation on how to set up firebase account

In the firebase console, enable the firestore database, and set up the database rule on how users perform CRUD operation.

This is the one that I used

Rule:

 
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if
          request.auth!=null;
    }
  }
}

Step 3:

Please make sure that /app/google-services.json has been updated with the new keys.

(Please follow the google documentation on how to set up google-services.json file)


How to use the App

Login and Registration

Login and Registration is a straight forward process. Fill out the registration page and then you will receive a link for the verification in your email to verify the account

Add Task, Add Class View Streak Points and Mark Task Completed

Please view the demo above on how to add tasks, set priority, create deadline and all those good stuff.

Importing the classes and assignments from Canvas LMS

Importing the classes and assignments from Canvas LMS requires you to generate a new API Key. So, please visit this site Canvas Manual Token Generation on how to generate token
(Please follow the Canvas Terms and Conditions about using OAuth2.0 and Manual API Token).

Finally, copy that token, and click on Import Class from Canvas and paste it in the pop-up box, and then you can import the classes and assignments.

Please view the demo above to learn how to add the API Key

About

Performance Tracker is an android app built to help improve user's productivity. One of the core concepts is to allow user to add different priorities of task and help them complete those tasks on time using the idea of streak points, which can also be shared among the colleagues. High priority task earns 3 streak points, medium priority task ea…

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages