{"id":26125982,"url":"https://github.com/powersync-ja/powersync-react-native-mongodb-mbnb","last_synced_at":"2025-10-15T05:38:36.166Z","repository":{"id":268832681,"uuid":"902229878","full_name":"powersync-ja/powersync-react-native-mongodb-mbnb","owner":"powersync-ja","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-02T17:35:27.000Z","size":23334,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-07T08:12:02.018Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/powersync-ja.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-12T06:55:31.000Z","updated_at":"2025-01-02T17:35:27.000Z","dependencies_parsed_at":"2024-12-19T07:35:56.792Z","dependency_job_id":null,"html_url":"https://github.com/powersync-ja/powersync-react-native-mongodb-mbnb","commit_stats":null,"previous_names":["powersync-ja/powersync-react-native-mongodb-mbnb"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powersync-ja%2Fpowersync-react-native-mongodb-mbnb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powersync-ja%2Fpowersync-react-native-mongodb-mbnb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powersync-ja%2Fpowersync-react-native-mongodb-mbnb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powersync-ja%2Fpowersync-react-native-mongodb-mbnb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/powersync-ja","download_url":"https://codeload.github.com/powersync-ja/powersync-react-native-mongodb-mbnb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242891431,"owners_count":20202336,"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":[],"created_at":"2025-03-10T17:27:28.553Z","updated_at":"2025-10-15T05:38:31.133Z","avatar_url":"https://github.com/powersync-ja.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# An MBnB Listing Search Demo with Searchable Results when Offline Using the [PowerSync React Native SDK](https://www.npmjs.com/package/@powersync/react-native)\n\nThis is a demo application which was used to port a Realm based application to PowerSync. The original Realm\nimplementation can be [found here](https://github.com/realm/realm-js/tree/main/examples/rn-mbnb).\n\nThis repo also contains a Node.js backend API using Express and TypeScript. This API will receive the changes uploaded \nby the client and will write them back to the MongoDB database. You can run this alongside the frontend project.\n\n## Project Structure\n\nThe following shows the project structure and the most relevant files.\n```\n├── app\n│    └── powersync\n│        ├── ApiClient.ts\n│        ├── AppConfig.ts\n│        ├── AppSchema.ts\n│        ├── BackendConnector.ts\n│        └── System.ts\n│    ├── AirbnbList.tsx           - Main application screen\n│    ├── AppWrapper.tsx           - Main wrapper with PowerSync Providers\n├── backend                       - Backend server\n│    └── src\n│         ├── controllers               \n│         ├── middleware               \n│         ├── mongo               \n│         ├── util\n│    ├── Server.ts                        \n│    ├── config.ts                        \n│    ├── package.json             - Dependencies             \n├── App.js                        - App Entry point\n├── package.json                  - Dependencies\n└── README.md                     - Instructions and info\n```\n\n## Use Cases\n\nThis app focuses on showing how to use PowerSync to sync items and view them offline.\n\n## Getting Started\n\n### Prerequisites\n\n* [Node.js](https://nodejs.org/)\n* [React Native development environment](https://reactnative.dev/docs/environment-setup?guide=native)\n  * Refer to the Expo section.\n* MongoDB instance with the [sample-airbnb](https://www.mongodb.com/docs/atlas/sample-data/sample-airbnb/) dataset loaded\n  * Add the PowerSync instance to your [IP filtering](https://docs.powersync.com/installation/database-setup/security-and-ip-filtering#security-and-ip-filtering)\n* PowerSync instance, either:\n  * [Cloud instance](https://powersync.mintlify.app/installation/database-connection#create-a-powersync-cloud-instance)\n  * [Self-hosted instance](https://powersync.mintlify.app/self-hosting/getting-started)\n\n## Install Dependencies\n\nFrom the project root directory, run:\n\n```sh\nnpm install\n```\n## Set up the Environment Variables\nCopy the `.env.template` file and update the variables accordingly:\n\n```bash\ncp .env.template .env\n```\n\n## Run the App\n\nBefore running the app, start the backend server:\n\n```bash\ncd backend\nnpm install\nnpm start\n```\niOS:\n```sh\n# Run this from the project root directory\nnpm run ios\n```\n\nRun on Android:\n\n```sh\n# Run this from the project root directory\nnpm run android\n```\n\n## Learn More\n\nCheck out [the PowerSync SDK for React Native on GitHub](https://github.com/powersync-ja/powersync-js/tree/main/packages/react-native) - your feedback and contributions are welcome!\n\nTo learn more about PowerSync, see the [PowerSync docs](https://docs.powersync.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowersync-ja%2Fpowersync-react-native-mongodb-mbnb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpowersync-ja%2Fpowersync-react-native-mongodb-mbnb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowersync-ja%2Fpowersync-react-native-mongodb-mbnb/lists"}