Skip to content

Welcome to the Software Team

Eric edited this page Feb 15, 2019 · 14 revisions

Getting Started with Software

Author: Eric Udlis

Last Revised: 2/08/19

What We Do

Software is responsible for all data and controls that come outside of the pod. This includes the pod operator's dashboard and the database storing all of our run data, networking outside of the pod, and any other software project that happens outside of the pod. We work closely with the controls team to create a seamless connection between the team and the hardware inside the tube.

Getting Started

If at anytime you have any questions about any of the information on this page, slack message your team lead and they will be happy to clarify.

First check if you have git installed, and if you don't you should take a brief detour and do so. Once you have it all setup, you are going to want to clone this repository by going to your command line and typing

$ git clone https://github.com/badgerloop-software/pod-dashboard/   # Download the repository
$ npm install                                                       # Download the required packages from NPM (You'll only have to do this once)
$ npm start                                                         # Start the Dashboard

To test sending pod data:

 $ node testpodserver.js              # Send test data to the dashboard

Technologies We Use

NodeJs

Pod 3 and 4's dashboards were written in a Javascript engine called NodeJS. This is different than the Javascript you might be used to if you do some web development. NodeJs allows Javascript to be run on the server, allowing us to communicate with multiple files, setup an HTTP server, read files, etc. We infrequently use the Node Package Manager(NPM) to download third party packages to use on the dashboard, because these packages are More information can be found at this link

Electron

This is a Node Package. The best way to describe it is packaged chrome. This allows the dashboard to be all in one package. More information can be found here

MongoDB

This is the service we use to host our database. It's a NoSQL based service. More information can be found here

People to know

Eric Udlis (@Eudlis)

Eric is the software team lead. Eric is a 1st year student who has been on the team since the beginning of his freshman year. He has experience with Java and Javascript. He also has gained experience in several electrical systems by being electrical head on his high school robotics team.

Ezra Boley (@ezraboley)

Ezra is the controls team lead. Ezra is a 3rd year student who has been on the team for 3 years. He was the Software team lead for Competition 3, and will be on Co-op with Extreme Engineering Solutions in Middleton this Spring. Ezra wrote the code behind pod III’s dashboard as well as some embedded code for interfacing with sensors.

Ethan Link (@ethan.link)

Ethan is a 4th year student who has been on the team for 2 years. He was on co-op with Extreme Engineering Solutions in Middleton last Fall and was previously the controls team lead, in which he gained experience with writing pod III’s firmware.

Finn Kuusisto (@Finn Kuusisto):

Computer Science Post-Doc who joined the team late in pod III but really pulled through! Machine learning, networking, AI, he’s your guy!

Can I use Eclipse?

I have been asked this question about 200 times, you can but you need to install several packages to get it to work. For javascript, we don't need an embedded compiler and all the other fancy tools that an IDE comes with. A code editor is all that's really needed. I recommend VS Code or Atom. Or if you're feeling risky use VIM.

Clone this wiki locally