import caso from "cv/proyectos/lims-veterinario";
From WhatsApp and Excel to a LIMS with a PWA
caso.summary;
A lab took sample orders on paper and WhatsApp, with no sample traceability and its exam catalogue in Excel. A multi-role web app/PWA now covers referrals, geolocated pickup routes, per-sample reception, payments and notifications. In pilot.
caso.role;
My part
Client discovery, ADRs and specs; full backend and frontend development with an agentic engineering workflow (Claude Code) with review and tests on every change; staging deployment.
caso.highlights.map(h => <li>{h}</li>);
What it includes
- REST API with Spring Boot 4.1 and Java 25: JWT, Google sign-in (OAuth2/OIDC), roles and per-clinic isolation; 44 Flyway migrations on PostgreSQL.
- Notifications with the Outbox pattern, SSE and encrypted Web Push (RFC 8291/8292) implemented with the JDK alone.
- 4-level exam catalogue with calculated formulas through a safe custom parser (no eval) and cycle detection.
- Geocoding of Bogotá addresses against the city cadastre (ArcGIS) to assign pickup zones.
- Angular 21 with signals, a PWA with offline mode for the courier's route and WCAG AA accessibility.
- 900+ backend tests (JUnit 5, Testcontainers) and ~470 Playwright E2E tests across 3 browsers; CI on GitHub Actions.
caso.metrics;
Results
- 900+ backend tests and ~470 E2E tests (Playwright)
- 44 Flyway migrations
caso.stack;
Stack
- Java 25
- Spring Boot 4.1
- Spring Security
- Spring Data JPA / Hibernate
- PostgreSQL
- Flyway
- Angular 21
- TypeScript
- Tailwind CSS
- JUnit 5
- Testcontainers
- Playwright
- Docker
- GitHub Actions
- Cloudflare Pages
- Dokploy
export default <Acciones />