Cal Poly SLO CSC 492- Senior Project II Prof. Franz J. Kurfess
5
Project Overview
Our project can be broken up into two stages: research and development. During the
research stage, we researched all tools we wanted to use, related systems, and
completed all preliminary design and planning of our application. We were able to learn
quite a bit about everything it takes to design an application, including: use-cases and
use-case diagrams, creating practical storyboards, selecting tools/databases/libraries to
utilize, sticking to a schedule and working as a team.
During the development stage of our project, we were able to learn first-hand how to
develop an extensive software application, with full front and back-end features. We
spent 8 weeks iteratively implementing pieces of our system, with back-end features
being some of the last work we completed. We learned more about Firebase and Native
React, two tools we had never used before this course. Additionally, we learned how to
successfully work as a team to collaboratively develop our software piece-by-piece.
Implementation
Code
The entirety of our code can be found on our github . At first, we decided to utilize
2
Google’s Web Toolkit (GWT) to create a web application. This decision was easy to
make, as both of us are advanced programmers in Java, yet are not as confident in
programming in JavaScript. We made a basic shell application with Google’s Web
Toolkit, available here . We additionally planned to use Google’s Cloud Platform to use
3
Google’s material design components to help build the application easily.
Our plan to use these tools changed entirely as we began Winter Quarter. We realized it
would not be feasible to create our extensive application from the shell application we
had created, although it was a great starting point. After attempting to create our entire
frontend programmatically, we stumbled upon specialized IDEs such as React Studio &
Deco, which instantly made our lives easier. React Studio allowed us to use
drag-and-drop components and export the code to our project, in order to build the
application quicker and save time for the harder stuff (like connecting to Firebase). We
were lucky enough to find a React Native starter kit , which helped us tremendously
4
2
https://github.com/eplinglauren/YardSale
3
https://yardsale-224318.appspot.com/
4
https://github.com/mcnamee/react-native-starter-kit