Skip to main content

Sprint Breakdown

Two-week sprints. Each sprint lists the vertical slice that ships — backend, web, and mobile for the same capability whenever possible.

Sprint 0 — Rails (1 week)

Backend

  • Install spatie/laravel-permission, Sanctum, Horizon, Filament, Pest.
  • Create AppServiceProvider bindings for scope resolution.
  • Stub App\Support\Auditable trait + audit_logs migration.
  • Seed SuperAdmin + SystemAdmin + demo tenant.

Web

  • Vite + TS + Tailwind + shadcn bootstrap.
  • Auth pages (login, logout, refresh).
  • AppShell with role-aware navigation.
  • Typed Axios client generated from an OpenAPI stub.

Mobile

  • flutter create, Riverpod + Dio + go_router.
  • Auth screen, token persistence, dev-only API base-url switcher.

DevOps

  • GitHub Actions pipelines (server, ui, app) with caching.
  • Staging environment on dev.* domains.

Exit: SuperAdmin logs in on web and mobile; a smoke test passes in CI on every repo.

Sprint 1 — Organizations & Units (2 weeks)

  • Migrations + models + policies + resources for orgs and units.
  • CRUD endpoints and Filament resources.
  • Web pages for list/create/edit.
  • Tests: policy matrix, duplicate codes, soft-delete behavior.

Sprint 2 — Employees + Shifts (2 weeks)

  • Employee CRUD, deployment management, transfer flow.
  • Shift CRUD with overlap validation.
  • Web pages + import CSV for employees.
  • Pest: overlap detection, transfer history preservation.

Sprint 3 — Roster (2 weeks)

  • Bulk roster upsert endpoint with conflict reporting.
  • Publish / unpublish states.
  • Web roster grid editor (virtualized).
  • Mobile: "my shifts this week" view.
  • Pest: cross-employee overlap, locum slotting.

Sprint 4 — Attendance Core (2 weeks)

  • PunchIngestService, AttendanceProcessor, RedFlagEngine.
  • POST /attendance/punch endpoint wired to queues.
  • Web: daily attendance view with flag chips.
  • Mobile: check-in / check-out with offline buffer.
  • Pest: rule windows, overnight, multiple punches, flags.

Sprint 5 — Leave + Regularization (2 weeks)

  • Submission, approval chain, decision endpoints.
  • Web inboxes for ShiftManager / HR.
  • Mobile: request forms + status view.
  • AttendanceRecalculator service invoked on approval.

Sprint 6 — Locum + Locking (1.5 weeks)

  • Locum assignment and revoke.
  • Auto-lock scheduled command.
  • Unlock override with audit.
  • Web banners showing lock state.

Sprint 7 — Reports + Payroll (1 week)

  • Report filter API + exports queue.
  • CSV + XLSX + PDF generators.
  • Payroll push (nightly) + pull endpoint.
  • Web reports page.

Sprint 8 — Mobile MVP polish (2 weeks, overlaps S4–S7)

  • Permissions flow, onboarding, empty states, dark mode.
  • App icons, splash, release builds.
  • Crashlytics + basic analytics.

Sprint 9 — Pilot (1 week)

  • On-site install, data seeding from client records.
  • Training for ShiftManager + HR.
  • Incident runbook.
  • Daily stand-up with pilot unit for 2 weeks.

Sprint 10 — V1 GA (1 week)

  • Security review, dependency audit, OWASP top-10 pass.
  • k6 load test (POST /attendance/punch at 500 rps).
  • Runbooks and on-call rota.
  • Marketing docs + demo tenant.