← Back to projects

Timora: work-day tracking and reporting

Timora allows each user to manage their own time history with strict session-based data separation. It includes complete workflows for work days, project templates, reports, and period settings in a feature-based architecture.

Challenge

Build a reliable app for daily work-day control and hour-based payment calculation, with configurable business rules and strict multi-user data isolation.

Solution

Implemented a feature-based architecture on Next.js App Router using Server Actions, services, and repositories over Prisma. Added Better Auth, Zod validation, and automatic normal/overtime split per template.

Results

  • - Create/edit work days with real-time hour and payment calculation
  • - Template/project management with per-user rules
  • - Exportable reports in CSV, PDF, and image
  • - Flexible user-level period configuration
  • - Solid technical base ready for new modules

Technical system profile

Overview

Timora is a web app for work-day control, payment calculation, and user-scoped reporting, built with authentication and a domain-oriented architecture for scalability.

Problem solved

  • - Centralizes hour tracking, payments, and templates in one system
  • - Standardizes overtime calculation based on configurable rules
  • - Enforces strict data separation per authenticated user
  • - Improves decision-making with range/project-based reports

Stack and technologies

  • - Next.js 15 + React 19 + TypeScript
  • - Tailwind CSS v4 + reusable UI components
  • - Prisma 7 + PostgreSQL
  • - Better Auth (Prisma adapter)
  • - Zod for Server Action validation
  • - Zustand for client notifications

How it is organized

  • - src/app: routes, layouts, redirects, metadata
  • - src/features: work-days, projects, reports, settings, auth, notifications
  • - src/lib: shared infra (auth, prisma, utilities)
  • - Actions validate input and delegate business logic to services
  • - Repositories encapsulate Prisma access

Main workflow

  • - User hits protected route and session is validated in layout
  • - UI triggers a feature Server Action
  • - Action validates with Zod and calls service
  • - Service applies business rules and delegates persistence
  • - Repository executes Prisma and returns data for UI feedback

Key modules

  • - Work-days: create/edit entries and split normal/overtime by cutoff
  • - Projects: user templates with rate and multiplier rules
  • - Reports: range/project analytics + CSV/PDF/image exports
  • - Settings: period preferences and week-start options
  • - Auth: login/register, sessions, reusable guards

Strengths

  • - Clean, scalable feature-based architecture
  • - Clear business rules in service/repository layers
  • - Careful UX with responsive rules and design tokens
  • - Defined DevOps flow (CI, migrations, quality hooks)

Risks / technical debt

  • - Growing overtime-rule complexity may require a dedicated rule engine
  • - Server Action-heavy flow requires strict error-handling discipline
  • - Limited e2e coverage leaves critical flows mostly unit-tested
  • - Concurrent work-day edits should be monitored closely

Do you need to build or improve a software system?

I can help you translate business needs into a robust, maintainable technical solution.