Skip to content

Initial MVP: VibeMovil Lead Engine API with scoring, storage, frontend, Docker and CI - #1

Open
Digitalconect25 wants to merge 3 commits into
mainfrom
codex/create-automated-lead-capturing-system
Open

Initial MVP: VibeMovil Lead Engine API with scoring, storage, frontend, Docker and CI#1
Digitalconect25 wants to merge 3 commits into
mainfrom
codex/create-automated-lead-capturing-system

Conversation

@Digitalconect25

Copy link
Copy Markdown
Owner

Motivation

  • Provide a minimal, deployable lead-capture MVP including scoring, automated action assignment and persistent storage for fast iteration.
  • Enable easy local development and reproducible CI builds with a Docker image and environment configuration.
  • Offer a lightweight preview UI to manually create leads and inspect results while integrating with the same API.

Description

  • Added a FastAPI application (app/main.py) exposing /health, POST /leads and GET /leads plus a preview root that serves frontend/index.html.
  • Implemented Pydantic models and validation in app/models.py, scoring logic in app/scoring.py, and action assignment in app/automation.py.
  • Added SQLite-backed persistence via data/storage.py (class LeadStorage) and created a simple frontend preview at frontend/index.html that calls the API.
  • Added deployment and CI tooling: Dockerfile, .dockerignore, .env.example, requirements.txt, GitHub Actions workflows (.github/workflows/ci.yml, deploy-ghcr.yml, deploy-pages.yml) and a README.md with usage and deployment notes.

Testing

  • Ran unit tests with pytest -q, executing tests/test_scoring.py and tests/test_api.py.
  • tests/test_scoring.py verifies scoring and priority boundaries and succeeded.
  • tests/test_api.py exercises POST /leads, GET /leads and the preview route and succeeded.
  • CI workflow (.github/workflows/ci.yml) is configured to run pytest and to validate a Docker build as part of the pipeline.

Codex Task

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 30070a8bc8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread frontend/index.html
<strong>${l.full_name}</strong>
<span class="pill ${l.priority}">${l.priority.toUpperCase()}</span>
<div>Score: <b>${l.score}</b></div>
<div>Acción: ${l.action}</div>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Render assigned_action from lead records

GET /leads returns LeadRecord objects with an assigned_action field, but this renderer reads l.action. In the normal case (real leads loaded from the API), the action text shows as undefined, so operators lose the recommended next step in the preview UI. Read assigned_action here (or map it when loading data).

Useful? React with 👍 / 👎.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant