Skip to content

Nando5011/hackzurich_2023

Repository files navigation


Logo

BreakWise

Smart Breaks. Productive Days.

About The Project

By analyzing keylogger data, we can detect how productive a user is at any given time. Based on this data we can suggest breaks to the user, which will help them to stay productive throughout the day.

Additionally, we can detect how much time any application is used and therefore simplify the task of time tracking.

In order to protect the users' privacy, all the keylogger data is stored locally on the users' devices and is only used to extract metrics about the users' state of productivity. The only data that is sent to servers is the resulting metrics.

Built With

BreakWise can be split into two parts: The Software on the user's working device and the web app, which is used to display the metrics.

Backend

Python3

The logging software is written in python3 using pynput

Frontend

React Framework 7 Vite Firebase

The web app is written in React.js using Framework7 and Vite. The data is stored in a Firebase database.

Getting Started

In order to use BreakWise you only need to install the logging software on your device and create an account on the web app.

Unix

  1. Create python3 virtual environment
python3 -m venv venv
  1. Activate virtual environment
source venv/bin/activate
  1. Install requirements
pip install -r requirements.txt
  1. Run the app
python3 main.py

Windows

  1. Create python3 virtual environment
python3 -m venv venv
  1. Activate virtual environment
venv\Scripts\activate.bat
  1. Install requirements
pip install -r requirements.txt
  1. Run the app
python3 main.py

BreakWise WebApp

  1. cd into the frontend folder and npm install
cd frontend && npm install
  1. Start up locally or
npm start
  1. Build for android
npm run build-capacitor-android
  1. and start app in android (device can be selected in terminal) or
npx cap run android
  1. If error messages comes saying that android is not setup up, run the following:
npx cap add android

Usage

Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.

For more examples, please refer to the Documentation

Product Name Screen Shot

Roadmap

  • Feature 1
  • Feature 2
  • Feature 3
    • Nested Feature

See the open issues for a full list of proposed features (and known issues).

Acknowledgments

  • Ibukun Agboola
  • Nando Imboden (@Nando5011)
  • Florian Thiévent (@0x49b)
  • Mohammad Haider Hamani
  • Leo Hofer (leohofer.dev)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published