Skip to content
This repository has been archived by the owner on Feb 17, 2020. It is now read-only.

Fantasy system for Overwatch League

License

Notifications You must be signed in to change notification settings

johnapost/overwatch-league-fantasy

Repository files navigation

Overwatch League Fantasy

Codeship Status for johnapost/overwatch-league-fantasy codecov

What is this?

This is https://overwatch-league-fantasy.com, a custom Overwatch League fantasy system. It's also an opportunity to play with some interesting technologies and challenge my fullstack app building skills. In a phrase, a serverless server-side rendered React app, heh.

Key technologies

  • Firebase Functions (serverless/FaaS architecture)
    • See src/functions
    • One function serves the entire app, frontend and backend
    • Separate utility functions for syncing with Overwatch League data
  • Firebase Firestore (Cloud-based document data store)
    • Flat(ish) document store without schemas
  • NextJS (Server-side rendered React app framework)
    • See src/app
    • Makes it easy to create a fullstack React app, and fit it all in one function
  • redux-firestore
    • No XHR or fetch calls, all data is automatically synced to Firestore through Redux

Features

  • Authentication
    • Sign up
    • Login/logout
    • Resend verification email
    • Reset password
  • Stats
    • Stat scoring
    • Sync running stats
    • Derive weekly stats
    • Scheduled syncing
  • League Management
    • User-created leagues
    • Invite links
    • Start/end drafts
    • Customizable stat weights
  • Matches
    • Matchmaking
    • Match scoring
    • Side bets
  • Drafts
    • Draft chat
    • Draft timer
    • Autodraft
  • Polished UI
    • Roster stat table
    • Roster grid
    • Draft team
    • Draft feedback

Thanks