Designing the UI
The inspiration came from when my friends and I were planning a event and we couldn't decide on the optimal time. Once we found the optimal time the aftermath of event logistics filled our phones with pages of ideal time guesses. we realized that logistics from four people was difficult to manage imagine trying to find the optimal time to meet with thirty people.
What it does
This app creates an account and manages the data to be set to a server. This application is not currently setup to work with the databases yet. However extensive programming background and UI research allows this application it to be a good framework for when I develop those databases;
How I built it
This app was build in Java, JavaFXML and scene builder. The app was entirely planned out before any code was produced. A series of tests were made to test database communication and google calendar API. I started development by designing the UI, so I would know the behaviors the user would want in the application ("See diagram Plan below"). After completing the UI design, basic models were created following the MVC architecture. The UI was built dynamically so that views could be switched at any time and their respective controllers would continue communication. This was done with the MasterController class which loaded in all of the building block views and controllers. This made it possible to set views with a singe line of code, making my current framework expandable. The dynamic views work by having a master view with two side panels. These panels host tabs that allow the switching of sub views that are imported in the panes directly. This makes errors easier to solve because instead of one big view these sub views can be easily interchanged redesigned. Having sub views also has the benefit of sub controllers which make the code specific to the component and not contain everything in the view.
Challenges I. ran into
The major challenge I ran into was lack of time. When I first started the project I thought my lack of knowledge would prevent me from completing the project.
Accomplishments that I'm proud of
I am most proud of how far I got. This is the first hackathon I have actually competed in. The code I am most proud of is the SuperController class. It was my favorite class to make because it turned my initial theory of a single resource for transferring scenes into reality. For a long time on this project I was stuck but once that class was done lots of other components finished quickly.
What I learned
I learned, how to manage large JavaFXML projects with a hierarchy of views controlled independently. Before I started this project I barely knew how to use JavaFXML but after this project I feel a lot more confident in my abilities.
What's next for Social Sync
After the hackathon I will continue to develop Social Sync as my CS3330 Final Project, databases and all.