Find a file
2023-06-09 02:06:41 +10:00
.github Update branch to main 2023-05-16 20:24:54 +10:00
api API: don't return people with no availability 2023-05-28 22:35:33 +10:00
browser-extension Add docs for FRONTEND_URL env var 2023-05-16 02:42:01 +10:00
frontend Reset selected people if the amount changes 2023-06-09 02:06:41 +10:00
.gitignore Add docs for FRONTEND_URL env var 2023-05-16 02:42:01 +10:00
dispatch.yaml Set up app engine dispatch rules 2022-08-19 15:52:10 +10:00
LICENSE Add GNU GPLv3 license 2021-05-26 18:51:18 +10:00
README.md Use ghcr tag directly 2023-05-16 17:37:35 +10:00

Crab Fit avatar

Align your schedules to find the perfect time that works for everyone. Licensed under the GNU GPLv3.

Contributing

Bugs or feature requests

If you find any bugs or have a feature request, please create an issue by clicking here.

🌐 Translations

If you speak a language other than English and you want to help translate Crab Fit, fill out this form: https://forms.gle/azz1yGqhpLUka45S9

Pull requests

If you see an issue you want to fix, or want to implement a feature you think would be useful, please feel free to open a pull request with your changes. If you can, please open an issue about the bug or feature you want to work on before starting your PR, to prevent work duplication and give others a chance to improve your idea.

Setup

  1. Clone the repo and ensure you have node, yarn and rust installed on your machine.
  2. Run yarn in frontend folder to install dependencies, then yarn dev to start the dev server.
  3. Run cargo run in the api folder to start the API.

🔌 Browser extension

The browser extension in browser-extension can be tested by first running the frontend, and changing the iframe url in the extension's popup.html to match the local Crab Fit. Then it can be loaded as an unpacked extension in Chrome to test.

Deploy

Deployments are managed with GitHub Workflows.

To deploy cron jobs (i.e. monthly cleanup of old events), run gcloud app deploy cron.yaml.

🔌 Browser extension

Compress everything inside the browser-extension folder and use that zip to deploy using Chrome web store and Mozilla Add-on store.