{"id":20058935,"url":"https://github.com/ably-labs/ably-airtable-starter-kit","last_synced_at":"2025-06-13T17:07:47.910Z","repository":{"id":55665242,"uuid":"311933073","full_name":"ably-labs/ably-airtable-starter-kit","owner":"ably-labs","description":"A fully functional starter kit to store realtime messages from Ably into Airtable via WebHooks","archived":false,"fork":false,"pushed_at":"2020-12-18T14:03:08.000Z","size":2224,"stargazers_count":6,"open_issues_count":1,"forks_count":2,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-05-05T15:46:47.974Z","etag":null,"topics":["ably","airtable","airtable-api","nodejs","prismjs","realtime","realtime-chat","realtime-database","vuejs"],"latest_commit_sha":null,"homepage":"https://realtime-chat-storage.ably.dev/","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ably-labs.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":null,"security":null,"support":null}},"created_at":"2020-11-11T10:12:36.000Z","updated_at":"2024-11-19T18:42:30.000Z","dependencies_parsed_at":"2022-08-15T06:00:26.104Z","dependency_job_id":null,"html_url":"https://github.com/ably-labs/ably-airtable-starter-kit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ably-labs/ably-airtable-starter-kit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ably-labs%2Fably-airtable-starter-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ably-labs%2Fably-airtable-starter-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ably-labs%2Fably-airtable-starter-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ably-labs%2Fably-airtable-starter-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ably-labs","download_url":"https://codeload.github.com/ably-labs/ably-airtable-starter-kit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ably-labs%2Fably-airtable-starter-kit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259686126,"owners_count":22896054,"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":["ably","airtable","airtable-api","nodejs","prismjs","realtime","realtime-chat","realtime-database","vuejs"],"created_at":"2024-11-13T13:05:03.309Z","updated_at":"2025-06-13T17:07:47.880Z","avatar_url":"https://github.com/ably-labs.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"### A fully functional starter kit to store realtime messages from Ably into Airtable via WebHooks\n\nThis project shows how to use [Airtable](https://airtable.com/) to store realtime messages using a group chat app built with [Ably Realtime](https://www.ably.io/). \n\n\u003cimg width=\"1435\" alt=\"Demo home screen\" src=\"https://user-images.githubusercontent.com/5900152/100996623-2e479b80-3551-11eb-8fbb-336dc45d8679.png\"\u003e\n\nThe resulting demo app shows two sections. While one section shows the fully functional live group chat app, the other section shows a play-by-play description of various things happening behind the scenes in each step, along with code snippets to implement that piece of functionality. \n\nFor example, it shows when the connection with Ably is successfully set up, when and how many messages were retrieved from the Airtable database, or the live messages pushed by Ably, etc.\n\n\u003cimg width=\"1430\" alt=\"Demo chat screen\" src=\"https://user-images.githubusercontent.com/5900152/100996614-2ab41480-3551-11eb-8cd8-dfec99c73756.png\"\u003e\n\nAny new messages posted to the chat go through a profanity filter, and get automatically published to [Airtable's REST API](https://airtable.com/api) as well via [Ably's WebHooks integration](https://www.ably.io/integrations).\n\n---\n\n## Live demo\n\nCheck out this project in action at https://realtime-chat-storage.ably.dev/\n\n## How to run this project locally?\n\n1. Clone this repo using:\n\n```\ngit clone https://github.com/ably-labs/ably-airtable-starter-kit\n```\n\n2. Change directories into the project using:\n\n```\ncd ably-airtable-starter-kit\n```\n\n3. Create a new file called `.env` and add the following:\n\n```\nABLY_API_KEY=\u003cYOUR-ABLY-API-KEY\u003e\n```\n\n4. [Sign up for a free account with Ably](https://www.ably.io/) to get your API Key and replace the placeholder `\u003cYOUR-ABLY-API-KEY\u003e` in step 3 with your Ably API Key.\n\n5. Install both the NodeJS server and front-end VueJS app dependencies using:\n\n```\nnpm install\ncd ably-airtable-storage\nnpm install\ncd ..\n```\n\n6. Run the server using `node server.js` and open the app in your browser at `http://localhost:8082/`\n\n\n## The tech stack\n\n##### Frameworks/ Languages\n\n- [Vue JS](https://vuejs.org/)\n- [Node JS](https://nodejs.org/en/)\n\n##### Libraries\n\n- [Airtable SDK](https://airtable.com/api)\n- [Ably Realtime](https://ably.io/)\n- [Express](https://expressjs.com/)\n- [Axios](https://www.npmjs.com/package/axios)\n- [Bootstrap](https://getbootstrap.com/)\n- [DotEnv](https://www.npmjs.com/package/dotenv)\n- [vue-code-highlight](https://www.npmjs.com/package/vue-code-highlight)\n\n## Learn more about the project\n\nCheck out my detailed blog post (coming soon...) to understand this project in detail along with ways of extending this project to use other databases or even get realtime updates from Airtable.\n\n## Load tests and limits\n\n- All of Ably's messaging limits, broken down by package can be found in a [support article](https://support.ably.com/support/solutions/articles/3000053845-do-you-have-any-connection-message-rate-or-other-limits-on-accounts-).\n\n- As of this writing Airtable's public API has a [rate limit of 5 requests per second, per base](https://support.airtable.com/hc/en-us/articles/203313985-Public-REST-API). \n\n- We are currently performing load and performance tests on this starter kit and will update this guide with that info when it's available. If this is important to you, please [leave a message to me directly on Twitter](https://www.twitter.com/Srushtika) or reach out to Ably's support team at [support@ably.com](mailto:support@ably.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fably-labs%2Fably-airtable-starter-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fably-labs%2Fably-airtable-starter-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fably-labs%2Fably-airtable-starter-kit/lists"}