William Perron
5ac660838a
|
1 month ago | |
---|---|---|
static | 1 month ago | |
.gitignore | 1 month ago | |
Caddyfile | 1 month ago | |
Dockerfile | 1 month ago | |
README.md | 1 month ago | |
fly.toml | 1 month ago |
README.md
Babypool.lol
An anonymous baby pool website.
How it works
You create a new new pool, choose the games you want to include and that's it. No need to register, enter an email or a password or anything like that. Each pool is given an ID that you can share with whoever you want to participate, you can optionally select a password to make sure no strangers participate, and you are given a unique token that gives you access to see the pool's entries and select a winner. For participants, you need to include an email address so that you can be contacted if you win, but there's no validation step involved, and the email addresses are purged when a pool is closed, or at most 3 months after the expected end date has passed.
Games Included
You can choose whichever games you want to include in the pool, with a minimum of one selected of course.
- Date
- Time of Day
- Weight
- Height
- Biological Sex
Technical details
There are two tables: Pools, and Pool Entries.
Pools table:
Column Name | Type | Constraints |
---|---|---|
ID | ULID | Unique |
admin token | String | |
password | bcrypt | |
games | []String |
games
must a Set containing, from these possible values: DAY
, TIME
,
WEIGHT
, HEIGHT
, BIOSEX
.
Pool Entries:
Column Name | Type | Constraints |
---|---|---|
Pool ID | ULID | FK |
String | ||
guesses | JSON |
guesses
must satisfy the following schema:
[]struct{
game string // one of DAY, TIME, WEIGHT, HEIGHT, BIOSEX
val: date | time | { v: int, unit: string } | ['M', 'F']
}