Skip to content

MVP E2E foundation: infra, backend estimation, frontend flows, and TDD baseline - #244

Open
GianellaVezzoni wants to merge 7 commits into
LIDR-academy:mainfrom
GianellaVezzoni:feature-entrega2-GV
Open

MVP E2E foundation: infra, backend estimation, frontend flows, and TDD baseline#244
GianellaVezzoni wants to merge 7 commits into
LIDR-academy:mainfrom
GianellaVezzoni:feature-entrega2-GV

Conversation

@GianellaVezzoni

Copy link
Copy Markdown

Summary

This PR delivers the MVP foundation end-to-end with incremental commits grouped by concern:

  • Infra/devcontainer and repo tooling setup
  • Backend API, auth, estimation engine, and persistence
  • Frontend UX flows for project, use cases, role selection, estimation trigger, and report view
  • TDD baseline with backend unit/integration tests and frontend/e2e tests
  • Planning and documentation updates

What was implemented

  • Core MVP flow:
    • Create project
    • Add use cases
    • Select roles
    • Trigger estimation
    • View report
  • Estimation backend:
    • Structured contract validation
    • Azure OpenAI integration path (env-configurable)
    • Safe deterministic fallback when AI is disabled/unavailable
  • Frontend:
    • Modular sections and API clients
    • Material UI-based modern interface
    • Report section connected to backend data
  • Testing:
    • Backend: Vitest + Supertest
    • Frontend: Vitest + Testing Library
    • E2E baseline: Playwright specs

Commit grouping

  1. chore(infra): configure devcontainer and repo tooling
  2. feat(backend): implement api, auth, estimation and persistence
  3. feat(frontend): build mvp ui flows and modular client structure
  4. test: add backend, frontend and e2e baseline suites
  5. docs(planning): refresh kanban status and project notes

Validation performed

  • Backend typecheck passed
  • Frontend build passed
  • Backend tests passed
  • Frontend tests passed

Notes / Risks

  • Azure OpenAI path is ready but environment-dependent.
  • Fallback heuristic remains enabled to keep MVP functional in all environments.

Next steps

  • Expand E2E scenario coverage and failure-path assertions
  • Harden auth/authorization checks in API flows
  • Finalize deployment and secrets checklist

@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 152 files, which is 2 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2d2aa42d-7905-4c37-a955-1d3ae1501b12

📥 Commits

Reviewing files that changed from the base of the PR and between bcde5c4 and d10a2da.

