elixircle / nermesterts Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://covermytabletop.herokuapp.com/
Home Page: https://covermytabletop.herokuapp.com/
I'm lazy and tired of logging in every day
CoverMyTabletop?
CoverMyGames?
Tabletop Roulette?
Give us options and vote
MVP:
Complete:
MVP:
Only the main page, login, and register should be visible
Maybe games and phrases could be visible as well
Teams should consist of players
UserGames table should link the team and player to the game
Teams can only see their own games
iex(26)> val = :crypto.hash(:sha256, "2016/10/17") |> Base.encode16
"745CF20C8C37778697493B917C4B9F11BFE8A55B4B1322AE63FABDCB13ABB9D4"
iex(28)> {hash, _} = Integer.parse(val, 16)
{52632510926520334323601098306284332410336972837482672690491232650717471422932,
""}
iex(29)> rem hash, 9
2
iex(40)> Date.to_string(DateTime.to_date(DateTime.utc_now()))
"2016-10-17"
The UI should ask how many different games you'd like to play. It should then do its best to evenly divide the players into those groups and pick a game for each one.
See @ericworkman's comment
In short, this randomizer uses the current year and day of year to as the index of the
list of availablegames to reliably choose the same game for a given day and game list.
I'm not happy with the tests, as I'm not too sure about how to set this up to be tested
reliably (but I barrelled through with it anyway). Paired with @Serneum while doing this.
Joking Hazard has a max_player count of 0 in BGG. We should add a special case where 0 max_players means any number of players can participate. Set to either 99 or MAX_INTEGER
Saw this over my vacation: https://www.youtube.com/watch?v=zt9WdE5kR6g
We just need to add an endpoint that returns JSON containing what we want Alexa to say. Initially, this may be just the name of the game. I'd like to potentially future-proof the endpoint and let it list multiple games for when we have multiple groups playing games
@daveshah, thought you might want to pair up on this and the Alexa code
I think I've seen Bang as the recommended game several days in a row - nothing against Bang, but it might be good to ensure that today's game is different than yesterday's
This was a core idea behind NermeSterts and we still don't have it. We need to be able to tie lists of games to teams.
MVP:
Feel free to hijack/enhance Players so that we only have one concept to represent people
Add authentication for the users/players
heroku run "mix ecto.migrate"
when adding new modelsheroku run "POOL_SIZE=2 mix run priv/repo/seeds.exs"
when we need to reseed data (Can 2 become any number up to 18?)brew install postgres
createuser -s admin
mkdir -p ~/Library/LaunchAgents && ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
mix ecto.create && mix ecto.migrate && mix run priv/repo/seeds.exs
I seeded the DB with several phrases, but having UI around adding, removing, and updating phrases could be nice.
#GAME#
is required wherever you want the game name to show uphas_token
based on whether or not #GAME#
is present in the stringOnce we add authentication, we need a way to account for people that don't normally play with our group. There should be some sort of "guest" account that can be added multiple times.
guest
accountSome games may have a minimum number of players that just feels too low or a maximum that feels too high. We should add a "preferred" count that can take precedence
MVP:
Complete:
Optional:
Basic DB structure:
We should be able to look at UserGames table to see how many copies of a game exist for the group (Ex: We have 3 copies of Betrayal)
It would be good if people had to mark themselves as active each day to be included in the game that day, making playing a game opt-in rather than opt-out. That could take the form of a "clear players" button that we click after each game.
admin
user/role
admin
can delete accountsadmin
can edit/delete phrasesadmin
can edit/delete gamesDepends on #28
Instead of having to remove a player to make them not contribute to the player count, it would be nice to be able to toggle them active/inactive.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.