How expertscloud/attendance-and-time-tracking-public works
Tickly combines an employee desktop time-tracking app, an admin management panel, and a shared AdonisJS API. Employees sign in, check in, track work against projects, pause or resume, and check out; Electron idle detection can trigger automatic pauses. Admins manage users, projects, and clients and review attendance and leave. The API validates and handles requests through controllers and services, persisting domain records in MySQL. README capabilities are included where source excerpts were not sampled; those uncertain internal links are omitted.
Main entry points: database.ts MySQL database · routes.jsx Admin application · routes.ts REST routes · Dashboard.jsx Tracking dashboard
Components 25
Employee desktop
- Tracking dashboard
frontend/src/pages/dashboard/Dashboard.jsx - Attendance controls
frontend/src/pages/dashboard/AttendanceApiCalls.js - Idle detection
frontend/electron/main.js - Location and IPC
frontend/src/hooks/useLocationSnapshot.js
Admin panel
- Admin application
admin-frontend/src/routes/routes.jsx - User management
admin-frontend/src/pages/users/Users.jsx - Project management
admin-frontend/src/pages/projects/Projects.jsx - Client management
admin-frontend/src/pages/clients/Clients.jsx - Attendance review
admin-frontend/src/pages/attendances/Attendance.jsx - Leave management
admin-frontend/src/pages/leaves/Leaves.jsx
Backend API
- REST routes
backend/start/routes.ts - Attendance endpoints
backend/start/routes/attendance_routes.ts - Attendance controller
backend/app/controllers/attendance_controller.ts
Domain services
- Authentication
backend/app/services/auth_service.ts - Time tracking
backend/app/services/attendance_service.ts - User service
backend/app/services/user_service.ts - Project service
backend/app/services/project_service.ts - Client service
backend/app/services/client_service.ts - Leave services
backend/app/services/leave_service.ts
External integrations
- MySQL database
backend/config/database.ts - AWS S3
- SMTP email
- Automated checkout
backend/start/scheduler.ts
Other components
- Employee
- Admin / HR
Connections 31
- Employee → Tracking dashboard: uses
- Tracking dashboard → Attendance controls: drives
- Tracking dashboard → Idle detection: starts timer
- Idle detection → Tracking dashboard: sends idle events
- Tracking dashboard → Location and IPC: requests location
- Attendance controls → Attendance endpoints: calls API
- Location and IPC → Attendance endpoints: submits snapshots
- Admin / HR → Admin application: uses
- Admin application → User management: routes to
- Admin application → Project management: routes to
- Admin application → Client management: routes to
- Admin application → Attendance review: routes to
- Admin application → Leave management: routes to
- User management → REST routes: calls API
- Project management → REST routes: calls API
- Client management → REST routes: calls API
- Attendance review → REST routes: calls API
- Leave management → REST routes: calls API
- REST routes → Attendance endpoints: registers
- Attendance endpoints → Attendance controller: dispatches
- Attendance controller → Time tracking: calls
- Attendance controller → MySQL database: stores snapshots
- Time tracking → MySQL database: reads and writes
- Authentication → MySQL database: reads and writes
- User service → MySQL database: reads and writes
- Project service → MySQL database: reads and writes
- Client service → MySQL database: reads and writes
- Leave services → MySQL database: reads and writes
- User service → AWS S3: stores profile photos
- Authentication → SMTP email: dispatches email events
- Automated checkout → MySQL database: closes open attendance