Robotics Summative

Scouting Web App Details

The web application we're currently trying to develop is called "RavenScout". It is a web application to help out teams in the First Robotics Competition by providing them with trusted and specific stats on different teams' robots. Trusted users will be able to upload new data immediately following an FRC match, that'll then get displayed on our website the form of data visualizations. Here is where you can find the GitHub repository for this web application.

Contributors

Well, initially this was just a project started by Sayfullah, but then Hassan and I decided to help out. Us three will all work on the programming aspect of it, while we have others telling us what to implement. One of these people is Tanner, who's given us some requirements and things he wants included in the website.

Trusted Users

Initially, the website's database will only contain the login details for certain teams' trusted users. We can manually input these fields into the database under a "trusted_user" model to be checked upon any attempted login to our website.

Data Processing

Data will be uploaded by trusted users in a standardised CSV file, with a corresponding format to that of the current year's competition. There will be a form to submit new data which will contain a few fields to aid with categorizing the file, such as: event, team number, date, as well as, one to submit their form into.

Pulling Data

This web application will be able to pull data from The Blue Alliance API, a popular web application used for similar data-storing tasks to our web application. We can accomplish this task by web-scraping their data from the internet and then including it into models for their data, separated form our data.

Checking Data

For certain data fields, we'll be able to cross-reference with The Blue Alliance's API, once it's up on their website. This will be done to validate some of the data sent in my our trusted users. Since, there's is always accurate. The only problem with corss-referencing all data fields we have, is that we're going to have much more specific fields that aren't going to be part of their API.

Database Models

This is our current schematic of what fields each database model would contain (onosh, onott, and onnob are code names for competitions in Ontario in 2020):

Displaying Data

Aggregated data will be displayed in the form of graphs, data visualizations, and such.

Website Pages

Much like how this website has 3 different pages to navigate to in its navigation bar, we're planning to have a few. All of them will be accessible to anyone that visits the website, except for the "Upload Data" page. Here are the ones we're thinking of having as of now (subject to change in the future):

Possible Mobile Application

As of right now, this is far beyond what we're currently planning. Especially since, the internet web application will also be accessible for mobile users. However, it may come in the distant future.