Skip to content

GurkiratSingh111/Screen-Time-Manager

 
 

Repository files navigation

Screen Time Manager

A native android app that helps you manage your screen time. This app is built using:

  • Kotlin
  • Room (SQLite)
  • Firebase:
    • Authentication
    • Realtime Database
  • Testing:
    • JUnit
    • Espresso
    • Mockito

Features

Set App Usage Limits

Set app usage limits App usage limit exceeded
  • You can set app usage limits for each app.
  • When you exceed the limit, the app will be locked, and you will not be able to use it until the next day.

Authentication

Authentication
  • Sign up and log in to the app using your email address and password.
  • Credentials are stored securely using Firebase Authentication.

Add Friends

Send friend requests Accept friend requests
  • You can add friends by searching for their username and sending them a friend request.
  • The other user will be able to accept or reject your request.
  • Recipient will be notified of the request via a notification.

View Your Friends' App Usage

View your friends' app usage
  • Once a friend request is accepted, you will be able to view your friends' app usage.
  • You can view the app usage for the current day, as well as the previous days.
  • Can also view a breakdown of the usage by app for each friend on a specific day.

Building the app

Prerequisites

Before you can start building the app, you need to add a google-services.json file to the app directory. This file can be obtained by creating a new Firebase project and adding an Android app to it. For more information, see Add Firebase to your Android project.

The app uses the following Firebase services:

  • Authentication
  • Realtime Database

Building

To build the app, run the following command in the root directory of the project:

./gradlew assembleDebug

This will generate an APK file in the app/build/outputs/apk/debug directory.

Testing

Unit tests

To run the unit tests, run the following command in the root directory of the project:

./gradlew test

Instrumented tests

To run the instrumented tests, you need to have an Android device connected to your computer or an emulator running. Then, run the following command in the root directory of the project:

./gradlew connectedCheck

GitHub Actions Workflow

The project uses GitHub Actions to build and run the unit tests on every pull request to the main branch. It also builds and publishes a debug APK file to the releases page of the repository whenever a new tag is created.

Required Secrets

  • GOOGLE_SERVICES_JSON
    • Contents of the google-services.json file encoded in base64.

About

an android app to limit and share your device usage

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 100.0%