Commit Graph

75 Commits

Author SHA1 Message Date
Antoni Nuñez Romeu c4fd5bfc77 feat: configure EAS Build for production and add env example 2026-07-06 12:09:41 +02:00
Antoni Nuñez Romeu 454da1416d docs: update README with React Native mobile app documentation 2026-07-06 11:42:14 +02:00
Antoni Nuñez Romeu 4afffe46f0 feat: add biometric authentication support 2026-07-06 11:36:01 +02:00
Antoni Nuñez Romeu d22f1b5646 feat: add barcode scanner for medicine lookup 2026-07-06 11:33:09 +02:00
Antoni Nuñez Romeu 205af1a795 feat: add push notifications support 2026-07-06 11:29:25 +02:00
Antoni Nuñez Romeu b4c572ce17 feat: configure EAS Build and add mobile scripts 2026-07-06 11:25:20 +02:00
Antoni Nuñez Romeu c02abe077a feat: add auth check on app startup 2026-07-06 11:23:20 +02:00
Antoni Nuñez Romeu 7b526e4aaa feat: implement auth screens (login, register) and profile screen 2026-07-06 11:20:51 +02:00
Antoni Nuñez Romeu 414d94c8ea feat: implement pharmacy detail screen with map and medicines 2026-07-06 11:17:22 +02:00
Antoni Nuñez Romeu 11421ef956 feat: implement map screen with pharmacy markers 2026-07-06 11:14:49 +02:00
Antoni Nuñez Romeu 6e58939723 feat: implement medicine detail screen with pharmacies list 2026-07-06 11:12:57 +02:00
Antoni Nuñez Romeu 29b9f84462 feat: implement home screen with medicine search 2026-07-06 11:10:19 +02:00
Antoni Nuñez Romeu 39331e2f6e feat: add UI components (SearchBar, MedicineCard, StockBadge, LoadingSpinner) 2026-07-06 11:08:40 +02:00
Antoni Nuñez Romeu 47f63eacc7 feat: add theme constants (colors, spacing, typography) 2026-07-06 11:05:56 +02:00
Antoni Nuñez Romeu 57054efe76 feat: add Zustand stores and custom hooks 2026-07-06 11:03:55 +02:00
Antoni Nuñez Romeu a5064f2172 feat: add API client and services for medicines, pharmacies, auth 2026-07-06 11:00:44 +02:00
Antoni Nuñez Romeu 259bdb1479 feat: add TypeScript types for mobile app 2026-07-06 10:58:00 +02:00
Antoni Nuñez Romeu 1b9fd16b9b feat: setup navigation structure with Expo Router 2026-07-06 10:53:52 +02:00
Antoni Nuñez Romeu ea9bbaed04 feat: initialize Expo project for mobile frontend 2026-07-06 10:48:45 +02:00
Antoni Nuñez Romeu 0f27579ca0 docs: add FarmaFinder Mobile implementation plan 2026-07-06 10:35:34 +02:00
Antoni Nuñez Romeu d9bf4f0d18 docs: add FarmaFinder Mobile design specification 2026-07-06 10:16:51 +02:00
Ichitux c0c58556e7 Merge pull request 'Logos & scanner changes' (#7) from tsi_uploads into main
Build & Push Docker Images / test-backend (push) Successful in 38s
Build & Push Docker Images / deploy (push) Successful in 20s
Build & Push Docker Images / build-backend (push) Successful in 2m21s
Build & Push Docker Images / build-frontend (push) Successful in 39s
Build & Push Docker Images / test-frontend (push) Successful in 30s
Reviewed-on: #7
2026-07-06 07:20:01 +00:00
Antoni Nuñez Romeu df0b114058 Logos & scanner changes
Run Tests on Branches / Backend Tests (push) Successful in 3m41s
Run Tests on Branches / Frontend Tests (push) Successful in 3m27s
2026-07-04 14:46:42 +02:00
Ichitux 3b725df118 Merge pull request 'feat: replace barcode-detector polyfill with local @zxing/browser for cross-browser barcode scanning' (#6) from fixing_barcode into main
Build & Push Docker Images / test-backend (push) Successful in 33s
Build & Push Docker Images / test-frontend (push) Successful in 31s
Build & Push Docker Images / deploy (push) Successful in 7s
Build & Push Docker Images / build-backend (push) Successful in 22s
Build & Push Docker Images / build-frontend (push) Successful in 54s
Reviewed-on: #6
2026-07-03 10:10:03 +00:00
Antoni Nuñez Romeu 5b080c4134 feat: replace barcode-detector polyfill with local @zxing/browser for cross-browser barcode scanning
Run Tests on Branches / Backend Tests (push) Successful in 3m35s
Run Tests on Branches / Frontend Tests (push) Successful in 3m33s
- Remove barcode-detector polyfill (made remote CDN calls to download zxing-wasm)
- Use @zxing/library@0.22.0 + @zxing/browser@0.2.0 locally
- Support PDF417, Code128, Code39, Code93, QR, EAN, UPC, ITF formats
- Clean special characters from scanned results before CIP validation
- Fix video ref timing issue with waitForVideo loop
2026-07-03 11:58:04 +02:00
Ichitux 0ebd2dc35c Merge pull request 'Fixes on docker compose & notify' (#5) from search_improvements into main
Build & Push Docker Images / test-backend (push) Successful in 32s
Build & Push Docker Images / test-frontend (push) Successful in 29s
Build & Push Docker Images / deploy (push) Successful in 19s
Build & Push Docker Images / build-backend (push) Successful in 19s
Build & Push Docker Images / build-frontend (push) Successful in 31s
Reviewed-on: #5
2026-07-02 15:49:06 +00:00
Antoni Nuñez Romeu 1bc34b1134 Fixes on docker compose & notify
Run Tests on Branches / Backend Tests (push) Successful in 3m28s
Run Tests on Branches / Frontend Tests (push) Successful in 3m27s
2026-07-02 17:09:15 +02:00
Ichitux 15e136f3d5 Merge pull request 'Profile_Fixes' (#4) from Profile_Fixes into main
Build & Push Docker Images / test-backend (push) Successful in 36s
Build & Push Docker Images / deploy (push) Successful in 7s
Build & Push Docker Images / build-backend (push) Successful in 22s
Build & Push Docker Images / build-frontend (push) Successful in 32s
Build & Push Docker Images / test-frontend (push) Successful in 31s
Reviewed-on: #4
2026-07-02 10:52:07 +00:00
Antoni Nuñez Romeu 7606d118e4 Design hotfixes and improvements.
Run Tests on Branches / Backend Tests (push) Successful in 3m32s
Run Tests on Branches / Frontend Tests (push) Successful in 3m29s
2026-07-02 12:40:09 +02:00
Antoni Nuñez Romeu 15c1127b34 Add admin access button in profile menu for admin users
- Add onAdminClick prop to ProfileView component
- Add conditional admin button visible only for is_admin users
- Add handleAdminClick function in App.jsx to navigate to admin view
- Button styled consistently with existing menu items
2026-07-02 11:23:57 +02:00
Antoni Nuñez Romeu 17cd5adaef Add design spec for admin access button in profile menu 2026-07-02 11:20:56 +02:00
Ichitux 4429ec4c7f Merge pull request 'Frontend_Fixes' (#3) from Frontend_Fixes into main
Build & Push Docker Images / test-backend (push) Successful in 33s
Build & Push Docker Images / test-frontend (push) Successful in 28s
Build & Push Docker Images / deploy (push) Successful in 18s
Build & Push Docker Images / build-backend (push) Successful in 18s
Build & Push Docker Images / build-frontend (push) Successful in 31s
Reviewed-on: #3
2026-07-01 15:29:25 +00:00
Antoni Nuñez Romeu 71a34293a9 Views in frontend changed
Run Tests on Branches / Backend Tests (push) Successful in 3m28s
Run Tests on Branches / Frontend Tests (push) Successful in 3m26s
2026-07-01 17:08:15 +02:00
Antoni Nuñez Romeu c5df0ec0b2 First implementation API for PIP (Proyecto: Pharmacy Integration Platform)
Run Tests on Branches / Backend Tests (push) Successful in 3m32s
Run Tests on Branches / Frontend Tests (push) Successful in 3m27s
2026-07-01 16:46:52 +02:00
Antoni Nuñez Romeu d935db4b3e Android branch testing
Run Tests on Branches / Backend Tests (push) Successful in 3m31s
Run Tests on Branches / Frontend Tests (push) Successful in 3m26s
2026-07-01 16:44:48 +02:00
Ichitux 1b9494bce6 Merge pull request 'Testing steps to avoid wrong implementation' (#2) from testing into main
Build & Push Docker Images / test-backend (push) Successful in 32s
Build & Push Docker Images / test-frontend (push) Successful in 30s
Build & Push Docker Images / deploy (push) Successful in 6s
Build & Push Docker Images / build-backend (push) Successful in 19s
Build & Push Docker Images / build-frontend (push) Successful in 18s
Reviewed-on: #2
2026-07-01 14:40:47 +00:00
Antoni Nuñez Romeu 1255bda9c7 Testing steps to avoid wrong implementation
Run Tests on Branches / Backend Tests (push) Successful in 4m41s
Run Tests on Branches / Frontend Tests (push) Successful in 3m46s
2026-07-01 16:36:47 +02:00
Ichitux 8578bac776 Merge pull request 'Rebranding app and naming' (#1) from Rebranding into main
Build & Push Docker Images / test-backend (push) Successful in 35s
Build & Push Docker Images / deploy (push) Successful in 7s
Build & Push Docker Images / build-backend (push) Successful in 2m10s
Build & Push Docker Images / build-frontend (push) Successful in 53s
Build & Push Docker Images / test-frontend (push) Successful in 30s
Reviewed-on: #1
2026-07-01 13:57:19 +00:00
Antoni Nuñez Romeu 1c31362e0b Rebranding app and naming 2026-07-01 15:54:10 +02:00
Antoni Nuñez Romeu 2e9d6a94dd Fix backend
Build & Push Docker Images / test-backend (push) Successful in 33s
Build & Push Docker Images / test-frontend (push) Successful in 29s
Build & Push Docker Images / deploy (push) Successful in 8s
Build & Push Docker Images / build-backend (push) Successful in 2m9s
Build & Push Docker Images / build-frontend (push) Successful in 56s
2026-07-01 12:28:20 +02:00
Antoni Nuñez Romeu db0935eb16 feat(fullstack): implement observability and redesign frontend UI
Build & Push Docker Images / test-backend (push) Failing after 36s
Build & Push Docker Images / test-frontend (push) Successful in 29s
Build & Push Docker Images / build-backend (push) Has been skipped
Build & Push Docker Images / build-frontend (push) Has been skipped
Build & Push Docker Images / deploy (push) Successful in 7s
This commit introduces comprehensive observability for both backend and frontend, alongside a major UI/UX overhaul to align with modern design standards (Material 3 inspired) and improve localization.

Backend changes:
- Integrated OpenTelemetry SDK for distributed tracing.
- Added Pino for structured JSON logging with OTel instrumentation for trace/span correlation.
- Configured OTLP exporters to route traces and logs to Grafana Alloy.
- Updated docker-compose to include necessary environment variables for observability.

Frontend changes:
- Integrated Grafana Faro for Real User Monitoring (RUM), capturing Web Vitals, JS errors, and user interactions.
- Redesigned the entire UI using a new color palette and Material 3 design principles.
- Refactored component architecture (App, Home, Search, Scanner, Profile, Alerts views) for better state management and navigation.
- Improved mobile UX with a redesigned Bottom Navigation bar and Top Bar.
- Localized the interface to Spanish (es).
- Updated assets, icons, and PWA configuration (manifest, icons).
- Refactored CSS to use a centralized design token system (CSS variables).

Observability enables better debugging and performance monitoring across the entire stack.
2026-07-01 11:48:27 +02:00
Antoni Nuñez Romeu 9316f6c54f CI/CD Deployment
Build & Push Docker Images / test-backend (push) Successful in 21s
Build & Push Docker Images / test-frontend (push) Successful in 23s
Build & Push Docker Images / build-backend (push) Successful in 17s
Build & Push Docker Images / build-frontend (push) Successful in 16s
Build & Push Docker Images / deploy (push) Successful in 33s
2026-06-29 14:21:37 +02:00
Antoni Nuñez Romeu 67ba352b1a Node version 22
Build & Push Docker Images / test-backend (push) Successful in 20s
Build & Push Docker Images / test-frontend (push) Successful in 21s
Build & Push Docker Images / build-backend (push) Successful in 16s
Build & Push Docker Images / build-frontend (push) Successful in 17s
2026-06-29 13:50:27 +02:00
Antoni Nuñez Romeu 17500e0567 iOS Build using GH Actions
Build & Push Docker Images / test-backend (push) Successful in 21s
Build & Push Docker Images / test-frontend (push) Successful in 22s
Build & Push Docker Images / build-backend (push) Successful in 16s
Build & Push Docker Images / build-frontend (push) Successful in 17s
2026-06-29 13:02:16 +02:00
Antoni Nuñez Romeu 6856640d81 Fixing ios build
Build & Push Docker Images / test-backend (push) Successful in 20s
Build & Push Docker Images / test-frontend (push) Successful in 22s
Build & Push Docker Images / build-backend (push) Successful in 17s
Build & Push Docker Images / build-frontend (push) Successful in 16s
2026-06-29 11:29:40 +02:00
Antoni Nuñez Romeu 4b5e1a7379 Hotfixes
Build & Push Docker Images / test-backend (push) Successful in 22s
Build & Push Docker Images / test-frontend (push) Successful in 24s
Build & Push Docker Images / build-backend (push) Successful in 18s
Build & Push Docker Images / build-frontend (push) Successful in 18s
2026-06-29 11:00:39 +02:00
Antoni Nuñez Romeu 6db5b6da20 Visual hotfixes & CI/CD
Build & Push Docker Images / test-backend (push) Successful in 22s
Build & Push Docker Images / test-frontend (push) Successful in 23s
Build & Push Docker Images / build-backend (push) Successful in 18s
Build & Push Docker Images / build-frontend (push) Successful in 30s
2026-06-29 10:56:43 +02:00
Ichitux e720bfa95a Adnroid & iOS capacitor
Build & Push Docker Images / test-backend (push) Successful in 20s
Build & Push Docker Images / test-frontend (push) Successful in 23s
Build & Push Docker Images / build-backend (push) Successful in 19s
Build & Push Docker Images / build-frontend (push) Successful in 42s
2026-06-29 00:54:01 +02:00
Ichitux 2f9c0d27df fix(ci): use --ci for backend (Jest), keep --run for frontend (Vitest)
Build & Push Docker Images / test-backend (push) Successful in 20s
Build & Push Docker Images / test-frontend (push) Successful in 21s
Build & Push Docker Images / build-frontend (push) Successful in 27s
Build & Push Docker Images / build-backend (push) Successful in 18s
Backend uses Jest, not Vitest — --run is unrecognized. --ci is the
Jest equivalent that disables watch mode and exits cleanly. Frontend
already uses --run --reporter=basic (Vitest) which is correct.

Verified locally: backend `npm test -- --ci` → 17/17 passing.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-28 13:09:25 +02:00
Ichitux 55a5d93a91 fix(frontend): restore PublicView back-compat for tests + CI
Build & Push Docker Images / test-backend (push) Failing after 18s
Build & Push Docker Images / test-frontend (push) Successful in 22s
Build & Push Docker Images / build-backend (push) Has been skipped
Build & Push Docker Images / build-frontend (push) Has been skipped
The lifted screen-state refactor in PublicView broke App.test.jsx (5
failures): when no `onScreenChange` prop was passed, the click handler
called a no-op, so the screen never advanced from 'home' to 'search'
and the search input was never rendered.

Fix: make screen state uncontrolled-by-default. PublicView owns its
own `useState('home')` and uses the lifted props only when App.jsx
provides them. Same back-compat shape as before, BottomNav still
drives the screen via controlled props in the real app.

Also: vitest defaults to watch mode, which hangs the CI test step
forever. Updated docker.yaml to pass `--run --reporter=basic` so the
job exits with a real pass/fail signal.

Local verification: `npm test -- --run` → 6/6 passing.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-28 13:06:56 +02:00