Project Trail TalespresentTrail Tales
Trail Tales Demo Video
A community biased geo-posting app, to document and tag wildlife seen along a users journey through life
We came up with this idea through our shared enthusiasm of animals, exploration of nature, and wildlife watching, and we wanted a way to both capture and document the location of animals we found out in the wild, and make it fun and engaging for the user in a way that encourages healthy participation and contribution.
For this project we have chosen to build a cross-platform mobile application using React Native with Expo. The goal of Trail tales is to create a community-driven platform where like minded nature enthusiasts, can track and share wildlife sightings from around the World . The app leverages geo-tagging and location-based features to enhance the user experience.
1. as a user I want to be able to create an account
2. as a user I want to post picture and location and date
3. as a user I want to be able to view community posts
4. as a user I want to be able to add posts to my favourites
5. as a user I want to be able to view my favourites
6. as a user get points for posts
7. as a user I want to increase my rank through accumulation of points (10 ranks)
8. as a user I want to view a map of the country and be able to zoom in on post geo tags
9. as a user I want to see a profile page with my own posts
10. user should be able to delete posts
11. user should be able to access camera through app
12. user should be able to use AI to identify animal in picture
13. user should be able to use Phone location for geoTagging
14. all users are ranked on a scoreboard
15. as a user I want to be able to filter by location through the posts
The Team
Daniel Zolghadri
Magdalena Janeckova
Lavanya Soundar
Elham Azizi
Technologies
We used: React Native, VS Code, Expo, Expo Go, PostgreSQL, PostGIS, TypeScript, Supabase, jest, Express, geohash, PG, PG-format, Android, geolib, Axios
We are using React Native for building the mobile app, leveraging the Expo framework to streamline the development and testing process. Expo provides useful out-of-the-box components and development tools that accelerated our workflow. Furthermore we wrote our Front end in Typescript, to help us identify and catch bugs in the code during the build process
For the backend, we have opted to use Supabase as our backend-as-a-service (BaaS), which provides a real-time database, and storage services. The backend is built on a PostgreSQL database.
Challenges Faced
Storage of Photos proved initially difficult as we could not find a method of transferring them reliably to our back end, that worked with Expo Go. Further more, integrating geolocation in the backend proved more difficult than we initially anticipated. Specifically, we needed to ensure the geo-tagging functionality that works seamlessly across devices while making sure location data is stored and queried correctly on the server side. We addressed this by deploying our backend early for testing, allowing us to validate the geo-location data flow between the front and back end.
The app tracks user location in real-time using the device’s GPS functionality. The geo-tagging feature stores the user's location coordinates (latitude/longitude) along with the post. This information is then used to populate the map view on the front end.