Project Trail Tales
presentTrail Tales

Trail Tales Demo Video

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

  • Team member imagePreview: Team member image

    Daniel Zolghadri

  • Team member imagePreview: Team member image

    Magdalena Janeckova

  • Team member imagePreview: Team member image

    Lavanya Soundar

  • Team member imagePreview: Team member image

    Elham Azizi

Technologies

React Native, VS Code, Expo, PostgreSQL, PostGIS, TypeScript, Supabase, jest, Express, Android, Axios  Preview: React Native, VS Code, Expo, PostgreSQL, PostGIS, TypeScript, Supabase, jest, Express, Android, Axios

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.