Roommate is a project to create a conference room gadget that displays availability, takes impromptu reservations, etc.
This repo contains the cloud backend (F#, AWS Lambda) and a command-line tool.
Embedded Device | Cloud Backend |
---|---|
atomicobject/roommate | atomicobject/roommate-lambda |
dotnet build
to build the solutiondotnet test
to run tests.
- roommate - business logic
- roommate.test - tests for it
- roommate-tool - CLI tool for testing and miscellaneous functionality
- roommate-lambda - AWS Lambda functions
- roommate-lambda.Tests - tests targeting Lambda functions (currently unused)
This project integrates with Google Calendar to view room availability, schedule meetings, etc. To do this locally, you'll need to enable the API on your Google account and grab a pair of credentials. I neglected to document the detailed process for creating them, but it starts here: https://console.cloud.google.com/apis
Put the "Client ID" and "Client Secret" in environment variables so Roommate-tool can find them. I keep an unversioned script that looks like this:
export googleClientId=asdfasdfasdf
export googleClientSecret=jkljkljkl
(then you can e.g. source env.sh
)