“WanderSync: A Collaborative Travel Management System” Project Showcase
Contributors: Blake Burnley, Sasha Powell, Mary Chris Cella, Emi Pergrem
Introduction
Project Overview
Our app, WanderSync, is designed to simplify the process of creating and managing travel itineraries for both solo and group travel. The app enables users to contribute to and refine travel plans in real-time, making it an essential tool for efficient and organized trip planning.
WanderSync allows users to seamlessly integrate travel details such as destinations, transportation schedules, lodging information, and dining preferences. It also offers:
- Secure account creation through Google’s Firebase
- A user-friendly interface
- Real-time collaboration tools to enhance group planning and coordination
Core Features
Key functionalities include:
- Itinerary Management: Organize travel plans by categorizing locations, transportation options, accommodations, and dining reservations.
- Real-Time Collaboration: Share travel agendas and synchronize updates among group members for a unified planning experience.
- Personal Notes: Add and share notes to refine travel plans further.
- User Authentication: Securely create accounts and log in using Google’s Firebase for secure database storage.
By addressing the common challenges of trip planning, WanderSync aims to provide users with a seamless and collaborative experience, enhancing the way individuals and groups prepare for their journeys.
Design & Architecture
Architectural Overview
The WanderSync application was designed with a focus on scalability, maintainability, and modularity. To achieve these goals, we utilized the Model-View-ViewModel (MVVM) architecture, separating the presentation layer from the business logic and data layer. This ensured clean code organization, making it easier to manage and extend functionalities throughout the project’s four development sprints.
The project adhered to GRASP (General Responsibility Assignment Software Patterns) and SOLID principles to ensure clear responsibility assignment, maintainable code, and flexibility for future enhancements.
Design Patterns
- Observer Pattern: Managed real-time updates between users and their travel plans, ensuring changes to shared itineraries are reflected immediately for all group members.
- Strategy Pattern: Applied in components like data visualization and sorting/grouping of itinerary items, allowing for flexible, interchangeable algorithms without modifying the core structure.
- Singleton Pattern: Used for managing Firebase database connections, ensuring a single point of access to the database throughout the application.
UML Diagrams
To guide the development process, the following diagrams were created:
- Domain Model: Represented the core concepts of the application, along with their relationships.
- Use Case Diagram: Highlighted key user interactions.
- Sequence Diagram (SD): Illustrated interactions between users, the application, and the database for workflows.
-
Design Class Diagram (DCD): Detailed classes, attributes, and methods, showing relationships and dependencies among system components.
- Here is a sample sequence diagram from our sprint deliverables:

Technical Implementation
Firebase Integration
- Firebase Authentication: Used for secure user account creation and login.
- Firebase Realtime Database: Stored and managed user data, travel plans, and community posts.
Data Visualization
The MPAndroidChart library was used to display planned vs. allotted travel days in a user-friendly format.
User Interface (UI)
Screenshots of major screens:


Functionality
Video Demonstration
Conclusion
The development of WanderSync over four sprints demonstrated our ability to overcome challenges, adapt workflows, and implement a robust application.
Key Achievements
- Robust Functionality: Secure account creation, real-time collaboration, and advanced itinerary management using Firebase, along with design patterns like Singleton, Observer, and Strategy.
- Adaptable Teamwork: Despite setbacks with GitHub repository management and ownership transitions, the team maintained strong communication, resolving issues efficiently.
- Technical Growth: By Sprint 3, we implemented complex features such as dining and accommodation systems, showcasing expertise in database integration and UI/UX design.
Lessons Learned
- Early Troubleshooting and Incremental Workflow: Challenges with GitHub in Sprint 1 emphasized the importance of smaller, incremental changes.
- Testing and Validation: Sprint 3 issues with sorting pointed to gaps in our testing strategy, highlighting the need for rigorous validation of features.
- Effective Communication: Open communication helped us redistribute tasks effectively and execute project objectives smoothly.
Future Outlook
This project was an excellent learning experience in collaborating on large-scale coding projects using GitHub and Android Studio, which will be invaluable in our future industry roles. These tools taught us the importance of clear workflows, version control, and consistent communication.
In delivering a practical and innovative travel management solution, WanderSync equipped us with skills and insights that will be crucial for our professional growth.