Welcome to WanderSync! This project was created by Team 28 in Nimishka Roy's CS 2340 Fall 2024 class. The goal of this project was to create an app that would help users plan trips. This app stores user information about their trip, such as their destinations, accommodations, and reservations. It also includes abilities to add other people to your trip so you can plan collaboratively, as well as logistic graphing features, and a community post board.
For this project, we used AndroidStudio and programmed in java. This project was organized into four sprint, each with their own different individual requirements. We followed agile principles and worked using a combination of Scrum and Waterfall team organization principles. We strived to develop our project by also following good design principles, which caused us to use many design patterns through our project. We especially took advantage of this singleton and stratgy design patterns becuase of the amount of work our project did with our firebase database. Additionally, we created countless design diagrams to help us plan each stage of our sprint. You can see some of the diagrams we used below.
This was a Domain Model we created earlier on into the project. It demonstrates a high level overview of the project's Functionality
This is a Domain Class Diagram we created for our 3rd sprint. It is our most comprehensive design diagram created during the project.
This is a sequence diagram representing the user application interactions when trying to make a reservation through the app.
We will now proceed to walk you through the user flow of this application, starting from logging in.
Welcome: This screen welcomes the user to WanderSync
Login in / Sign up: This screen allows the user to log into their account or sign up
Individual Screens: This app new takes you to several different screens that can be used to help with different aspects of planning a trip
Below is a short video showing some of WanderSync's functinoality.
Ultimately this project was a great learning experience. It was a great way for student to begin working on a large project, where greater software design principles become important. It allowed us to work iteratively on something and use our accumulated knowledge to work towards a larger goal.The work we did with firebase was especially impactful, because it made all of us much more knowledgable about how to use databases and the troubles that come with synchronicity issues. Additionally, this class enstilled in us real world skills, such as making different types of design diagrams, writing unit tests for our code, and implementing design patterns.
I would like to thank our team for contributing to the app's development: Carson, Ashton, Sabiq, Oleksandr, and Gonzalo
This website was deployed by Carson, with great assistance from Ashton.