# Crab Fit
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
## Setup
1. Clone the repo.
2. Run `yarn` in both backend and frontend folders.
3. Run `yarn dev` in the backend folder to start the API. **Note:** you will need a google cloud app set up with datastore enabled and set your `GOOGLE_APPLICATION_CREDENTIALS` environment variable to your service key path.
4. Run `yarn dev` in the frontend folder to start the frontend.
### 🔌 Browser extension
The browser extension in `crabfit-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 `crabfit-browser-extension` folder and use that zip to deploy using Chrome web store and Mozilla Add-on store.