Add README.md
This commit is contained in:
127
README.md
Normal file
127
README.md
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
# 🦝 Raccoon Timekeeper
|
||||||
|
|
||||||
|
A self-hosted time tracking application with a sleek grayscale design.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
||||||
|
### Using Docker (Recommended)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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`:
|
||||||
|
|
||||||
|
```env
|
||||||
|
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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Run in debug mode
|
||||||
|
DEBUG=true python app.py
|
||||||
|
```
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
MIT License - feel free to use and modify!
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Made with 🦝 by Raccoon Timekeeper
|
||||||
Reference in New Issue
Block a user