db0935eb16
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.
51 lines
1.6 KiB
JSON
51 lines
1.6 KiB
JSON
{
|
|
"name": "farma-finder-backend",
|
|
"version": "1.0.0",
|
|
"description": "Backend API for FarmaFinder",
|
|
"main": "server.js",
|
|
"type": "module",
|
|
"scripts": {
|
|
"start": "node --env-file-if-exists=.env server.js",
|
|
"dev": "node --env-file-if-exists=.env --watch server.js",
|
|
"seed": "node seed.js",
|
|
"create-admin": "node create-admin.js",
|
|
"migrate": "node migrate.js",
|
|
"reset-db": "bash reset-db.sh",
|
|
"import-farmacias": "node import-farmacias.js",
|
|
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --forceExit"
|
|
},
|
|
"keywords": [],
|
|
"author": "",
|
|
"license": "ISC",
|
|
"dependencies": {
|
|
"@opentelemetry/api": "^1.9.0",
|
|
"@opentelemetry/auto-instrumentations-node": "^0.52.0",
|
|
"@opentelemetry/exporter-logs-otlp-grpc": "^0.55.0",
|
|
"@opentelemetry/exporter-trace-otlp-grpc": "^0.55.0",
|
|
"@opentelemetry/instrumentation-pino": "^0.45.0",
|
|
"@opentelemetry/resources": "^1.28.0",
|
|
"@opentelemetry/sdk-logs": "^0.55.0",
|
|
"@opentelemetry/sdk-node": "^0.55.0",
|
|
"@opentelemetry/sdk-trace-base": "^1.28.0",
|
|
"@opentelemetry/semantic-conventions": "^1.28.0",
|
|
"axios": "^1.6.0",
|
|
"bcrypt": "^5.1.1",
|
|
"connect-pg-simple": "^10.0.0",
|
|
"connect-sqlite3": "^0.9.16",
|
|
"pg": "^8.13.0",
|
|
"cors": "^2.8.5",
|
|
"express": "^4.18.2",
|
|
"express-rate-limit": "^8.5.2",
|
|
"express-session": "^1.17.3",
|
|
"pino": "^9.4.0",
|
|
"pino-http": "^10.3.0",
|
|
"redis": "^4.6.0",
|
|
"sqlite3": "^5.1.6",
|
|
"web-push": "^3.6.7"
|
|
},
|
|
"devDependencies": {
|
|
"jest": "^29.7.0",
|
|
"supertest": "^7.2.2"
|
|
}
|
|
}
|