{"id":18509051,"url":"https://github.com/high5apps/organize-rn","last_synced_at":"2025-05-14T10:16:05.247Z","repository":{"id":252322512,"uuid":"463804999","full_name":"High5Apps/organize-rn","owner":"High5Apps","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-08T02:45:20.000Z","size":9674,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-08T03:24:09.198Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/High5Apps.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-26T09:07:40.000Z","updated_at":"2025-02-08T02:45:24.000Z","dependencies_parsed_at":"2024-12-25T20:10:42.044Z","dependency_job_id":"596a5e77-0e2a-4ede-94cc-b2ed82ca744a","html_url":"https://github.com/High5Apps/organize-rn","commit_stats":null,"previous_names":["high5apps/organize-rn"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/High5Apps%2Forganize-rn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/High5Apps%2Forganize-rn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/High5Apps%2Forganize-rn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/High5Apps%2Forganize-rn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/High5Apps","download_url":"https://codeload.github.com/High5Apps/organize-rn/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239221944,"owners_count":19602536,"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":"2024-11-06T15:16:19.318Z","updated_at":"2025-05-14T10:16:05.238Z","avatar_url":"https://github.com/High5Apps.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# organize-rn\n\n[organize-rn](https://github.com/High5Apps/organize-rn) is a [React Native](https://reactnative.dev/) client for the [organize-backend](https://github.com/High5Apps/organize-backend) backend server.\n\nLooking for the app? Check out \u003chttps://getorganize.app\u003e\n\n## Screenshots\n\n\u003cimg alt=\"Improve your work life\" src=\"/docs/screenshots/ios-0-improve.png\" width=19%\u003e\u0026nbsp;\n\u003cimg alt=\"Connect work coworkers\" src=\"/docs/screenshots/ios-1-connect.png\" width=19%\u003e\u0026nbsp;\n\u003cimg alt=\"Unite your voices\" src=\"/docs/screenshots/ios-2-unite.png\" width=19%\u003e\u0026nbsp;\n\u003cimg alt=\"Vote on anything\" src=\"/docs/screenshots/ios-3-vote.png\" width=19%\u003e\u0026nbsp;\n\u003cimg alt=\"Private by design\" src=\"/docs/screenshots/ios-4-private.png\" width=19%\u003e\n\n## Development Setup\n\n1. Clone the repo from GitHub\n   ```sh\n   git clone git@github.com:High5Apps/organize-rn.git \\\n      \u0026\u0026 cd organize-rn\n   ```\n2. If you don't already have it, install the following software on your development machine. You'll need a Mac for iOS development. Android development can happen on Mac or PC.\n   - [Xcode](https://developer.apple.com/support/xcode/) (Mac only)\n   - [CocoaPods](https://cocoapods.org/) (Mac only)\n   - [Android Studio](https://developer.android.com/studio/install)\n   - [Node](https://nodejs.org)\n   - [NPM](https://www.npmjs.com/)\n   - [VS Code](https://code.visualstudio.com/) (consider installing the following extensions)\n      - `dbaeumer.vscode-eslint`\n      - `pflannery.vscode-versionlens`\n3. Install the dependencies\n   ```sh\n   npm install\n   ```\n   For iOS development, you'll also need to install the CocoaPods dependencies\n   ```sh\n   cd ios \u0026\u0026 pod install\n   ```\n4. Start the development server\n   ```sh\n   npm start\n   ```\n5. Start the [organize-backend](https://github.com/High5Apps/organize-backend) development server\n   ```sh\n   dc up\n   ```\n6. Install and launch the app\n   ```sh\n   # On an iOS simulator\n   npm run ios\n\n   # On an Android emulator\n   npm run android\n   ```\n7. Make a change to the [TypeScript](https://www.typescriptlang.org/) code, save it, and the app will update live without needing to be reinstalled\n   - You only need to reinstall the app if you make changes to native code ([Swift](https://www.swift.org/)/[Kotlin](https://kotlinlang.org/)/[Java](https://www.java.com)/[Objective-C](https://en.wikipedia.org/wiki/Objective-C)) or add/modify any dependencies\n   - You don't even need to reinstall the app at the beginning of each development session. You can just launch the simulator or emulator, open the app, and it will automatically connect to the development server and be ready for live code updates\n\n## Testing\n\nThe following command will ensure that dependencies are compatible, then type check, lint, and unit test the code:\n```sh\nnpm test\n```\nTo run just one part of these checks, use `npm run \u003ccommand\u003e` with one of the scripts in [`package.json`](/package.json).\n\n### Unit testing\n[Jest](https://jestjs.io/) is used as the unit testing framework. [`@testing-library/react-native`](https://callstack.github.io/react-native-testing-library/) is used for unit testing components.\n\nYou can run a subset of the unit tests with `npx jest path/to/directory/or/file`. For example:\n```sh\n# Only run tests in the model directory\nnpx jest __tests__/model/\n\n# Only run tests in the App.test.tsx file\nnpx jest __tests__/App.test.tsx\n```\n\nTo run just a subset of tests in a single file, append `.only` to the relevant `describe` in the test file. To run just one test in a single file, append `.only` to the relevant tests's `it`. For more options, see the Jest docs.\n\n## Installing on a physical device\n1. Enable developer mode on your [iPhone](https://developer.apple.com/documentation/xcode/enabling-developer-mode-on-a-device) or [Android device](https://developer.android.com/studio/debug/dev-options)\n2. Connect your device to your development machine with a physical cable, or setup wireless/remote debugging\n   - For wireless debugging on iOS, you need to ensure your device is on the same wireless network as your development machine, and you likely need to disable any VPN on your development machine\n   - For wireless debugging on Android, follow [these directions](https://developer.android.com/studio/run/device#wireless). Both machines must be on the same wireless network, but you can likely leave any VPN running on both machines. Running `adb devices` may help reconnect if the connection between machines drops.\n3. There are multiple options to install and run the app:\n   - Command line\n      ```sh\n      # Install for development on Android\n      npm run android:device\n\n      # Install a release build on Android\n      npm run android:device:release\n\n      # Install for development on iOS\n      npm run ios:device\n\n      # Install a release build on iOS\n      npm run ios:device:release\n      ```\n   - Xcode\n      1. Choose a debug or release build with **Product \u003e Scheme \u003e Edit Scheme \u003e Info \u003e Build Configuration \u003e Debug or Release**\n      2. Click the Play button or `cmd+R`\n   - Android Studio\n      1. Choose a debug or release build with **Build \u003e Select Build Variant \u003e :app \u003e debug or release**\n      2. Click the play button or `ctrl+R`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhigh5apps%2Forganize-rn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhigh5apps%2Forganize-rn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhigh5apps%2Forganize-rn/lists"}