Project: Bracket Warehouse

Demo

Bracket Warehouse

For the last three weeks I have been wholly focused on my latest django project. This project’s core functionality is to allow users to easily signup for events, store their records / statistics, and allow managers of events to run these bracketed events.

My main goal was to challenge myself to put together a relatively functional web app. I have tried all kinds of projects with various technologies and every failure has helped me to learn but there is definite value in pushing through to the finish line on a project. I feel that I succeeded in challenging myself to creating Version 1 (V1) of this product. I call it Bracket Warehouse (trademarked, don’t you dare steal it!).

The application currently uses django’s default SQLite database but I plan to move to PostgreSQL for the next iteration. The site is built entirely with django / python, HTML, and CSS. I think I will likely utilize JavaScript in the future.

Functionality

This is the home page! Not a ton going on here but it provides a brief overview and has links to login and signup. More information can be found in the FAQ and About pages. The Contact page is also available but currently it only prints out the info to the server console terminal.

Bracket Warehouse Home

We start by signing up. I am signing up as Tony Fadell. (Tony worked at Apple to help create the iPod and then founded NEST. He also wrote BUILD which is a great read) The only atypical part of the signup page is that the user can choose between a Member and an Event Manager. A Member can signup their competitors for events. They can also create competitor profiles and teams. Event Manager have the ability to run events and manipulate the brackets within.

Bracket Warehouse Signup

This is the competitors page and it allows for searching of all competitor profiles in the database. There is pagination at the bottom as well. Events, brackets, and teams has the same type of page but with different data. The only difference for events and brackets pages is that these page will not show events / brackets marked as private.

Bracket Warehouse Competitors

The below image shows what it looks like to sign up from Tony’s dashboard. I had already created two competitors, Tony and Steve, and he can check them off to sign them up for Famous People Showdown Event.

Bracket Warehouse Signup Event

This is the Member profile page which now shows the events that the user’s competitors are registered in.

Bracket Warehouse Profile

Now I have signed out of Tony’s account by clicking the ‘logout’ button in the top right. I then logged in with Matt’s profile and Matt is an Event Manager. Below is the Event Manager Dashboard which allows creating new events and competitors. Clicking on the event will take Matt to the Event Dashboard (as opposed to the current Event Manager Dashboard).

Bracket Warehouse Event Manager Dashboard

Below is the Event Dashboard where users can add / remove competitors and create brackets within the event.

Bracket Warehouse Event Dashboard

This is what the new bracket screen looks like. I have 4 competitors selected as well as Single Elimination. For Single Elimination brackets, total competitors can be as much as 128. I have not implemented Double Elimination yet. Best of Three and Round Robin are partly implemented.

Bracket Warehouse New Bracket

This is what the Bracket Dashboard looks like with the bracket we just created. Any visitor can view this bracket by searching it and finding it on the brackets page becuase it is public. However, their view will only be the bracket and will not have the seeds manipulation or the dashboard actions.

Bracket Warehouse Bracket Dashboard

Finally, this is what the competitor profile looks like. Our example utilizes the competitor we created called Steve Jobs. He is on team NEST (probably should have made it Apple). He won his first match in the semifinals so he is 1-0 and age 68. The team page is very similar to the competitor page.

Bracket Warehouse Steve Jobs

Future Features

  • Payment Integration for events that require a fee when a user signs up.
  • Double Elimination Bracketing
  • Smoother UI and Responsive Design
  • Emails: After Account Signup, After Event Signup, After Event Termination for Event Managers
  • Postgres DB Implementation
  • Seasons + Rankings
  • Printable Brackets

Next Steps

I plan to step away for a couple weeks to crank out a javascript project before coming back and revisiting Bracket Warehouse and advancing toward an even better V2.