Skip to content

Commit

Permalink
Add more docs
Browse files Browse the repository at this point in the history
  • Loading branch information
domdomegg committed Apr 26, 2024
1 parent afe55f0 commit 8a28234
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 4 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ The following key parts of our software are _not_ in this repository because the
- Application forms: MiniExtensions
- Apply short links: Short.io
- Primary database: Airtable
- Various Airtable extensions (mainly just because these are fiddly to migrate to a monorepo, but could be open-sourced in future)

## Get started

Expand Down
27 changes: 27 additions & 0 deletions apps/availability/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# availability

Form to collect time availabilities from people on BlueDot Impact courses. It offers an interface similar to when2meet but integrates with Airtable webhooks so the data can be later used e.g. with the [Cohort scheduling extension](https://github.com/bluedot-impact-software/cohort-scheduling-extension).

## Developer setup

No special actions needed, just follow [the general developer setup instructions](../../README.md#developer-setup-instructions)

## Deployment

This app is deployed onto the K8s cluster as a standard Next.js app. It uses [an Airtable base](https://airtable.com/app6dkBHka8c4WaEj/tblvsaRl69XV8azGZ) as a database.

To deploy a new version, simply commit to the master branch. GitHub Actions automatically handles CD.

## How it works

The app presents a user interface where people can submit their availability via links like:

```
availability.bluedot.org/form/[email protected]
```

We load details about the form from the configuration Airtable base.

We then display the form, and collect their availability with a when2meet-like component. Availability data uses the [weekly-availabilities](https://github.com/domdomegg/weekly-availabilities) library format. For example, `M16:00 M18:00, W20:00 R08:00` means the person is available on Monday from 4pm to 6pm UTC, and from Wednesday at 8pm through to Thursday at 8am UTC.

We then send this data to the webhook determined by the form configuration. This usually triggers an Airtable automation which does something with it, like updating records in another Airtable base.
6 changes: 2 additions & 4 deletions apps/meet/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,11 @@ An app for hosting meetings, e.g. facilitated sessions on our courses.

## Developer setup

1. See [general setup instructions](../../README.md)
2. Set the environment variables in [`.env.local`](./.env.local)
3. Run the server with `npm start`
No special actions needed, just follow [the general developer setup instructions](../../README.md#developer-setup-instructions)

## Deployment

This app is deployed onto the K8s cluster as a standard Next.js app. It uses [an Airtable base](https://airtable.com/app6dkBHka8c4WaEj) as a database.
This app is deployed onto the K8s cluster as a standard Next.js app. It uses [an Airtable base](https://airtable.com/appPs3sb9BrYZN69z) as a database.

To deploy a new version, simply commit to the master branch. GitHub Actions automatically handles CD.

Expand Down

0 comments on commit 8a28234

Please sign in to comment.