feat: enhance team planning and deployment
Test and publish / verify (push) Successful in 2m45s

This commit is contained in:
2026-07-29 12:09:21 +03:30
parent c3083b137f
commit eba6b3565c
10 changed files with 472 additions and 22 deletions
+26 -2
View File
@@ -13,9 +13,9 @@ Hamkar is a small team presence tracker built for startups that work with the Pe
- Office and remote check-in/check-out
- Persian month calendar with attendance, approved leave, remote days, Fridays, and fixed Solar Hijri public holidays
- Team day detail showing who is present, remote, absent, or expected at the office
- SaturdayFriday team week schedule with calendar-style presence records
- SaturdayFriday team week schedule as the default team view, with calendar-style presence records
- Period-based teammate work updates for completed, blocked, and pending tasks
- Shared Trello-style team board with assignment, Jalali due dates, and drag-and-drop columns
- Shared Trello-style team board with reusable colored tags, assignment, Jalali due dates, and drag-and-drop columns
- Time-off and remote-day requests with a dependency-free Jalali date picker and typed Persian-date fallback
- Admin approval/rejection with review notes
- Excel-compatible UTF-8 CSV reports for attendance and teammate work updates
@@ -85,6 +85,30 @@ docker run --rm -p 8080:8080 \
hamkar:local
```
### Docker Compose
Compose builds from `build/dockerfile`, persists SQLite in the `hamkar-data` volume, and publishes the application at <http://localhost:8080>.
```bash
cp .env.example .env
docker compose -f compose.yml up -d --build
docker compose -f compose.yml ps
```
Stop the application without deleting its database:
```bash
docker compose -f compose.yml down
```
To intentionally delete the database volume as well:
```bash
docker compose -f compose.yml down --volumes
```
Set a secure `INITIAL_ADMIN_PASSWORD` before the first start. For HTTPS deployments, also set the public `APP_BASE_URL` and `SESSION_SECURE=true`.
## Gitea Actions
The workflow under `.gitea/workflows/ci.yaml` is adapted from the Sana API pipeline. Pull requests build and test the container without publishing it. Pushes to `main` build and publish both `main` and immutable commit-SHA tags.