Skip to content

Shows Basic Idea on Web Page via ideate Web#80

Merged
matthewctechnology merged 5 commits into
mainfrom
stacked-54
Mar 3, 2026
Merged

Shows Basic Idea on Web Page via ideate Web#80
matthewctechnology merged 5 commits into
mainfrom
stacked-54

Conversation

@matthewctechnology
Copy link
Copy Markdown
Owner

@matthewctechnology matthewctechnology commented Mar 3, 2026

Summary

Shows Basic Idea on Web Page via ideate Web

Description

Implements a server endpoint (GET /) using FastAPI that renders an HTML page displaying a hardcoded creative idea. Add test for route and ensure lint clean.

Changes

  • Refactors topic normalization from ideate cli to options provider
  • Create ideate/api/ideate.py for FastAPI endpoint
  • Add GET /ideate FastAPI endpoint, serve template with hardcoded idea
  • Enables ability to provide a fallback flag for development
  • Styles basic page same/similar to critique app

Criteria

  • Given server is started, when GET /ideate requested, then returns 200 and includes an ai idea in page
  • Given server is started, when GET /ideate?topic=<topic> requested, then returns 200 and includes topical ai idea in page
  • Given server is started, when GET /ideate?fallback=True requested, then returns 200 and includes a fallback idea in page

Tests

Gets Predetermined and AI Idea with API Endpoint

  1. View README about backend
  • Displays backend run instructions
  1. Run cd /workspaces/stacked/ideate && source .ideate/bin/activate
  • Activates environment (.ideate)
  1. Run pylint ideate && pytest tests
  • Lints without errors
  • Tests without failures
  1. Run uvicorn ideate:app --reload
  • Starts backend app
  1. Run curl 'http://localhost:8000/ideate?fallback=True'
  • HTML shows predetermined idea
  1. Run curl 'http://localhost:8000/ideate?fallback=True&topic=<topic>'
  • HTML shows topical predetermined idea
  1. Run curl 'http://localhost:8000/ideate?topic=<topic>'
  • HTML shows a topical AI idea
  1. Run curl 'http://localhost:8000/ideate'
  • HTML shows an AI idea
  1. Browse https://<codespace>-8000.app.github.dev/ideate?fallback=True
  • HTML shows predetermined idea
  1. Browse https://<codespace>-8000.app.github.dev/ideate?fallback=True&topic=<topic>
  • HTML shows predetermined idea
  1. Browse https://<codespace>-8000.app.github.dev/ideate?topic=<topic>
  • Shows a topical AI idea
  1. Browse https://<codespace>-8000.app.github.dev/ideate
  • Shows an AI idea
  1. Browse https://<codespace>-8000.app.github.dev/docs
  • Shows API Docs with Swagger

@matthewctechnology matthewctechnology marked this pull request as ready for review March 3, 2026 23:15
Copy link
Copy Markdown
Owner Author

@matthewctechnology matthewctechnology left a comment

Choose a reason for hiding this comment

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

Approved ✅

One suggested change to list browse urls so they do not get bunched together.

This installs pre-selected dependencies for Web Ideation milestion. Checks for regressions with Terminal Ideation.

Reminder

Pull request authors can’t approve their own pull request.

  • Must Merge without waiting for requirements to be met (bypass rules)

Summary

Shows Basic Idea on Web Page via ideate Web

Description

Implements a server endpoint (GET /) using FastAPI that renders an HTML page displaying a hardcoded creative idea. Add test for route and ensure lint clean.

Changes

  • Refactors topic normalization from ideate cli to options provider ✔️
  • Create ideate/api/ideate.py for FastAPI endpoint ✔️
  • Add GET /ideate FastAPI endpoint, serve template with hardcoded idea ✔️
  • Enables ability to provide a fallback flag for development ✔️
  • Styles basic page same/similar to critique app ✔️

Criteria

  • Given server is started, when GET /ideate requested, then returns 200 and includes an ai idea in page ✔️
  • Given server is started, when GET /ideate?topic=<topic> requested, then returns 200 and includes topical ai idea in page ✔️
  • Given server is started, when GET /ideate?fallback=True requested, then returns 200 and includes a fallback idea in page ✔️

Tests

Gets Predetermined and AI Idea with API Endpoint 🟢 ☑️

  1. View README about backend
  • Displays backend run instructions ✔️
  1. Run cd /workspaces/stacked/ideate && source .ideate/bin/activate
  • Activates environment (.ideate)
  1. Run pylint ideate && pytest tests
  • Lints without errors ✔️
  • Tests without failures ✔️
  1. Run uvicorn ideate:app --reload
  • Starts backend app ✔️
  1. Run curl 'http://localhost:8000/ideate?fallback=True'
  • HTML shows predetermined idea ✔️
  1. Run curl 'http://localhost:8000/ideate?fallback=True&topic=<topic>'
  • HTML shows topical predetermined idea ✔️
  1. Run curl 'http://localhost:8000/ideate?topic=<topic>'
  • HTML shows a topical AI idea ✔️
  1. Run curl 'http://localhost:8000/ideate'
  • HTML shows an AI idea ✔️
  1. Browse https://<codespace>-8000.app.github.dev/ideate?fallback=True
  • HTML shows predetermined idea ✔️
  1. Browse https://<codespace>-8000.app.github.dev/ideate?fallback=True&topic=<topic>
  • HTML shows predetermined idea ✔️
  1. Browse https://<codespace>-8000.app.github.dev/ideate?topic=<topic>
  • Shows a topical AI idea ✔️
  1. Browse https://<codespace>-8000.app.github.dev/ideate
  • Shows an AI idea ✔️
  1. Browse https://<codespace>-8000.app.github.dev/docs
  • Shows API Docs with Swagger ✔️

Comment thread ideate/README.md Outdated
@matthewctechnology matthewctechnology merged commit efb7242 into main Mar 3, 2026
2 checks passed
@matthewctechnology matthewctechnology deleted the stacked-54 branch March 3, 2026 23:45
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.

Show Basic Idea on Web Page via ideate Web

1 participant