Blame

28a846 Tebby Dog 2025-08-08 19:55:24
init
1
# πŸ“Š Employee Hour Tracker
2
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
3
> A badass web app to monitor employees entering their time, serve up real-time analytics, and automate your backups β€” so you can stop worrying and focus on getting sh*t done.
28a846 Tebby Dog 2025-08-08 19:55:24
init
4
5
![Node.js](https://img.shields.io/badge/Node.js-18%2B-green)
6
![Express](https://img.shields.io/badge/Express-4.18-blue)
7
![SQLite](https://img.shields.io/badge/SQLite-3-orange)
8
![Docker](https://img.shields.io/badge/Docker-Ready-blue)
442327 Tebby Dog 2025-08-08 20:15:49
license
9
![License](https://img.shields.io/badge/License-MIT-yellow)
28a846 Tebby Dog 2025-08-08 19:55:24
init
10
f29811 Tebby Dog 2025-08-08 20:07:53
screens
11
---
12
6f2711 Tebby Dog 2025-08-09 20:08:31
screenshot formatting
13
<details>
14
<summary><i>Click to show screenshots</i></summary>
15
f29811 Tebby Dog 2025-08-08 20:07:53
screens
16
## Screenshots
17
![Table View](./Screenshot_2025-08-08_at_4.03.27_PM.png)
18
[![Table View](./Screenshot_2025-08-08_at_4.03.27_PM.png?thumbnail)](./Screenshot_2025-08-08_at_4.03.27_PM.png)
19
[![Management](./Screenshot_2025-08-08_at_4.03.54_PM.png?thumbnail)](./Screenshot_2025-08-08_at_4.03.54_PM.png)
20
[![Analytics](./Screenshot_2025-08-08_at_4.05.46_PM.png?thumbnail)](./Screenshot_2025-08-08_at_4.05.46_PM.png)
21
6f2711 Tebby Dog 2025-08-09 20:08:31
screenshot formatting
22
</details>
f29811 Tebby Dog 2025-08-08 20:07:53
screens
23
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
24
---
25
28a846 Tebby Dog 2025-08-08 19:55:24
init
26
## ✨ Features
27
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
28
### πŸ“… **Time Tracking (A.K.A. Keeping Tabs on Your Squad)**
29
30
- Weekly grid interface sharp enough to make spreadsheets cry
31
- Click once? Log it. Twice? Flag it. Thrice? Fix-it mode, baby
32
- Built-in calendar picker so you don't fat-finger the wrong week
33
- Default week your way β€” past, present, or hell, even the future
34
- No β€œSave” button needed β€” everything saves itself like grown-up software
28a846 Tebby Dog 2025-08-08 19:55:24
init
35
36
### πŸ“ˆ **Analytics Dashboard**
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
37
38
- Sexy-ass charts courtesy of Chart.js
39
- Date ranges? Yep. Choose from Last Week, Month, 90 Days, or freestyle
40
- Pie charts of shame: See who's not entered a damn thing
41
- Employee comparisons so you know who’s crushing it
42
- Summary stats that slap you with truths at a glance
28a846 Tebby Dog 2025-08-08 19:55:24
init
43
44
### πŸ‘₯ **Employee Management**
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
45
46
- Add, edit, and yeet employees in or out with full control
47
- Inline editing β€” because popups can get bent
48
- Confirmation dialogs keep you from rage-deleting poor Jim by mistake
49
- Secure, session-based login β€” no freeloaders allowed
28a846 Tebby Dog 2025-08-08 19:55:24
init
50
51
### πŸ’Ύ **Data Export & Backup**
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
52
53
- Export in:
54
- Colored Excel (preserves all that green/yellow/red goodness)
55
- JSON (for the nerds and the APIs)
56
- CSV (because boring as hell = universal)
57
- Auto-backups so you can sleep like a baby β€” configurable too
58
59
### 🎨 **Beautiful AF UI**
60
61
- Responsive as heck β€” use it on a tablet, a phone, or a potato
62
- A glorious purple gradient worth showing off to design nerds
63
- Smooth transitions that don’t make you nauseous
64
- Touch support that'll make any mobile user say β€œdamn that’s clean”
65
- You might actually enjoy navigating this one
66
67
---
28a846 Tebby Dog 2025-08-08 19:55:24
init
68
69
## πŸš€ Quick Start
70
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
71
### Prerequisites (Don’t Skip This, Ya Animal)
28a846 Tebby Dog 2025-08-08 19:55:24
init
72
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
73
- Node.js 18+
74
- OR Docker & Docker Compose (we’re fancy)
28a846 Tebby Dog 2025-08-08 19:55:24
init
75
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
76
---
28a846 Tebby Dog 2025-08-08 19:55:24
init
77
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
78
### πŸ§ͺ Option 1: Raw Node.js
28a846 Tebby Dog 2025-08-08 19:55:24
init
79
```bash
80
git clone https://github.com/tebwritescode/employee-hour-tracker.git
81
cd employee-hour-tracker
82
npm install
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
83
npm start # Start like a regular ol' app
84
npm run dev # If you want auto-reload magic
28a846 Tebby Dog 2025-08-08 19:55:24
init
85
```
86
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
87
---
88
89
### 🐳 Option 2: Docker Compose (Recommended as Hell)
28a846 Tebby Dog 2025-08-08 19:55:24
init
90
91
```bash
92
git clone https://github.com/tebwritescode/employee-hour-tracker.git
93
cd employee-hour-tracker
94
docker-compose up -d
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
95
docker-compose logs -f # Because watching logs is oddly satisfying
96
docker-compose down # When it’s time to kill it
28a846 Tebby Dog 2025-08-08 19:55:24
init
97
```
98
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
99
---
100
101
### πŸ”¨ Option 3: Docker CLI (For Hardcore Terminal Nerds)
28a846 Tebby Dog 2025-08-08 19:55:24
init
102
103
```bash
104
docker build -t employee-hour-tracker .
105
docker run -d \
106
--name employee-tracker \
107
-p 3000:3000 \
108
-v employee-tracker-data:/app/data \
109
employee-hour-tracker
110
```
111
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
112
App launches at `http://localhost:3000`
113
Go ahead, open it. We dare you.
28a846 Tebby Dog 2025-08-08 19:55:24
init
114
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
115
---
28a846 Tebby Dog 2025-08-08 19:55:24
init
116
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
117
## πŸ”§ Configuration (Don't Screw These Up)
28a846 Tebby Dog 2025-08-08 19:55:24
init
118
119
| Variable | Default | Description |
120
|----------|---------|-------------|
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
121
| `PORT` | `3000` | Where the hell the server listens |
122
| `NODE_ENV` | `development` | Pick your poison: `development` vs `production` |
123
| `DB_PATH` | `./employee_tracker.db` | Where your crucial time data lives |
124
| `SESSION_SECRET` | `employee-tracker-secret-key` | Hide this like it’s your banking password |
125
| `DEFAULT_ADMIN_USERNAME` | `admin` | The overlord’s default login |
126
| `DEFAULT_ADMIN_PASSWORD` | `admin123` | CHANGE THIS ASAP πŸ”₯ |
127
| `BACKUP_ENABLED` | `true` | Yeah, you want this on |
128
| `BACKUP_INTERVAL` | `86400000` | How often to save your backside (MS) |
129
| `BACKUP_RETENTION_DAYS` | `30` | How long to keep your safety net |
130
131
---
132
133
### πŸ‹ Docker Compose Config
28a846 Tebby Dog 2025-08-08 19:55:24
init
134
135
```yaml
136
version: '3.8'
137
services:
138
app:
139
image: employee-hour-tracker
140
environment:
141
- NODE_ENV=production
142
- SESSION_SECRET=your-secure-secret-here
143
- DEFAULT_ADMIN_USERNAME=admin
144
- DEFAULT_ADMIN_PASSWORD=change-this-password
145
ports:
146
- "3000:3000"
147
volumes:
148
- ./data:/app/data
149
- ./backups:/app/backups
150
```
151
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
152
---
153
28a846 Tebby Dog 2025-08-08 19:55:24
init
154
## πŸ“– Usage Guide
155
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
156
### ⏱️ Time Tracking `/tracking`
157
158
1. Pick your week and start clicking grid cells like a god
159
2. Cycle statuses like a boss
160
3. Sit back β€” auto-save’s doing the work for you
161
4. Use arrows & selectors if you like jumping through time
162
163
### πŸ“Š Analytics `/analytics`
28a846 Tebby Dog 2025-08-08 19:55:24
init
164
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
165
1. Choose your dates
166
2. Interpret shame-slices in the pie chart
167
3. Compare your team’s hustle in bar form
168
4. Click Export and flex on your boss with pretty data
28a846 Tebby Dog 2025-08-08 19:55:24
init
169
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
170
### πŸ‘¨β€πŸ’Ό Admin Stuff `/management`
171
172
1. Log in as admin (`admin` / `admin123`) β€” seriously, change that
173
2. Add new employees like it’s HR day
174
3. Click to edit names (typos won’t fix themselves)
175
4. Boot off old names thoughtfully (confirmation included)
176
5. Global settings & data export tools right at your manicured fingertips
177
178
---
28a846 Tebby Dog 2025-08-08 19:55:24
init
179
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
180
## πŸ—οΈ Project Architecture
28a846 Tebby Dog 2025-08-08 19:55:24
init
181
182
```
183
employee-hour-tracker/
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
184
β”œβ”€β”€ πŸ“„ server.js # RESTful backend engine of doom
185
β”œβ”€β”€ πŸ“„ backup.js # Makes sure your data doesn’t go *poof*
186
β”œβ”€β”€ πŸ“„ package.json # Clearly you’ve heard of this
187
β”œβ”€β”€ πŸ“„ docker-compose.yml # Container boyband orchestration
188
β”œβ”€β”€ πŸ“„ Dockerfile # Turns your app into deployable magic
189
β”œβ”€β”€ πŸ“ public/ # Frontend good stuff
190
β”‚ β”œβ”€β”€ index.html # Your glorious entry point
191
β”‚ β”œβ”€β”€ style.css # Sharp purple swagger
192
β”‚ β”œβ”€β”€ script.js # Grid logic + admin finesse
193
β”‚ └── chart.js # Analytics eye-candy
194
β”œβ”€β”€ πŸ“ backups/ # This folder saves asses
195
└── πŸ“— employee_tracker.db # Don't delete this... seriously
28a846 Tebby Dog 2025-08-08 19:55:24
init
196
```
197
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
198
---
199
200
### βš™οΈ Tech Stack
201
202
- **Backend**: Node.js + Express
203
- **Database**: SQLite3 + better-sqlite3 (the better part matters)
204
- **Frontend**: Raw Vanilla JS (no extra calories) + Chart.js
205
- **Auth**: express-session + bcryptjs (like a bouncer for your admin area)
206
- **Containerization**: Docker & Docker Compose
207
208
---
28a846 Tebby Dog 2025-08-08 19:55:24
init
209
210
## πŸ” Security
211
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
212
- Hashed passwords (get rekt plain text)
213
- Session-based login β€” no silly tokens
214
- CORS-tight so outsiders can’t jack your data
215
- SQL injection-proof β€” parameterized 'cause we’re not amateurs
216
- Secrets optional but highly encouraged (you’ve been warned)
28a846 Tebby Dog 2025-08-08 19:55:24
init
217
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
218
---
28a846 Tebby Dog 2025-08-08 19:55:24
init
219
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
220
## πŸ”§ Dev Life
28a846 Tebby Dog 2025-08-08 19:55:24
init
221
222
```bash
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
223
npm run dev # Hot reload fixups
224
npm start # Serious prod mode
225
npm run install-deps # Just in case you skipped setup like a rebel
226
```
28a846 Tebby Dog 2025-08-08 19:55:24
init
227
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
228
---
28a846 Tebby Dog 2025-08-08 19:55:24
init
229
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
230
### πŸ”Œ API Endpoints
231
232
| Method | URL | What-It-Does | Auth |
233
|--------|-----|--------------|------|
234
| GET | `/api/employees` | Fetch worker list | ❌ |
235
| POST | `/api/employees` | Add a badass | βœ… |
236
| PUT | `/api/employees/:id` | Update someone’s stuff | βœ… |
237
| DELETE | `/api/employees/:id`| Boot 'em | βœ… |
238
| GET | `/api/time-entries` | Fetch time logs | ❌ |
239
| POST | `/api/time-entries` | Save/correct logs | ❌ |
240
| GET | `/api/analytics` | Data candy | ❌ |
241
| POST | `/api/login` | Get in | ❌ |
242
| POST | `/api/logout` | Peace out | βœ… |
243
| GET | `/api/export/:format` | Download your victory proof | βœ… |
28a846 Tebby Dog 2025-08-08 19:55:24
init
244
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
245
---
28a846 Tebby Dog 2025-08-08 19:55:24
init
246
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
247
## 🐞 Known WTFs
28a846 Tebby Dog 2025-08-08 19:55:24
init
248
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
249
- Week nav is a little moody if you click like a caffeinated squirrel
250
- In rare cases, the status marker’s a lazy bastard and doesn’t update instantly
28a846 Tebby Dog 2025-08-08 19:55:24
init
251
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
252
(Fix coming soon. Or yell at us, that works too.)
253
09c337 Tebby Dog 2025-08-08 20:28:23
fix contact
254
## Support
28a846 Tebby Dog 2025-08-08 19:55:24
init
255
09c337 Tebby Dog 2025-08-08 20:28:23
fix contact
256
Issues? Questions? Praise-singing?
257
File an issue on GitHub or yell at [teb](https://github.com/tebwritescode).
28a846 Tebby Dog 2025-08-08 19:55:24
init
258
ccec28 Tebby Dog 2025-08-08 20:00:53
wording
259
---
09c337 Tebby Dog 2025-08-08 20:28:23
fix contact
260
πŸ‘‘ Created by: [tebbydog0605](https://github.com/tebwritescode)
261
πŸ‹ Docker Hub: [tebwritescode](https://hub.docker.com/u/tebwritescode)
262
πŸ’» Website: [teb.codes](https://teb.codes)