⛔ Files ignored due to path filters (7)
  • app/backend/package-lock.json is excluded by !**/package-lock.json
  • app/frontend/package-lock.json is excluded by !**/package-lock.json
  • app/frontend/public/favicon.svg is excluded by !**/*.svg
  • app/frontend/public/icons.svg is excluded by !**/*.svg
  • app/frontend/src/assets/hero.png is excluded by !**/*.png
  • app/frontend/src/assets/react.svg is excluded by !**/*.svg
  • app/frontend/src/assets/vite.svg is excluded by !**/*.svg
📒 Files selected for processing (152)
  • .devcontainer/devcontainer.json
  • .devcontainer/docker-compose.yml
  • .devcontainer/post-create.sh
  • .github/agents/ai-estimation-engineer.agent.md
  • .github/agents/backend-developer.agent.md
  • .github/agents/devops-engineer.agent.md
  • .github/agents/frontend-developer.agent.md
  • .github/agents/orchestrator.agent.md
  • .github/agents/product-owner.agent.md
  • .github/agents/qa-engineer.agent.md
  • .github/agents/security-reviewer.agent.md
  • .github/copilot-instructions.md
  • .github/rules/ai-estimation.rules.md
  • .github/rules/architecture.rules.md
  • .github/rules/backend.rules.md
  • .github/rules/coding.rules.md
  • .github/rules/collaboration.rules.md
  • .github/rules/devops.rules.md
  • .github/rules/documentation.rules.md
  • .github/rules/frontend.rules.md
  • .github/rules/global.rules.md
  • .github/rules/qa.rules.md
  • .github/rules/security.rules.md
  • .github/rules/testing.rules.md
  • .github/skills/ai-estimation-contract.skill.md
  • .github/skills/backend-api-design.skill.md
  • .github/skills/backend-error-handling.skill.md
  • .github/skills/backend-implementation.skill.md
  • .github/skills/backend-persistence.skill.md
  • .github/skills/ci-cd-design.skill.md
  • .github/skills/frontend-api-integration.skill.md
  • .github/skills/frontend-component-design.skill.md
  • .github/skills/security-review.skill.md
  • .github/skills/test-strategy.skill.md
  • .github/workflows-ai/architecture-review.workflow.md
  • .github/workflows-ai/bugfix.workflow.md
  • .github/workflows-ai/code-review.workflow.md
  • .github/workflows-ai/feature-development.workflow.md
  • .github/workflows-ai/incident-analysis.workflow.md
  • .github/workflows-ai/release.workflow.md
  • .github/workflows-ai/security-review.workflow.md
  • .github/workflows-ai/tdd.workflow.md
  • .github/workflows-ai/testing.workflow.md
  • .github/workflows/ci.yml
  • .gitignore
  • .vscode/mcp.json
  • .vscode/settings.json
  • app/backend/.env.example
  • app/backend/package.json
  • app/backend/prisma/migrations/20260709192546_estimation_versioning_history/migration.sql
  • app/backend/prisma/migrations/20260709202558_add_project_owner_scope/migration.sql
  • app/backend/prisma/migrations/20260710011242_persist_rbac_users_teams_project_memberships/migration.sql
  • app/backend/prisma/migrations/migration_lock.toml
  • app/backend/prisma/schema.prisma
  • app/backend/src/app.ts
  • app/backend/src/config/env.ts
  • app/backend/src/index.ts
  • app/backend/src/lib/prisma.ts
  • app/backend/src/lib/telemetry.ts
  • app/backend/src/middlewares/auth.test.ts
  • app/backend/src/middlewares/auth.ts
  • app/backend/src/middlewares/authorization.ts
  • app/backend/src/middlewares/error-handler.ts
  • app/backend/src/middlewares/observability.ts
  • app/backend/src/middlewares/security.ts
  • app/backend/src/modules/auth/routes.ts
  • app/backend/src/modules/auth/session-store.ts
  • app/backend/src/modules/auth/token.ts
  • app/backend/src/modules/projects/estimation/azure.ts
  • app/backend/src/modules/projects/estimation/heuristic.ts
  • app/backend/src/modules/projects/estimation/shared.ts
  • app/backend/src/modules/projects/repository.ts
  • app/backend/src/modules/projects/routes.integration.test.ts
  • app/backend/src/modules/projects/routes.ts
  • app/backend/src/modules/projects/service.test.ts
  • app/backend/src/modules/projects/service.ts
  • app/backend/src/modules/projects/types.ts
  • app/backend/src/modules/projects/validators.test.ts
  • app/backend/src/modules/projects/validators.ts
  • app/backend/src/types/express.d.ts
  • app/backend/tsconfig.json
  • app/backend/vitest.config.ts
  • app/backend/vitest.setup.ts
  • app/frontend/.env.example
  • app/frontend/.gitignore
  • app/frontend/.oxlintrc.json
  • app/frontend/README.md
  • app/frontend/e2e/fixtures/test-data.ts
  • app/frontend/e2e/mvp-failing-path.spec.ts
  • app/frontend/e2e/mvp-happy-path.spec.ts
  • app/frontend/e2e/utils/workflow.ts
  • app/frontend/index.html
  • app/frontend/package.json
  • app/frontend/playwright.config.ts
  • app/frontend/src/App.css
  • app/frontend/src/App.test.tsx
  • app/frontend/src/App.tsx
  • app/frontend/src/components/ErrorBoundary.tsx
  • app/frontend/src/index.css
  • app/frontend/src/main.tsx
  • app/frontend/src/modules/dashboard/core/types.ts
  • app/frontend/src/modules/dashboard/infrastructure/dashboardClient.ts
  • app/frontend/src/modules/dashboard/view/DashboardSection.tsx
  • app/frontend/src/modules/dashboard/view/styles.ts
  • app/frontend/src/modules/estimation/core/types.ts
  • app/frontend/src/modules/estimation/infrastructure/estimationClient.ts
  • app/frontend/src/modules/estimation/view/EstimationSection.tsx
  • app/frontend/src/modules/estimation/view/styles.ts
  • app/frontend/src/modules/projects/core/types.ts
  • app/frontend/src/modules/projects/infrastructure/projectsClient.ts
  • app/frontend/src/modules/projects/view/ProjectsSection.tsx
  • app/frontend/src/modules/projects/view/styles.ts
  • app/frontend/src/modules/report/core/types.ts
  • app/frontend/src/modules/report/infrastructure/reportClient.ts
  • app/frontend/src/modules/report/view/ReportSection.tsx
  • app/frontend/src/modules/report/view/styles.ts
  • app/frontend/src/modules/roles/core/types.ts
  • app/frontend/src/modules/roles/infrastructure/rolesClient.ts
  • app/frontend/src/modules/roles/view/RolesSection.tsx
  • app/frontend/src/modules/roles/view/styles.ts
  • app/frontend/src/modules/sections/README.md
  • app/frontend/src/modules/shared/core/constants.ts
  • app/frontend/src/modules/shared/core/types.ts
  • app/frontend/src/modules/upcoming/core/types.ts
  • app/frontend/src/modules/upcoming/infrastructure/upcomingRepository.ts
  • app/frontend/src/modules/upcoming/view/UpcomingSection.tsx
  • app/frontend/src/modules/upcoming/view/styles.ts
  • app/frontend/src/modules/usecases/core/types.ts
  • app/frontend/src/modules/usecases/infrastructure/useCasesClient.ts
  • app/frontend/src/modules/usecases/view/UseCasesSection.tsx
  • app/frontend/src/modules/usecases/view/styles.ts
  • app/frontend/src/services/authApi.ts
  • app/frontend/src/services/authSession.test.ts
  • app/frontend/src/services/authSession.ts
  • app/frontend/src/services/http.ts
  • app/frontend/src/services/projectsApi.ts
  • app/frontend/src/test/setup.ts
  • app/frontend/src/theme.ts
  • app/frontend/tsconfig.app.json
  • app/frontend/tsconfig.json
  • app/frontend/tsconfig.node.json
  • app/frontend/vite.config.ts
  • app/frontend/vitest.config.ts
  • architecture.md
  • docs/operations/environment-variables.md
  • docs/operations/release-runbook.md
  • planning/local-kanban.md
  • planning/plan-inicial-mvp.md
  • project_context.md
  • prompts.md
  • readme.md
  • tech_stack.md

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant