Before merging into master, remove all checked of TODOs!
This is just a dump of things that might be good to do/fix. Not all of these TODOs need to be done for the finished project.
- Send out emails for important stuff
- Clearing of expired User Sessions
- Do not offer the distance file if no location is selected (also ignore on server)
- Introduce Logging Framework
- When pressing the selected button in the nav bar, return to that tabs default route.
- Make the UI Text all German
- Consider adding Timeouts to network requests
- Size limit exeded
- Photo in image picker selected, on a system without that capability
- Where did the GPS selector go?
- Store the reverse lookup (City + optional Postalcode) in the database for each item (Take either lat/lng or city, and make a lookup for the other one on the server)
- Add more Information, like what chat/about what item and a preview of the messages, etc.
- Have websocket running in a background task -> notifications also work when app not open
- Message Previews (of the last message)
Don't trust the client: To avoid a mismatch the server should should look up the lat/lng from city/postal_code. This should happen async: Add the item to the db, start a task/put it into a queue to get the lat/lng, and when retrieved update db. So it's fast and resiliant against ratelimits. Maybe doing some caching might also prove valueable.