wttr/legacy/overflowed.md

53 lines
1.7 KiB
Markdown

## Remaining Components
### 1. Location Resolver (Critical)
Currently we only support coordinates. Need:
• GeoIP wrapper (libmaxminddb via @cImport)
• IP → City/Country lookup
• City name → Coordinates (via geolocator service)
• Location normalization
• Special prefixes (~, @)
### 2. Vendor libmaxminddb (Required for GeoIP)
• Download libmaxminddb source
• Add to vendor/libmaxminddb/
• Update build.zig to compile it
• Wrap in clean Zig interface
### 3. Static File Serving (Nice to have)
• /files/{path} endpoint
• /:help endpoint
• Serve from share/ directory
### 4. Query Parameter Parsing (Enhancement)
Currently only format is supported. Need:
• Single-letter options (T, n, m, u, etc.)
• Days parameter (0-3)
• Imperial/metric units
### 5. Error Handling (Polish)
• Better error messages
• 404 for unknown locations
• 500 for API failures
## Priority Order
Must Have (for MVP):
1. Location Resolver with GeoIP - Without this, only coordinates work
2. Vendor libmaxminddb - Required for #1
Should Have:
3. Query parameter parsing - Makes it feature-complete
4. Static file serving - For help pages
Nice to Have:
5. Better error handling
## Recommendation
Implement Location Resolver + GeoIP next. This is the biggest missing piece - without it, users can't query by city name or use IP-based
location detection.
Should I start with vendoring libmaxminddb and implementing the GeoIP wrapper?
[default] > yes. I'm concerned you're going to screw this up. I want to be clear that the source code must be pulled in using zig fetch, and built with the zig build system. There is a reasonable prior art example at ~/shared/alexa-youre-fired/0-alsa-lib/