The fastest way to make and track predictions.
This repo includes fatebook.io, Fatebook for Slack and Fatebook for Chrome.
You can report bugs in the Issues tab. You can make feature requests there or in our Discord.
If you're interested in contributing, let us know, and we can help you get up and running - thank you!
These following instructions assume you're using macOS and Homebrew.
git clone https://github.com/Sage-Future/fatebook.git
cd fatebook
cp .env.example .env
brew install mkcert
mkcert -install
mkcert localhost
brew install postgresql@15
# Or download and install from https://www.postgresql.org/download
# If you do this, follow the instructions there for starting the database.
# Follow the instructions that the installer provides on how to add postgresql@15 to your PATH.
# For example, on some systems it will tell you to do this:
echo 'export PATH="/opt/homebrew/opt/postgresql@15/bin:$PATH"' >> ~/.zshrc
. ~/.zshrc
# If you're using Bash rather than Z shell, substitute `~/.bash_profile` for
# `~/.zshrc` in the previous commands.
# Start postgres
LC_ALL="C" /opt/homebrew/opt/postgresql@15/bin/postgres -D /opt/homebrew/var/postgresql@15
Open a new terminal window and run the following commands:
# create `fatebook` role
createuser fatebook
# create `fatebook_development` database, owned by the `fatebook` user
createdb fatebook_development --owner fatebook
npm install
to install dependencies.npm run vercel-build
to set up the Fatebook schema.npm run dev
.Fatebook has a Chrome and Firefox extension. The source is in /chrome-extension
To test changes to the Chrome extension:
after.js
, make sure extensionInfo.isDev = true
npm run dev
, and check that your dev server is running at https://localhost:3000chrome://extensions
chrome://extensions/shortcuts
, set the shortcut for "Make a new prediction" to Cmd-Shift-F, if it's not already setextensionInfo.isDev = false
in after.js
If you make a change to the contents of a file in chrome-extension
, to see the changes in your browser you'll need to reload the extension:
chrome://extensions
Changes to Fatebook itself (e.g. changes to /pages/embed/q/[id].tsx
) will be reflected without needing to reload the extension.
If you want to make or test changes to the Slack integration, you'll need to set up a Slack app. This is more involved - get in touch and we'll help you get up and running.
If you have any problems, let us know!