Hourglass is a powerful time tracking analytics application that helps you visualize and analyze your work hours from Clockify. It provides detailed insights into your time entries, project distribution, and earnings calculations.
- Daily Hours Visualization: View your daily work hours through an intuitive bar chart
- Project Distribution: See how your time is distributed across different projects
- Time Statistics: Get detailed statistics about your work hours, including:
- Total hours worked
- Average hours per day
- Billable vs. non-billable time
- Project-specific breakdowns
- Flexible Date Selection: Choose custom date ranges for analysis
- Preset Periods: Quick access to common time periods (Last 7 days, Last 30 days, etc.)
- Monthly View: Special view for analyzing monthly work patterns
- Hourly Rate Tracking: Set and track your hourly rates
- Currency Conversion: Support for USD to DOP conversion
- Earnings Projections: Calculate potential earnings based on billable days
- PDF Reports: Generate detailed PDF reports of your time entries
- Customizable Reports: Include project breakdowns and earnings calculations
- Easy Export: Download reports for record-keeping or client billing
- A Clockify account with an API key
- Modern web browser (Chrome, Firefox, Safari, or Edge)
-
Clone the repository:
git clone https://github.com/yourusername/hourglass.git cd hourglass
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:5173
-
Build the application:
npm run build
-
The built files will be in the
dist
directory -
Deploy using Docker:
docker-compose up -d
- When you first open the application, you'll be prompted to enter your Clockify API key
- Enter your API key in the profile settings
- The app will automatically fetch your user information and workspace details
- Click on your profile icon in the top-right corner
- In the profile settings, you can:
- Set your hourly rate
- Configure USD to DOP conversion rate
- Update your API key
- Reset your settings if needed
- Select a date range using the date picker
- View your time entries in the main table
- Toggle between different views:
- Daily hours chart
- Project distribution chart
- Detailed time entries list
- Select your desired date range
- Click the "Download Report" button
- Choose your preferred report format
- The report will be generated and downloaded automatically
npm run dev
: Start the development servernpm run build
: Build the application for productionnpm run preview
: Preview the production build locallynpm run lint
: Run ESLint to check code qualitynpm run test
: Run testsnpm run test:coverage
: Run tests with coverage report
hourglass/
├── src/
│ ├── components/ # React components
│ ├── services/ # API and utility services
│ └── App.jsx # Main application component
├── public/ # Static assets
├── dist/ # Production build output
└── package.json # Project dependencies and scripts
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with React and Material-UI
- Powered by Clockify API
- Charts powered by Chart.js