Introduction Design & Architecture User Interface Functionality Conclusions Contributors

Welcome

We are WanderSync

With WanderSync, taking your dream vacation is as easy as 1, 2, 3! We built an app that aims to revolutionize the struggles of planning and organizing a trip. It identifies and isolates the key elements necessary for a user to fill out to fully plan a trip: Destination, Dining, Accommodations, Logistics, and Transportation. These entries can be done for a solo trip, but WanderSync also allows you plan with a group, providing functionality to share travel plans and notes from one account to others. We also allow seamless sharing of travel plans to a global travel community visible to all users of the app to gain inspiration for their own dream vacations.

Design & Architecture

    Paris
  • Class Design As seen in the diagram from Sprint 3 showing the classes involved, we properly use abstraction and new classes to create code that maintains high cohesion and low coupling and keep our repository clean.
  • MVVM Within Android Studio, we utilized MVVM architecture to isolate our frontend views and backend models, allowing communications between them through the view models to be clean and bug free.
  • Singleton To this end, we also made sure our firebase database connection utilizes the Singleton design pattern to make sure there can only be one actor touching our data at any one time.
  • Adapter As seen in our diagram and for this sprint, we also use the Adapter design pattern to properly modify what we have in the backend and show all of it in a UI display.

User Interface

Create Account Page

Create Account Page

Users must create an account and then log in to access functionality

Paris

Log Travel

Form to add a trip's destination and dates in the destinations page

San Francisco

Calculate Vacation Time

Form to calculate add much vacation time you have, autofilling the 3rd field upon the filling of the first 2

San Francisco

Logistics Page Graph

Charts alloted trip durations versus planned trip durations as entered in Destinations page

Create Account Page

Invite Users

Provides a list of users and allows you to enter one to share notes with other users

Paris

Shared Notes

Displays notes entered by user and all shared users

San Francisco

Accommodations Page

Displays list of accomodations entered

Create Account Page

Add Dining form on Dining Page

Form to add dining entries to dining page

Paris

Travel Community Page

Page with all shared travel plans posted by all app users

Functionality Demo

Check out our demo video below!


Conclusions

Overall, this project was a great way to build numerous software development skills that we will all be able to carry into our careers. We learned how to build a practical ready to use product from beginning to end, going through each piece of the software development cycle from ideating, to diagramming, to coding, and finally now marketing through the website and LinkedIn deliverables. We also got better at coding as we learned how to use unfamiliar technologies Android Studio, Firebase, and SonarQube, and learned how to use design patterns and how to refactor to make high quality production ready code. Through challenges in dealing with differing opinions and schedules within the team, and challenges in interpreting our product specifications and requirements, we had to learn how to be patient and flexible to succeed, necessary soft skills to have in the real world where we are bound to encounter similar issues in the industry as we develop our own real projects in the real world.

Contributors