Skip to content

Smart time tracking App. Automate your work hours with GPS geofencing & NFC tags. Features a beautiful Material You design, dark mode, and CSV data export. Open source and available in multiple languages.

License

Notifications You must be signed in to change notification settings

killi199/time-tracking

Repository files navigation

Time Tracking App

Features 🚀

⏱️ Effortless Time Tracking

Keep track of your working hours with precision and ease.

  • Manual Entry: Add, edit, or remove time entries with custom notes.
  • Visual Overview: Switch between Day, Week, and Month views to analyze your productivity.
  • Smart Logic: Automatically calculates duration and keeps your records organized.
Screenshot of general tracking Screenshot of adding entry

📍 Smart Auto Check-in

Forget about manual clocking. Let your phone do it for you.

  • GPS Geofencing: Automatically clock in when you arrive at work and clock out when you leave. You'll receive a notification confirming your status.
  • NFC Tag Support: Check in with a simple tap. Scan an NFC tag to instantly toggle your status—perfect for quick check-ins without manually opening the app.
    • How it works: Tapping the tag triggers a deep link that updates your status and confirms with a quick notification.
Screenshot of geofence setup Screenshot of nfc setup

📂 Data Freedom

Your data belongs to you.

  • CSV Export: Generate comprehensive reports of your work history in standard CSV format, ready for Excel or Google Sheets.
  • Easy Import: Migrate your data or restore backups seamlessly via CSV.

Screenshot of CSV export/import

🎨 Adaptive UI Integration

A user interface that feels right at home on your device.

  • Dark & Light Mode: Seamlessly switches between light and dark themes based on your system settings or manual preference.
  • Material You: Supports Android's dynamic color system, adapting the app's color palette to match your wallpaper and system theme for a personalized look.
Screenshot of adaptive UI light mode Screenshot of adaptive UI different color

🌍 Multi-language Support

Use the app in your preferred language.

  • Languages: Currently supports English and German.
  • Auto-detection: Automatically detects your device language settings.
  • Easy Contribution: Missing your language? Feel free to open a PR to add it!

Getting Started

Prerequisites

  1. Node.js & Yarn: This project uses Yarn (via Corepack). Ensure you have Node.js installed. Enable Corepack to use the correct Yarn version and install dependencies:

    corepack enable
    yarn install

Running the App

Using Expo Go

Expo Go allows you to run the app quickly on your device without a full build.

  1. Start the development server:
    yarn start
  2. Scan the QR code displayed in the terminal using the Expo Go app on your Android device (or Camera app on iOS).

Running Locally on Android (Debug Build)

To run a native debug build on your Android device or emulator:

  1. Enable Developer Options on your device:
    • Go to Settings > About phone.
    • Tap Build number 7 times until you see the message "You are now a developer!".
  2. Enable USB Debugging:
    • Go to Settings > System > Developer options.
    • Enable USB debugging.
  3. Connect your device via USB.
  4. Run the app:
    yarn android
    This command runs expo run:android.

Installing Release Version on Phone

To build and install the optimized release version on your connected Android device:

yarn android:release

This command runs expo run:android --variant=release.

Scripts

Running Tests

To run the unit tests using Vitest:

yarn test

Type Checking

To check for TypeScript errors:

yarn typecheck

Linting

To lint the codebase:

yarn lint

Acknowledgments

This app was mainly created by vibe coding using Google Antigravity.

About

Smart time tracking App. Automate your work hours with GPS geofencing & NFC tags. Features a beautiful Material You design, dark mode, and CSV data export. Open source and available in multiple languages.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •