{"id":15168662,"url":"https://github.com/denoland/meet-me","last_synced_at":"2025-10-01T01:30:24.360Z","repository":{"id":41090116,"uuid":"485233288","full_name":"denoland/meet-me","owner":"denoland","description":"A calendly clone in Deno and hosted on Deno Deploy","archived":true,"fork":false,"pushed_at":"2023-12-01T00:24:43.000Z","size":1308,"stargazers_count":245,"open_issues_count":5,"forks_count":35,"subscribers_count":17,"default_branch":"main","last_synced_at":"2024-09-30T18:01:45.516Z","etag":null,"topics":["calendar","calendly","deno","deno-deploy"],"latest_commit_sha":null,"homepage":"https://meet-me.deno.dev/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/denoland.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null}},"created_at":"2022-04-25T05:22:33.000Z","updated_at":"2024-09-09T17:15:42.000Z","dependencies_parsed_at":"2023-02-09T21:16:00.119Z","dependency_job_id":"69aea017-937b-4d19-a5a9-c3d4f07f3323","html_url":"https://github.com/denoland/meet-me","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denoland%2Fmeet-me","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denoland%2Fmeet-me/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denoland%2Fmeet-me/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denoland%2Fmeet-me/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/denoland","download_url":"https://codeload.github.com/denoland/meet-me/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234803499,"owners_count":18889263,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["calendar","calendly","deno","deno-deploy"],"created_at":"2024-09-27T06:24:35.723Z","updated_at":"2025-10-01T01:30:23.945Z","avatar_url":"https://github.com/denoland.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](./doc/screenshot.png)\n\n# Meet Me\n\n\u003e [calendly](https://calendly.com/) clone in Deno\n\n## Google Trust and Safety verification\n\nThis app uses Google Calendar API and the app is now being reviewed by Google's\nTrust and Safety team for verification. If you'd like to try this app by\nyourself at this point, please click the below links and approve the app on your\nown risk while signing in to the app.\n\n![](./doc/screenshot_consent_screen0.png)\n\n![](./doc/screenshot_consent_screen1.png)\n\n## Development\n\nFirst copy `.env.example` to `.env` and set `CLIENT_ID`, `CLIENT_SECRET`, and\n`FIREBASE_*` appropriate values.\n\nThen run the deployment locally:\n\n```sh\ndeno task dev\n```\n\nThis starts Meet Me service in your local machine.\n\n## Testing\n\nStart the firestore emulator by the below command (You need Node.js and Java \u003e\n11 to run the emulator):\n\n```\ndeno task firestore-emulator\n```\n\nIn another terminal window, run the below command to run the unit tests:\n\n```\ndeno task test\n```\n\n## Visual Design\n\nhttps://www.figma.com/file/P0XsTDIeiwNhm8jFS03gwz/Deno-Cal\n\n## LICENSE\n\nMIT License\n\n## Notes\n\n### How to configure GCP Resources\n\nYou need [Google Cloud Platform](https://console.cloud.google.com/) Project to\ndevelop this app.\n\n- First go to [GCP Console](https://console.cloud.google.com/) and create a\n  project.\n- Then go to `APIs \u0026 Services`.\n- Enable Calendar API from `+ ENABLE APIS AND SERVICES` link.\n  ![](doc/enable-api.png)\n- In `OAuth consent screen` tab, set up the project's consent screen.\n- In `Credentials` tab, create `OAuth client ID` with `Web application` type.\n  - Under Authorized JavaScript origins add `http://localhost:3000`\n  - Under Authorized redirect URIs add `http://localhost:3000/api/authorize`\n- Then you'll find client id and client secret of the oauth client.\n- Copy those values and set them as `CLIENT_ID` and `CLIENT_SECRET` in `.env`\n\nNow setup Firebase:\n\n- Go to https://console.firebase.google.com/ and click Create a project.\n- Select the project you created above.\n- Select your preferred billing and analytics options.\n- Wait while your Firebase app is created.\n- From the Overview screen add a Web app (currently represented with a `\u003c/\u003e`\n  icon).\n- Don't add Firebase hosting, as you'll be using Deno Deploy.\n- You'll be presented with some JavaScript code including `firebaseConfig`. Copy\n  those values to the appropriate place in `.env`. (If you didn't enable\n  analytics there will not be a value for `FIREBASE_MEASUREMENT_ID`).\n- Click back to the Overview screen, click Cloud Firestore, and then Create\n  database.\n- Start in production mode.\n- Select a Firestore location, the default is probably good, and then Enable.\n- Click to the Rules tab, copy the content of `firestore.rules`, and click\n  Publish.\n- Now head to Overview, then Storage. You might need to click See all Build\n  features.\n- Under the Rules tab, copy the content of `storage.rules`, and click Publish.\n\nYou should now be able to start the app locally with the instructions in\n[Development](#development). If you see a an error similar to\n`Could not reach Cloud Firestore backend` then you may need to wait awhile for\nFirestore to be available.\n\nFor Deno Land employees:\n\n- You can find these values in `Meet Me API Credentials` section in the password\n  manager.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenoland%2Fmeet-me","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdenoland%2Fmeet-me","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenoland%2Fmeet-me/lists"}