Skip to content

Build Frontend ETL Monitor Application #29

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
shreyasgm opened this issue Apr 14, 2025 · 0 comments
Open

Build Frontend ETL Monitor Application #29

shreyasgm opened this issue Apr 14, 2025 · 0 comments
Assignees
Labels
help wanted Extra attention is needed
Milestone

Comments

@shreyasgm
Copy link
Owner

Develop a simple, standalone Streamlit / Next.js application to display the ETL publication status fetched from the new backend API endpoint.

Context:
This provides the user interface for monitoring the ETL pipeline's progress. This is a separate application from the main query frontend.

Tasks:

  1. Create a new directory for this frontend, e.g., etl_monitor_frontend/.
  2. Inside this directory, create a Streamlit application file (e.g., app.py).
  3. Add necessary dependencies (streamlit, requests) - potentially in a etl_monitor_frontend/pyproject.toml if managing dependencies separately or add to the main pyproject.toml under optional dependencies.
  4. Implement the Streamlit app to:
    • Call the backend API endpoint created in Issue Basic ETL pipeline starter code #6 (use the requests library). The API URL should be configurable via environment variables (etl_monitor_frontend/.env).
    • Provide UI elements (e.g., dropdowns, date pickers) for filtering/sorting options corresponding to the API parameters.
    • Display the fetched data in a clear tabular format (e.g., using st.dataframe).
    • Include a refresh button.
    • Handle API errors gracefully (e.g., display an error message if the backend is unreachable).
  5. Create a Dockerfile for this new frontend service (etl_monitor_frontend/Dockerfile).
  6. Create an .env.example file for environment variables (like the backend API URL).

Acceptance Criteria:

  • A Streamlit application exists in etl_monitor_frontend/.
  • The application successfully calls the backend API /etl/status/.
  • Publication data is displayed in a table.
  • Users can filter/sort the data via UI controls.
  • The application has a Dockerfile and .env.example.
@shreyasgm shreyasgm added the help wanted Extra attention is needed label Apr 14, 2025
@shreyasgm shreyasgm added this to the ETL milestone Apr 14, 2025
@ssegovba ssegovba self-assigned this May 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants