Team Ctrl-Shift-Elite
presentTravel Gem

Travel Gem Demo Video

Travel Gem Demo Video

Discover the hidden gems

Travel Gem is an app designed for travelers to share the hidden gems they discover during their journeys. Users can seamlessly add these hidden gems to the map and bookmark locations shared by fellow users. To foster a vibrant community, users can engage in lively discussions by leaving comments on the locations shared by others, thereby enhancing user interaction and encouraging active participation in unveiling the hidden treasures they come across.

The Team

  • Team member imagePreview: Team member image

    Dominique Anekore

  • Team member imagePreview: Team member image

    Hala Hassan

  • Team member imagePreview: Team member image

    Josh Holt

  • Team member imagePreview: Team member image

    May Hoang

  • Team member imagePreview: Team member image

    Spencer Clarke-Griffiths

  • Team member imagePreview: Team member image

    Winnie Kwok

Technologies

Technologies section imagePreview: Technologies section image

We used: Frontend: JavaScript, React Native, Expo. Backend: Firebase Cloud Firestore, Firebase Authentication

MongoDB
- Non-relational-database gives a lot of flexibility when developing with incomplete requirements. Any sets of key/value pairs, and nesting, are allowed.
- Paired with Next.js, we only needed to build a very small API to interact as all database interactions could be done with an external library Mongoose in server-side components
- Hosted on the cloud with MongoDB Atlas

Next.js
-allows server-side rendering as well as react components, improving performance
-allowing for ideal search engine optimization with pre-rendered HTML tags.
-It handles automatic page routing based on folder hierarchy

Google Maps API provides us with access to a powerful set of tools and services for integrating mapping and location-based functionality.

Tailwind CSS is easy to learn. Which includes responsive utility classes, responsive designs can be created without having to write custom media queries. The application is accessible on various screen sizes.

Next Auth
Easy to integrate with Next.js, it was the only reason to build an API for the project, minor amounts of middleware were needed allowing for easy registration and login - integrates well with MongoDB database

Challenges Faced

1. We encountered challenges involving technologies that were not covered in our lectures, such as authentication, MongoDB, and the Google Maps API. Despite lacking prior knowledge, we conducted research and engaged in trial and error to successfully implement these technologies.

2. In the initial stages of forming our group, we were not very familiar with each other. This sometimes led to a lack of direction in our discussions and difficulty in assigning tasks. However, as time progressed, we know each other better, most of us identified our roles within the group and discovered our strengths for various tasks.

3. Time management, tasks may take more time than we expected.