JRG: Deliverable 3 — Final Project: Gamification, Recipe Suggestions, Auto-Expiry Learning, Observability & Production Deployment#264
Conversation
Feature: add devops integration
Entrega 3 (Final) del proyecto final AI4devs 202509 rookies
frontend - V1 (from Lovable) backend - V1 infra - V1 docs - V1
…g across documentation and configuration files
…ns that duplicated CLAUDE.md.
…ving .env parameters from example
…, T030, T033, T034
Removes the Mercadona/Algolia live price integration and the entire price-comparison vertical (insights price-comparison endpoint, compare-price route, normalizer, DTO, specs/003, EXT-008 ticket, and related tests) to avoid third-party Terms-of-Service and credential concerns. The hardcoded Algolia credentials are deleted from the working tree; history is scrubbed separately. Keeps the unrelated /insights/waste metrics endpoint and the priceCatalogItem model. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The price-comparison feature was removed, leaving the PriceCatalogItem model with no readers. Removes the Prisma model and its seed data, and adds a migration dropping the table. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
High severity (1–4): CLAUDE.md:4 now points to specs/006-expiry-learning/plan.md, matching .github/copilot-instructions.md and .specify/feature.json. Removed all stale Mercadona/PriceCatalogItem references from readme.md, docs/tickets/README.md, docs/product/product.md, and docs/tickets/extendedMVP/README.md (dead link to EXT-008-mercadona-price-comparison.md and its sequence entry removed too). docs/api/openapi.yaml: removed the dead /api/insights/price-comparison endpoint + its 3 schemas, replaced with the real /api/insights/waste; added the ~27 missing endpoints (gamification, recipes, households, invitations, expiration preferences, auto-expiry settings, pantry bulk ops/events, push subscriptions) with matching request/response schemas derived directly from the controllers and DTOs. Validated the YAML parses cleanly. Fixed the broken TKT-013 link in readme.md to point at the actual DISCARDED-TKT-013-...md file. Lower severity (all but the specs/001-cicd-pipeline removal): docs/db/main-entities.md and docs/db/database-model.md: removed the PRICE_CATALOG_ITEM entity everywhere (domain list, ER diagram, entity definitions, trade-offs, alignment checklist) and added the 6 missing models (UserPoints, UserBadge, AutoExpiryDigest, NotificationLog, PushSubscription, UserCategoryExpiryPreference) with fields matching the actual Prisma schema. Replaced "Mercadona" test-fixture strings in front/src/routes/add.manual.test.tsx and front/tests/e2e/pantry/item-details-edit.spec.ts with neutral text; reran the affected Vitest file to confirm it still passes. Deleted the orphaned root .env.example (used the wrong var name VITE_API_URL, unreferenced by any docs/scripts — back/.env.example/front/.env.example are the real, correctly-documented ones). front/README.md now correctly describes the stack as React 19 + TanStack Start + TanStack Router + Vite, matching the architecture docs. docs/local-development-setup.md §9 now documents dev.sh as a one-command shortcut for the manual multi-terminal workflow.
- Removed unused buttons - Fixed Profile edition - Enabled password change - Enabled Account removal
|
Important Review skippedToo many files! This PR contains 592 files, which is 492 over the limit of 100. To get a review, narrow the scope: Upgrade to a paid plan to raise the limit. Usage-priced reviews support at most 300 files. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (41)
📒 Files selected for processing (592)
You can disable this status message by setting the ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deliverable 3 — Final Project: Gamification, Recipe Suggestions, Auto-Expiry Learning, Observability & Production Deployment
Summary
This branch evolves the MVP from Deliverable 2 into the final, production-ready version of the app, adding four new feature modules plus observability and deployment infrastructure.
back/src/modules/gamification,front/src/features/gamification,front/src/routes/achievements.tsx): points, badges, weekly scoring, and an achievements page, backed by a new cron job and DB migration.back/src/modules/recipes,front/src/features/recipes,front/src/routes/recipes.$mealId.tsx): TheMealDB integration to suggest recipes from pantry contents, with a "cook recipe" flow that consumes ingredients.back/src/modules/expiration,back/src/modules/pantry/auto-expiry-cron.service.ts): learns/repairs expiry-date preferences per item and auto-dismisses expired items via a scheduled job, plus bulk waste/dismiss endpoints.logging.interceptor), Sentry exception filter, and CloudWatch custom metrics integration.Dockerfile,Makefilefor dev/prod build & deploy, GitHub Actionsdeploy.ymlworkflow.insightsprice-comparison endpoints andcompare-priceroute) as out of scope; minor fixes to profile editing, password change, and account deletion; removed unused buttons..specify/,.claude/skills,.github/agents) used to plan/spec/implement the above features, final user guide, and updated README with the demo video link.Test plan
back: new specs for gamification, recipes, expiration, auto-expiry cron, logging interceptor, Sentry filter, CloudWatch metrics)achievements.test.tsx,settings.test.tsx,pantry.test.tsx,auth.api.test.ts, etc.)Makefile/deploy.ymlagainst the new Dockerized backend