Giter VIP home page Giter VIP logo

the-blue-alliance / the-blue-alliance Goto Github PK

View Code? Open in Web Editor NEW
393.0 393.0 172.0 81.86 MB

A webapp for accessing information about the FIRST Robotics Competition.

Home Page: https://www.thebluealliance.com

License: MIT License

Python 38.40% Shell 0.24% CSS 3.00% JavaScript 6.48% HTML 49.68% Ruby 0.04% Dockerfile 0.02% Less 2.04% Pug 0.02% PHP 0.09%
first-frc first-robotics-competition firstrobotics frc robotics-competition the-blue-alliance

the-blue-alliance's Introduction

The Blue Alliance

Build Status Coverage Status

The Blue Alliance is a FIRST Robotics tool to help teams scout for, compete at, and relive competitions. You can see how the whole site works here, or even write code to make it better!

Help Build The Blue Alliance

The Blue Alliance is a community-driven website, so there are many ways you can contribute to the project.

Contribute Code

First off, be sure to read through the project contributing guidelines to understand what is expected of project contributors. Follow these instructions to get your environment up and running. Once you have made your changes, submit a pull request to get it reviewed and merged!

Add Data

  • Facebook Join our group, #moardata @ The Blue Alliance, to submit video and match data we're missing on the site.
  • Submit missing videos using the "Add Video" links on the site.
  • Submit missing webcasts, team photos, etc using other links on the site.

Stay in Touch

the-blue-alliance's People

Contributors

1fish2 avatar agpapa avatar andrewda avatar andrewke avatar austinshalit avatar bdaroz avatar brandondean avatar brianjmaher avatar brycematsuda avatar chrismarra avatar cmlicata avatar dependabot-preview[bot] avatar dependabot[bot] avatar dracco1993 avatar fangeugene avatar gregmarra avatar jaredhasenklein avatar josephbisch avatar kevinji avatar legoktm avatar lethosor avatar mc42 avatar nwalters512 avatar phil-lopreiato avatar samuelcouch avatar techguydave avatar tervay avatar tsteward avatar tweirtx avatar zachorr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

the-blue-alliance's Issues

Some teams fail to load

Apparently some EventTeams lack events

http://www.thebluealliance.com/team/2033

Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/init.py", line 515, in call
handler.get(*groups)
File "/base/data/home/apps/tbatv-prod/1.348062665901379930/controllers/team_controller.py", line 50, in get
events = [a.event for a in team.events if a.year == year]
AttributeError: 'NoneType' object has no attribute 'events'

Query "year=" bug with Events

Something is making us build this index:
year= ▲ , first_eid ▲

"year=" is not a property of Events. "year" is.

Clean up (-1, -1) matches

We should probably set a "match_played" boolean on matches and flip it when we set scores. Then after events end, we should delete all their unplayed matches.

Awards For Events

Create a new scraper for the event page to get award.

Insert award information on event details and team details page. Possibly the left side-bar will be a good place for it to live?

Create missing Team objects for EventTeams

When a Team object doesn't exist (IE, the team has stopped existing and we didn't make a Team object), EventTeam objects get created with team fields. This is bad. If the Team object doesn't exist, create a stub during EventTeam creation.

Search Improvements

Our custom Google Search is fancy, but it lacks in a lot of areas.

If you search for a team number we should notice that and jump right to the team's detail page. This should be the only time we should use a "I'm Feeling Lucky" feature. It'll become a lot harder to deal with if we ever get into FTC or FLL teams/events.

List Live Video Links For Events

I wasn't sure how useful this would be, just throwing the idea out on the table. If the event is currently in progress only then we should display the live video link (and if its from ustream we could embed the video).

This would require admin users to enter in the link to the video feed. Either that or we could create standard ustream accounts for broadcasting events...which will be very difficult to implement for just a few events.

Just idea.

Handle Team 404s

We have some Match data that doesn't have all of it's Teams, so we're rendering some hyperlinks to broken Teams.

A) We should manually add these Teams.
B) We should handle Team 404s without an Exception.

Unable to tasks/usfirst_team_get/frc5

Errors from new_team not having a team_number.

Probably not parsing USFIRST page correctly, probably because it's a non-2011 TPID. Need to get older TPIDs for team first?

Should at least not throw an exception, should probably enqueue TPID fetching, or something.

Fix historical Tpid problem

FIRST's tpid system is year-dependent, so you need to know what year your tpid is currently associated with. Then based on what year that is, you need to generate a session key associated with that year, and use that to fetch the team info.

Possible solutions:

  • Store all historic Tpids for a team
  • Store the tpid, and the year of the tpid, then fetch using the right urls/session_keys at fetch time
  • Just store the latest Tpid, and use bulkloading to get old data in

I think storing the year of the tpid is the best idea, and then old teams just store of can stagnate until they have new data again. This problem is complicated. :-/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.