Skip to content

Update README#18

Merged
rm-hull merged 3 commits into
mainfrom
doc/readme
Jul 19, 2025
Merged

Update README#18
rm-hull merged 3 commits into
mainfrom
doc/readme

Conversation

@rm-hull

@rm-hull rm-hull commented Jul 19, 2025

Copy link
Copy Markdown
Collaborator

No description provided.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Summary of Changes

Hello @rm-hull, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses entirely on enhancing the project's documentation by performing a complete overhaul of the README.md file. The update transforms the previously brief README into a comprehensive guide, providing detailed insights into the project's features, usage, architecture, development processes, and future roadmap, making it significantly easier for new and existing users to understand and engage with the codebase.

Highlights

  • Comprehensive Documentation Overhaul: The README.md file has been completely rewritten and significantly expanded to provide a much more detailed and comprehensive overview of the project, moving from a minimal guide to a full project documentation.
  • Detailed Project Features: A new section has been added to clearly list the key features of the application, such as fast spatial search, REST API with bounding box queries, efficient in-memory spatial index (R-tree), data extraction utilities, caching, and Docker support.
  • Expanded Usage Examples: The README.md now includes more detailed examples for data extraction, starting the API server (including custom options), and a clear listing of the available API endpoints (/v1/postcode/codepoints and /v1/postcode/polygons).
  • Architecture Overview: New sections have been introduced to explain the project's architecture, including high-level flow and data extraction diagrams (rendered using Mermaid), and a breakdown of key components and their responsibilities.
  • Development and Testing Guidelines: Comprehensive instructions for local development (prerequisites, running locally), Docker integration (build and run commands), and testing procedures (go test ./...) have been added.
  • Future Enhancements and Licensing: A dedicated 'TODO & Future Enhancements' section outlines planned features and improvements, and clear information regarding the MIT License and attribution has been included.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions

github-actions Bot commented Jul 19, 2025

Copy link
Copy Markdown
TestsPassed ✅SkippedFailed
JUnit Test Report36 ran36 passed0 skipped0 failed
TestResult
JUnit Test Report
postcode-polygons/internal.TestDecompressFeatureCollection_Success✅ passed
postcode-polygons/internal.TestDecompressFeatureCollection_FileNotFound✅ passed
postcode-polygons/internal.TestDecompressFeatureCollection_InvalidBZ2✅ passed
postcode-polygons/internal.TestCompressFeatureCollection_Success✅ passed
postcode-polygons/internal.TestCompressFeatureCollection_ErrorOnCreate✅ passed
postcode-polygons/internal.TestCompressFeatureCollection_And_DecompressFeatureCollection_RoundTrip✅ passed
postcode-polygons/routes.TestCodePointSearch_BadBBox✅ passed
postcode-polygons/routes.TestCodePointSearch_TooBig✅ passed
postcode-polygons/routes.TestCodePointSearch_InternalError✅ passed
postcode-polygons/routes.TestCodePointSearch_Success✅ passed
postcode-polygons/routes.TestPolygonSearch_BadBBox✅ passed
postcode-polygons/routes.TestPolygonSearch_InternalError✅ passed
postcode-polygons/routes.TestPolygonSearch_Success✅ passed
postcode-polygons/routes.TestPolygonSearch_PolygonNotFound✅ passed
postcode-polygons/routes.TestPolygonSearch_PolygonRepoError✅ passed
postcode-polygons/routes.TestParseBBox/valid✅ passed
postcode-polygons/routes.TestParseBBox/too_few_parts✅ passed
postcode-polygons/routes.TestParseBBox/not_numbers✅ passed
postcode-polygons/routes.TestParseBBox/min_greater_than_max✅ passed
postcode-polygons/routes.TestParseBBox✅ passed
postcode-polygons/routes.TestIsTooBig/not_too_big✅ passed
postcode-polygons/routes.TestIsTooBig/too_wide✅ passed
postcode-polygons/routes.TestIsTooBig/too_high✅ passed
postcode-polygons/routes.TestIsTooBig✅ passed
postcode-polygons/spatial-index.TestNewCodePointSpatialIndex_Success✅ passed
postcode-polygons/spatial-index.TestNewCodePointSpatialIndex_BadZip✅ passed
postcode-polygons/spatial-index.TestSearch✅ passed
postcode-polygons/spatial-index.TestSearchIter_InvalidBounds✅ passed
postcode-polygons/spatial-index.TestLen✅ passed
postcode-polygons/spatial-index.Test_fromCodePointCSV✅ passed
postcode-polygons/spatial-index.TestParseCSV_WithHeader_Success✅ passed
postcode-polygons/spatial-index.TestParseCSV_WithoutHeader_Success✅ passed
postcode-polygons/spatial-index.TestParseCSV_ParseError✅ passed
postcode-polygons/spatial-index.TestParseCSV_MalformedLine✅ passed
postcode-polygons/spatial-index.TestParseCSV_HeaderReadError✅ passed
postcode-polygons/spatial-index.TestParseCSV_YieldStopsEarly✅ passed

@coveralls

coveralls commented Jul 19, 2025

Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 16388359730

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 51.907%

Totals Coverage Status
Change from base Build 16388032217: 0.0%
Covered Lines: 245
Relevant Lines: 472

💛 - Coveralls

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

The code changes significantly improve the README.md file, adding detail on features, architecture, and usage. The structure is clear and the diagrams are helpful. The review focuses on clarity and completeness of the setup instructions.

Comment thread README.md Outdated
### Prerequisites

- Go 1.24+
- Data files: `data/codepo_gb.zip`, `data/postcodes/units/`, `data/postcodes/districts/`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

The prerequisite data/codepo_gb.zip is essential for running the API server, but the README does not provide instructions on how to obtain it. Without this file, the api-server command will fail.

Please add instructions for downloading this file. For example, you could add a note under "Prerequisites".

Comment thread README.md Outdated
Comment on lines +16 to +26
### Data Extraction

Download the NSUL polygons archive and extract/reprocess the data:

```bash
curl https://postcodes-mapit-static.s3.eu-west-2.amazonaws.com/data/gb-postcodes-v5.tar.bz2 -o data/gb-postcodes-v5.tar.bz2
go run main.go extract-data
```

This will regenerate the data files under `./data/postcodes`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The "Data Extraction" section is presented as a primary step under "Example Usage", which could be misleading for new users. It appears the processed data in data/postcodes is checked into the repository, and this step is only for regenerating it.

This can cause a few issues:

  • Users might perform this step unnecessarily.
  • The curl command on line 21 will fail if the data directory doesn't exist on a fresh clone.

To improve clarity, suggest renaming this section to "Regenerating Postcode Data (Optional)" and clarify that it's not required for a standard setup, while also making the commands more robust.

@rm-hull
rm-hull merged commit 6ccc1db into main Jul 19, 2025
4 checks passed
@rm-hull
rm-hull deleted the doc/readme branch July 19, 2025 11:54
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.

2 participants