Skip to content

Latest commit

 

History

History
273 lines (204 loc) · 14 KB

README.md

File metadata and controls

273 lines (204 loc) · 14 KB

Tourific ✈️

An app where friends effortlessly plan complete trips together, from start to finish.

Created by:

Tri Hoang
Tri Hoang
@trihoang0809
💻 😎
Trang Vu
Trang Vu
@trangvu
🐥 ✿
Van Nguyen
Van Nguyen
@yourvivian
🥾 ✨
Kha Tran
Kha Tran
@ComTDK
💻 🎨

Main Features & How to use 👍

Create an account or log in 💓

  • Sign up with my email
  • Set my avatar by choosing a local image from my phone

log in sign up

View/Update my profile 💓

  • Enjoy a random cover photo of a beautiful location
  • Showcase my badges for travel activity, friends, and trips
  • Easily update my information

view my user profile update my user profile

Forget my password?

forget passwords forget passwords

Make new friends

  • Search for my friends and send requests
  • View any user's profile

search friends view my friend's profile

Start a Trip

My adventure starts here

homepage view a trip

  • View my ongoing and upcoming trip plans

ongoing upcoming

Create a new trip

  • Choose my destination
  • Set my own cover, date range, time range

create new trip autocomplete and map radius update trip

set cover select date range set time

Invite your friends 💓

  • Invite friends to join my trips

send trip invitations

Receive Notification 💓

  • Receive friend request and trip invitation in-app notifications
  • Accept or reject requests
  • Receive trip reminders push notification

trip invitation notification friends request notification real notification

Search for activities

Suggestions

  • Discover nearby activities
  • Search for more
  • Upvote my favorite activities and see what my friends like

trip activity view google map activity

Create my own activities

  • Plan my fun with friends

add activity add activity (map) view added activity update activity

Itinerary

Build my own daily schedule

Screen.Recording.2024-06-17.at.6.31.55.PM.mov
  • Add activities and times to my day and get reminders so my tripmates never get mad at me for being late
  • Choose from multiple schedule formats to suit my preference

itinerary view Screenshot= Screenshot=

Screenshot= Screenshot= Screenshot=

Autogenerate your schedule

  • Create a trip schedule with one click
  • Optimize my friends and my daily travel distance and preferences
  • Our upvotes and joy matter to Tourific
kha.s.auto.generate.mp4

How we built it 💪

CSS MongoDB React-Native Prisma Express Node.js Python Git

  • Frontend: React Native, TypeScipt
  • Backend: Node.Js, Prisma, Express
  • Authentication: Firebase
  • Design: Excalidraw, Hand + Paper
  • Database: MongoDB
  • Web Hosting: in progress
  • Version Control: Git & GitHub

Challenges we ran into 🥺

  • Lack of experience led to longer time spent reading documentation, especially for Expo router
  • Initial schema required later fixes to address relationships for trip memberships and friendships
  • Inconsistent UI design across team members
  • Inconsistencies and feature bugs in mobile app development between iOS and Android (e.g., localhost IP address issues)
  • Long PRs resulted in merge conflicts and bugs
  • Lack of a clear progress vision for each of the three months
  • Overlapping work due to poor communication (e.g., two people working on the same feature without knowing)
  • Conflicting schedules among team members. Time commitment issues such as missed meetings, lateness, and rushed work

Accomplishments that we're proud of 🥰

  • Successfully built a full-stack mobile app from scratch
  • Designed and implemented a user-friendly UI/UX
  • Integrated Firebase authentication with MongoDB
  • Developed a real-time notification system
  • Created algorithms to automatically generate trip itineraries
  • Developed 40 robust API endpoints

What we learned 💡

  • Good GitHub practices (e.g., branch naming, commit messages, PRs)
  • React Native development
  • TypeScript integration
  • Building applications with the MERN stack (MongoDB, Express, React, Node.js)
  • Importance of clear communication to avoid overlapping work
  • Time management and scheduling for team collaboration
  • Adapting to and resolving mobile development issues across iOS and Android
  • Effective ways to read and understand documentation for new technologies
  • Strategies for designing consistent UI/UX across a team
  • Efficiently handling database schema design and adjustments
  • Best practices for implementing real-time features
  • Balancing feature development with maintaining code quality and stability

What's next for Tourific 🤫

  • Improve on UI/UX
  • Enhance algorithm's efficiency
  • Launch the app!
  • Add more features: budgeting, packing list, accomodation,...

GitHub Repository Structure 🧱

S.No. Repo Name Purpose
1. tourifc contains both the frontend and the backend code