{"id":16719558,"url":"https://github.com/addingama/onestopclick","last_synced_at":"2025-03-15T11:27:24.947Z","repository":{"id":123259097,"uuid":"97903526","full_name":"addingama/OneStopClick","owner":"addingama","description":null,"archived":false,"fork":false,"pushed_at":"2017-10-10T02:22:29.000Z","size":25159,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-20T17:55:18.240Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Objective-C","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/addingama.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":"2017-07-21T03:47:10.000Z","updated_at":"2017-08-29T07:48:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"ed08048d-5e3a-4487-bc38-209cd4dc00d1","html_url":"https://github.com/addingama/OneStopClick","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addingama%2FOneStopClick","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addingama%2FOneStopClick/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addingama%2FOneStopClick/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addingama%2FOneStopClick/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/addingama","download_url":"https://codeload.github.com/addingama/OneStopClick/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243722638,"owners_count":20337236,"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-10-12T21:43:48.925Z","updated_at":"2025-03-15T11:27:24.925Z","avatar_url":"https://github.com/addingama.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  OneStopClick\n[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/)\n\n* Standard compliant React Native App Utilizing [Ignite](https://github.com/infinitered/ignite)\n\n## :arrow_up: How to Setup\n\n**Step 1:** git clone this repo:\n\n**Step 2:** cd to the cloned repo:\n\n**Step 3:** Install the Application with `yarn` or `npm i`\n\n**Step 4:** Download [FBSDK](https://developers.facebook.com/docs/ios/) and place it under `Documents` and rename to `FacebookSDK`\n\n**Step 5:** Run `react-native link` on the root folder\n\n**Step 6:** Setup Social Login\n  - ***iOS:***\n    - open terminal and execute `cd ios`\n    - install POD by running this command `pod install`\n    - open your project using xcode and try to run from xcode. If there any error then fix it in xcode\n  \n  - ***Android:***\n    - None\n\n\n## :arrow_forward: How to Run App\n\n1. cd to the repo\n2. Run Build for either OS\n  * for iOS\n    * run `react-native run-ios`\n  * for Android\n    * Run Genymotion\n    * run `react-native run-android`\n\n## :no_entry_sign: Standard Compliant\n\n[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)\nThis project adheres to Standard.  Our CI enforces this, so we suggest you enable linting to keep your project compliant during development.\n\n**To Lint on Commit**\n\nThis is implemented using [husky](https://github.com/typicode/husky). There is no additional setup needed.\n\n**Bypass Lint**\n\nIf you have to bypass lint for a special commit that you will come back and clean (pushing something to a branch etc.) then you can bypass git hooks with adding `--no-verify` to your commit command.\n\n**Understanding Linting Errors**\n\nThe linting rules are from JS Standard and React-Standard.  [Regular JS errors can be found with descriptions here](http://eslint.org/docs/rules/), while [React errors and descriptions can be found here](https://github.com/yannickcr/eslint-plugin-react).\n\n## :closed_lock_with_key: Secrets\n\nThis project uses [react-native-config](https://github.com/luggit/react-native-config) to expose config variables to your javascript code in React Native. You can store API keys\nand other sensitive information in a `.env` file:\n\n```\nAPI_URL=https://myapi.com\nGOOGLE_MAPS_API_KEY=abcdefgh\n```\n\nand access them from React Native like so:\n\n```\nimport Secrets from 'react-native-config'\n\nSecrets.API_URL  // 'https://myapi.com'\nSecrets.GOOGLE_MAPS_API_KEY  // 'abcdefgh'\n```\n\nThe `.env` file is ignored by git keeping those secrets out of your repo.\n\n\n## Coding Environment\n\nTo contribute to this project, you need to install \n\n- `node` \u0026 `npm` or `yarn`\n- `ignite-cli`\n- `react-native-cli`\n- Visual Studio Code\n  - Extensions :\n    - ESLint\n    - Javascript Standard Style\n    - Sonarqube\n\nThose program and extensions will be helpfull to make the code standarized.\n\n## Code Structures\n\nThe structures separate into two main groups named `App` and `Tests`. All test files must be mapped according to file path in `App` folder with prefix `Test` in the end of the file name.\n\n- ***Components***\n\n  All dummy or custom component that not directly related to redux are stored here. For example `ProgressIndicator`.\n\n  Each component have their own style file. To generate a component and the style, run `ignite g component \u003cComponentName\u003e`\n\n- ***[Containers](/App/Containers/README.md)***\n\n  Containers are the screen for our application and related to redux. Container also have their own style file. To generate a container, run ` ignite g container \u003cContainerName\u003e`.\n\n  If you want to add another screen then you should save in this folder.\n\n- ***Redux***\n\n  Generate redux related to our screen by run `ignite g redux \u003cReduxName\u003e`. You do not need any additional setup for each redux file.\n\n- ***Saga***\n\n  Saga is side effect handler for redux. Saga event will be triggered when specified redux action dispatched. For example, `login request`, `register request`. To generate saga related to our redux by run `ignite g saga \u003cSagaName\u003e`. \n  \n  You still need to update `sagas/index.js` to subscribe to redux action.\n\n- ***Service***\n\n  `Api.js` is the file that contain all endpoint to our api at http://onestopclick.tk, If you want to call api from another domain then create another file in this directory. After that define those new api in `sagas/index.js` then pass it to your redux.\n\n\n  `StorageService.js` is the file that will be used as a layer for accessing the `AsyncStorage`.\n\n- ***Model***\n\n  This directory is used to define form model, for now only support `CustomInputField` that will be generated by component `FormGenerator.js`\n\n- ***Navigation***\n\n- ***[Themes](/App/Themes/README.md)***\n\n- ***[Lib](/App/Lib/README.md)***\n\n- ***[I18n](/App/I18n/README.md)***\n\n\n\n\n\n## Troubleshooting\n\nList all possible issue and how to solve it when initiating this app\n\n\n\n\n## Release The Application\n\n- [Android](documentations/release_android.md)\n- [iOS](documentations/release_ios.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faddingama%2Fonestopclick","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faddingama%2Fonestopclick","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faddingama%2Fonestopclick/lists"}