fwcd / woods Goto Github PK
View Code? Open in Web Editor NEWGPS navigation and Geocaching app for iOS and watchOS
License: GNU General Public License v3.0
GPS navigation and Geocaching app for iOS and watchOS
License: GNU General Public License v3.0
E.g. aggregate waypoints via internal ids, so changes to a waypoint are reflected in every list they have been added to.
Let the user create cache lists and (ideally) also, possibly nested, folders. These lists should be available for offline usage and persisted.
Add support for adding logs, both offline (a la Field Notes) and through connectors.
Track these details separately from the actual cache information to make it easier to e.g. keep these infos up-to-date in saved lists. Additionally, it might make it easier to keep e.g. a decoupled local store of found caches.
As outlined in #16, it would be cool to have (in addition to the synced navigation) the ability to independently look for nearby caches etc in the watch app.
It would be cool if we could link to a cache listing in a way that it always opens in Safari (instead of the app), perhaps even using a Safari web view?
Add a profile view (perhaps as a link from the corresponding account?) with name, stats, avatar, trackable inventory and perhaps souvenirs.
This would require connector integration.
Ideally this would include sophisticated querying and filtering options (e.g. by D/T rating, size, ...) and let the user both query against a connector and the local lists.
Perhaps we could also add a new action button to the WaypointDetailView
for querying nearby waypoints (e.g. named "Find Nearby"
)?
Fix the SlideOverCard
preview (which currently doesn't seem to 'anchor' into a position correctly after being dragged) and improve the mechanics, in particular find an animation and make the gesture feel 'fluid'.
Add a connector that connects to a https://github.com/fwcd/woods-backend instance.
Target macOS too with the SwiftUI app.
The native macOS version still has some bugs that we need to investigate (all in WaypointMapView
):
Map
(is this even possible?)Map
Add support for filtering stored caches (e.g. from downloaded lists, see #7) by various properties, including (but not limited to)
Additionally, the user should be able to save these searches as 'smart lists' (and also be able to put these into folders, just like normal lists).
Add support for searching for caches externally (through a connector), e.g.
This search should support filtering options, including
Ideally we would have both a search field in the map view and a tab for searching (which could additionally support internal searches).
Add a button for adding events to the user's calendar.
The POST
to Geocaching.com's login page seems to fail, rejecting the CSRF token (__RequestVerificationToken
). Figure out why this is the case, e.g. by cross-checking how pycaching
handles this.
If possible with MapKit, let the user look for caches along a route.
Add GCTools-style caching utilities, e.g. including
Additionally, it might be nice to visualize bearings, intersections, circles (e.g. for trilateration, distance circles for zones where caches cannot be placed, ...)
Implement a connector that uses the Geocaching.com website's internal API.
Add a 'radar' like view where the user can see nearby caches around him on the watch.
Create a better logo and add it to the README.
Add OSM as an alternative to Apple Maps.
The map markers currently cannot be clicked for some reason.
Migrate the Combine publishers to async/await.
Use e.g. green as accent color.
Currently only navigation updates are transmitted, thus e.g. if the navigator is already open on the phone, opening Woods on the watch will not display the navigator. For this, we could investigate either adding a watch -> host request or using WCSession
s application context (see the docs here).
This extends #4 by adding support for dropping/retrieving trackables (or GeoKretys, ...). Additionally, it would be nice to have a view for showing per-account trackables (e.g. a detail view that can be accessed by tapping one of the accounts in the accounts tab).
Let the user store waypoints and navigate to them independently of caches. Ideally:
Perhaps MapKit offers an API for this? If performant enough, we could even automatically display a route whenever a user selects a cache on the map (if near enough).
Add a CI build that automatically builds the app for all of the supported platforms (macOS, iOS, watchOS).
It would be nice if the map could auto-refresh, this would however require reasonable throttling and limits in terms of how wide e.g. the viewed region can be.
Ideally using some marker that differentiates them from other waypoints.
A simple watch integration could e.g. only display state synchronized with the iOS app, e.g. the navigator arrow during an active navigation.
A more sophisticated watch app could later provide the ability to fetch e.g. nearby caches independently and only sync lists/accounts with the iOS app.
It would be nice to show the underlying directions in the form of a compass rose instead of just the arrow pointing to the waypoint in the navigator.
Add support for e.g. exporting cache lists as GeoJSON (along with other formats like GPX).
Present accounts where the login failed (e.g. those loaded from the keychain) in the accounts view. Otherwise the user might be unable to delete credentials in his keychain to an account that, for whatever reason, no longer works.
This could also be useful if we were to repurpose the filter bar in the map view to an 'actual' search bar.
Add a connector that uses the OKAPI.
We should either make it more clear in the editing UI that unique waypoint ids are necessary and/or assist the user in generating such ids, e.g. using some predefined scheme such as WP123456
.
This includes
New Waypoint
button in the lists viewThis would a small QoL addition. Perhaps even a button for resetting the CoordinatesEditor
to the current location?
Render attributes as icons (perhaps even emojis?) in the WaypointDetailView
.
There should be a setting that, when enabled, makes sure the map auto-reloads once the user pans around.
These should both include waypoints included in the listing and the ability to add new (offline) waypoints.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.