Skip to content

cipher-shad0w/TimeTracker

Repository files navigation

 

Time Tracker

Github top language Github language count Repository size

About   |   Features   |   Technologies   |   Requirements   |   Setup   |   Usage   |   Project Structure   |   License


🎯 About

Time Tracker is a modern Electron-based desktop application for tracking, analyzing, and visualizing work time. It is designed for professionals and freelancers to manage project efforts, client work, and personal productivity with powerful filtering and reporting features.


⭐ Features

  • Import and analyze time tracking data from CSV
  • Filter by client, project, team member, year, month, and billing status
  • Visualize efforts by day, week, month, and year
  • Export filtered data to CSV or Excel
  • Modern, intuitive UI with Electron

🚀 Technologies

  • Programming Language: JavaScript/Node.js
  • Main Framework: Electron
  • Main Libraries:
    • electron: Cross-platform desktop apps with JavaScript
    • chart.js: Data visualization
    • papaparse: CSV parsing and manipulation
    • jest: Testing framework

✅ Requirements

  • Git (for cloning the repository)
  • Node.js 14.0 or higher
  • npm (comes with Node.js)

🏁 Setup

  1. Clone the repository:

    git clone https://github.com/cipher-shad0w/time_app.git
    cd time_app
    
  2. Install dependencies:

    npm install
    
  3. Prepare your data:

    • Place your time tracking data as data/time.csv (see below for format)
  4. Start the application:

    npm start
    

💻 Usage

  • Use the sidebar to filter by client, project, year, and billing status
  • Switch between tabs for year overview, accounting sheet, and team effort
  • Export filtered results as CSV or Excel

Data Format

The CSV file should contain columns like:

  • Team member
  • Client
  • Project
  • Project type
  • Start Date (DD.MM.YYYY)
  • End Date (DD.MM.YYYY)
  • Duration (e.g., "1h 30m 0s")
  • Billed (TRUE/FALSE)
  • Note

📁 Project Structure

LICENSE
README.md
CHANGELOG.md
CONTRIBUTING.md
jest.config.js
package.json

data/
    example_csv_time.csv
src/
    index.html
    main.js
    preload.js
    renderer.js
    styles.css
    __pycache__/
        data_manager.cpython-310.pyc
        data_manager.cpython-39.pyc
        tabs.cpython-310.pyc
        tabs.cpython-39.pyc
        ui.cpython-310.pyc
        ui.cpython-313.pyc
        ui.cpython-39.pyc
tests/
    setup.js
    e2e/
        app.test.js
    unit/
        main.test.js
        renderer-functions.test.js
        renderer.test.js
  • src/main.js: Main process entry point
  • src/renderer.js: Renderer process handling UI logic
  • src/preload.js: Preload script for secure context bridge
  • src/index.html: Main application HTML
  • src/styles.css: Application styles and theme
  • src/__pycache__/: Python compiled files for data management and UI
  • data/: Place your time tracking CSV data here
  • tests/: Automated tests with Jest
  • package.json: Project dependencies and scripts

📝 License

This project is licensed under the MIT License. See the LICENSE file for more details.


Author

Made with ❤️ by Jannis Krija

 

Back to top

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published