Coder Social home page Coder Social logo

events.gg's Introduction

events.gg

Code Climate

What's this all about then?

ESports tournaments are happening all the time for various games but it's hard for fans to keep up as there is no single canonical source tracking when and where these tournaments are taking place. This project is aiming to bridge that gap by allowing organisations that run ESports tournaments to add their information and then give fans the tools to never miss a match again.

A word on the code for this project

I'm using this project as a way to experiment with a few things:

  • 7 Patterns to Refactor Fat ActiveRecord Models - Trying various options to trim down my models.
  • Hexagonal Rails - Using interaction/use case classes to encapsulate business logic (especially those that might be used in the web UI and also API) to reduce code duplication.
  • Improved TDD - Using less mocks and testing units of work rather than units of code (refactoring current specs at the moment).
  • Rubocop - Evaluation.

Setup

$ git clone [email protected]:andypike/events.gg.git
$ cd events.gg
$ cp config/example.database.yml config/database.yml
$ psql postgres
  # create user events with password '' CREATEDB;
  # \q
$ brew install qt
$ brew install imagemagick
$ bundle
$ rake db:create db:migrate
$ bundle exec rails s

events.gg's People

Contributors

andypike avatar

Watchers

 avatar  avatar

events.gg's Issues

Add an event in local time zone

Members of an organisation can a select an organisation and then add the event.

Per event:

  • Name
  • Description
  • Twitch account
  • Logo
  • Select games (multiple)
  • Per day
    • Start date time
    • End date time

Store date times UTC

When adding, show other events on same day to avoid duplicates. Inform member that duplicates will be removed.

Allow a manager of an organization to invite people to join it

  • Can only invite others when the organisation is approved by admins
  • Allow a manager of an organisation to enter the email address of the person to invite.
  • If they are already a member:
    • Email them to let them know
    • On their settings page, show the invite (in a list)
    • Allow the user to accept the invite - this joins them
  • If they are not a member:
    • Email them to let them know with a url
    • Following the url allows them to register and adds an invite to their account
    • They can then go to their settings to accept

API

  • Authentication (HMAC)
    • show user keys on account page
    • allow regen of keys
  • create event
  • list all events
  • list games
  • suggest game
  • list events for games

Event page

  • Full page per event
  • allow customisations and assets/branding
  • list other events my same member/organisation
  • embed twitch scream

Page per game

  • Game specific URL
  • lists events for that game
  • page themed with game assets

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.