The inspiration for this project stemmed from our team's diverse composition. We had a computer science major, a biomedical engineering major, a mechanical engineering major, and a history major with coding experience. We all shared the desire to implement Galileo's API since it seemed like a worthy challenge that would push us out of our comfort zones and challenge our coding skill levels. We finally decided on team management software because we all liked the idea of developing for productivity, but we also wanted to use Galileo. What we settled on was a mix of the two, and it was exciting to work hard on something that could potentially benefit us in the workplace in the future.
What it does
Our software can communicate with Galileo's sandbox API and submit createAccount, deposit, expense, balance, and transaction history requests; All in the Java virtual machine. It is able to then parse the useful information from XML data that is gotten back from galileo's server using our implemented methods, for use in later requests that it may be needed. It also keeps an updated access token for communicating with the API. Our user interface is a website that uses python's Django library to track requests from users and manage purchases. It allows an admin to oversee and manage the roles and activities of their team.
How we built it
We went about building this project by creating a project management board on Trello and using VisualStudio code for python and a combination of IntelliJ and Eclipse for java. We tried to use GitHub for sharing code but found it to be too complex and time consuming for our deadline. In the future, we might benefit from better learning this software that so many good programmers use.
Challenges we ran into
Half of our team wanted to write python code, while the other half wanted to write java code. This created a divide which we decided would not be a problem, since python and java are some of the most popular coding languages and have packages that allow them to work together. This eventually proved to be our downfall, as our python team wrote fully-featured code and our java team did the same, but all of the packages we attempted to use to bridge the gap between the two had their own quirks and bugs that caused us not to be able to connect the two sides of our software.
Accomplishments that we're proud of
We proudly accomplished a way to use an OKHTTP client to communicate with galileo's API from our JVM, and successfully recieve and send data and created a detailed and high functioning Django website.
What we learned
Our team learned a lot about code and how to write it and use it with different languages and implement APIs and many many more things. Above all though, we learned about the importance of a project management application of some sort to stay organized and focused.
What's next for Lighthouse
The next step for Lighthouse is to bridge the gap between python and java. We want to be able to use our powerful java backend with our robust python front end, even if this means writing our own way to connect java to python for this purpose. We think we have a good idea here and we want to see it reach the public.