The Problem
Kenyan citizens and professionals need an easy way to query the Finance Bill 2025 without reading dense legal text. Existing resources are static PDFs or web pages that lack interactive guidance, leading to misunderstandings and wasted time.
What This Does
The repository delivers a single‑page web app that forwards user utterances to a Dialogflow CX agent trained on the Finance Bill 2025 and displays the agent’s responses. The UI is defined in index.html and styled by styles.css. Interaction logic lives in script.js, where the Dialogflow endpoint is called via the browser’s fetch API. Deployment is automated through the GitHub Actions workflow at .github/workflows/gh-pages.yml, which publishes the static files to GitHub Pages.
How To Use It
Clone the repo. No package manager is required because all assets are static. git clone https://github.com/moses-y/GDG.git cd GDG Configure Dialogflow CX – edit script.js and replace the placeholder URL and any required authentication token with values from your own Dialogflow CX agent. The file contains a comment indicating where the endpoint URL should be inserted. Local test – open the entry point directly in a browser: open index.html # macOS # or double‑click the file in Explorer/Finder Deploy – push to the main branch (or trigger the workflow manually) and GitHub Actions will run the gh-pages.yml workflow, publishing the site at https://moses-y.github.io/GDG/. No additional build commands are defined.
If any of the above files are missing (e.g., a .env file for secrets), the README does not specify them, so you must supply the values manually in script.js.
Real‑World Use
A municipal office could host the published site on its intranet, allowing staff to type questions like “What is the new tax rate on coffee?” The browser sends the text to the configured Dialogflow CX endpoint, receives a structured answer, and displays it instantly. This reduces the need for staff to consult PDFs or call a help line.
Code Health & Issues
Medium – No automated tests – repository lacks any _test. files; code paths in script.js are unverified. Medium – No LICENSE file – legal reuse and redistribution are undefined, which may deter external contributors. Low – Hard‑coded endpoint – script.js expects the developer to paste a raw URL and token, risking accidental commit of secrets. Low – Minimal error handling – network failures or malformed Dialogflow responses are only logged to the console; the UI provides no user‑visible fallback. Low – No input sanitization – user text is sent directly to the backend; while Dialogflow handles most validation, the client does not guard against empty or excessively long inputs. Info – CI present – .github/workflows/gh-pages.yml successfully builds and publishes the static site, confirming that CI for deployment is functional.
The Bottom Line
The project supplies a functional, lightweight front end for a Dialogflow CX finance‑bill assistant and includes a working GitHub Pages CI pipeline. However, the lack of tests, license, and secure configuration practices limits its suitability for production use without further hardening. It is appropriate for prototypes, demos, or internal tools where rapid iteration outweighs formal SDLC requirements.