This project was inspired by the need for a offline App at a robotics competition. It is a high school competition that has the students compete against other robotics teams. They needed an offline server because the WiFi at the events are usually not reliable or secure and allows the team connect to the app reliably.

What it does

The web app hosts a friendly user interface that contains a scouting form that replaces the need for a paper form. It helps the information be quickly input, analyzed, and shared. It can be utilized on any internet enabled device due to the responsive design of the web app.

The server uses a raspberry pi 2. It is running a modified version of raspbian called Rachel Pi. This allows for the Pi to act as a server that hosts the Web app.

How we built it

The web app is built using Javascript, Html5, Css, and bootstrap. The information from the web app is stored on a lamp server. The raspberry pi uses a 32Gb sd card that holds the operating system while the database is on a 32Gb flash drive.

Challenges we ran into

There were a lot of challenges when setting up the web server. Our first idea was to use an idea called PiRateBox which allows for anonymous offline file sharing. We planned to add PHP and MySQL to the design to allow us to host the web page. The problems we ran into with this idea is we could not connect the device to the internet in order to install the necessary files to run Apache and in return PHP and MySQL. We spent more time than we should have trying to make this work.

We also tried another form of a raspbian server, but also had trouble connecting to the internet to install necessary functions. Even with the OS we chose, we still had trouble getting updates from online. The main cause of this is because we were making an offline server.

We were unsuccessful in creating an access point for the server. We believe it is because we are trying to make an access point at the same time as we are trying to download updates from the internet.

The hardest part with the WebApp was using the new Bootstrap 4 (in beta) instead of the old Bootstrap3.XX. It also proved difficult using Jquery to work with the new bootstrap

Accomplishments that we're proud of

The web app ended up looking really good. We are proud that we could learn the new Bootstrap 4 even though it is still in beta. The new graphs and input selections that we were able to learn showed to be a great learning experience and success.

What we learned

We learned the difficulties that come with trying to make a server that is offline. We also learned some new tools and techniques to make awesome web apps that have a simple user interface.

What's next for Scout FRC WebApp

The use of API will be added. The use of github webhook in order to allow the web app to be updated on the Pi whenever the github repository is updated. Then the app can be used at the competition this Spring and every competition after.

Share this project: