2025-12-10 10:45:57 +11:00
2025-12-10 10:45:57 +11:00
2025-12-10 10:06:57 +11:00
2025-12-10 10:06:51 +11:00
2025-12-10 10:05:27 +11:00
2025-12-10 10:04:45 +11:00
2025-12-10 10:05:57 +11:00
2025-12-10 10:41:42 +11:00

🦝 Raccoon Timekeeper

A self-hosted time tracking application with a sleek grayscale design.

Raccoon Timekeeper Python License

Features

  • ⏱️ Flexible Time Entry - Log time in multiple formats (1:30, 1.5, 90m, 1h 30m)
  • 📅 Weekly Summaries - View time grouped by task and day (Monday-Sunday weeks)
  • 🖨️ Printable Timesheets - Generate clean printable weekly reports
  • 📋 Task Management - Create, edit, and organize your tasks
  • 📊 Data Export - Export your data as JSON or CSV
  • 🎨 Raccoon Theme - Sleek grayscale design

Quick Start

# Clone the repository
git clone https://gitea.hideawaygaming.com.au/jessikitty/Raccoon-TimeKeeper.git
cd Raccoon-TimeKeeper

# Start with Docker Compose
docker-compose up -d

# Access at http://localhost:5000

Manual Installation

# Clone the repository
git clone https://gitea.hideawaygaming.com.au/jessikitty/Raccoon-TimeKeeper.git
cd Raccoon-TimeKeeper

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Copy environment file
cp .env.example .env

# Run the application
python app.py

# Access at http://localhost:5000

Configuration

Create a .env file based on .env.example:

SECRET_KEY=your-super-secret-key-change-me
DATABASE_URL=sqlite:///data/timekeeper.db
DEBUG=false

Time Entry Formats

The time input field accepts multiple formats:

Format Example Result
Hours:Minutes 1:30 1h 30m
Decimal Hours 1.5 1h 30m
Minutes 90m 1h 30m
Hours 2h 2h 0m
Combined 1h 30m 1h 30m

API Endpoints

Method Endpoint Description
GET /api/tasks Get all tasks
POST /api/tasks Create a task
PUT /api/tasks/<id> Update a task
DELETE /api/tasks/<id> Delete a task
GET /api/entries Get all time entries
POST /api/entries Create a time entry
PUT /api/entries/<id> Update a time entry
DELETE /api/entries/<id> Delete a time entry
GET /api/weekly-summary Get weekly summary

Project Structure

raccoon-timekeeper/
├── app.py              # Main Flask application
├── requirements.txt    # Python dependencies
├── Dockerfile          # Docker build file
├── docker-compose.yml  # Docker Compose config
├── .env.example        # Example environment file
├── templates/          # HTML templates
│   ├── base.html
│   ├── index.html
│   └── settings.html
└── static/
    ├── css/
    │   └── style.css   # Raccoon grayscale theme
    └── js/
        ├── app.js      # Shared utilities
        ├── index.js    # Index page logic
        └── settings.js # Settings page logic

Development

# Run in debug mode
DEBUG=true python app.py

License

MIT License - feel free to use and modify!


Made with 🦝 by Raccoon Timekeeper

Description
No description provided
Readme 80 KiB
Languages
HTML 52.1%
Python 29.6%
CSS 15.7%
JavaScript 2.1%
Dockerfile 0.5%