Team Ctrl-Shift-ElitepresentTravel Gem
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
Dominique Anekore
Hala Hassan
Josh Holt
May Hoang
Spencer Clarke-Griffiths
Winnie Kwok
Technologies
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.