{"id":18283452,"url":"https://github.com/ungdev/integration-mobile","last_synced_at":"2025-04-09T05:42:49.078Z","repository":{"id":127178426,"uuid":"195087050","full_name":"ungdev/integration-mobile","owner":"ungdev","description":"Application for integration, 2019 version in React Native","archived":false,"fork":false,"pushed_at":"2019-09-04T08:12:06.000Z","size":5026,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-15T00:18:58.248Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/ungdev.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":"2019-07-03T16:02:27.000Z","updated_at":"2019-09-04T08:12:08.000Z","dependencies_parsed_at":"2023-03-13T11:34:31.761Z","dependency_job_id":null,"html_url":"https://github.com/ungdev/integration-mobile","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/ungdev%2Fintegration-mobile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ungdev%2Fintegration-mobile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ungdev%2Fintegration-mobile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ungdev%2Fintegration-mobile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ungdev","download_url":"https://codeload.github.com/ungdev/integration-mobile/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247987108,"owners_count":21028891,"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-05T13:09:37.162Z","updated_at":"2025-04-09T05:42:49.060Z","avatar_url":"https://github.com/ungdev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Integration Mobile\n\n## Requirement :\n\n* React Native with expo\n\n## Installation :\n\n1. Clone repository\n```\ngit clone https://github.com/ungdev/integration-mobile.git\ncd integration-mobile\n```\n2. Copy config file and edit it\n```\ncp config.js.example config.js\nnano config.js\n```\n\n3. Install dependencies :\nIf not yet install yarn : \n**Debian / Ubuntu **\n```\nsudo apt-get update \u0026\u0026 sudo apt-get install yarn\n```\n**MacOs**\n```\nbrew install yarn\n```\n**Windows**\nhttps://yarnpkg.com/latest.msi\n\nThen run :\n```\nyarn\n```\n4. Launch the app on expo :\n```\nyarn start\n```\n\n## File Architecture :\n\n* /assets/* =\u003e all font, images, files used in the app globally\n* /components/* =\u003e all react components that can be reused multiple times\n* /constants/* =\u003e to be replaced by /theme/*, store theme information like colors etc\n* /navigation/* =\u003e handle app navigation, where the user should be redirected, not the actual content\n* /Bundles/* =\u003e all the app's bundles, for example, UEBundle handle everything about UEs. One folder = One bundle (see 'Create a bundle')\n* /node_modules/* =\u003e dependencies, dont touch it\n* /screens/* =\u003e pages, content, etc (other than bundles')\n* App.js =\u003e entry point of the app\n* app.json =\u003e app infos, like version (it's important to increase it when you publish a new version)\n* config.js(.example) =\u003e configuration file for globale static variables (like integration's link)\n* README.md =\u003e this file\n\n\n## Create a bundle\n\n* Create the folder Bundles/NameOfYourBundleBundle\n* Create the bundle entry point, usually \"Main.js\" in that folder\n* Do whatever you want in that folder, add tabs, functionnalities...\n* Dont forget to implement a return button on the top left corner to return to main menu\n* Go to navigation/AppNavigator.js =\u003e add your Bundle in the list\n* Go to navigation/MainMenu.js =\u003e add a button to your app with destination equal to the Bundle name in AppNavigator\n\n## Publish on apple store\n\nBefore doing anything, be sure your code is safe, and upgrade version in app.json (dont forget to change versionCode too at the end of this file for android)\nFor version naming use the following rules :\nFirst number is for complete refactor or new years, in 2019 it was 3 (1.0.0 was the first Ionic app in 2017, 2.0.0 was the same Ionic app in 2018 and 3.0.0 was the 2019 refactor in React Native)\nSecond number is for current version, increase each new publication\nThe third number is the publication attempts, if apple refuse your app or if you just fix a bug you created in the current version, increase this number. Set it to 0 each time the second number increases.\n\n```\nyarn build:ios\nyarn upload:ios\n```\nYou will need many files, like an apns_key.p8 for example, ask everything to the last owner (Arnaud DUFOUR arnaud-dufour@hotmail.fr on 08/2019)\nThe second command will ask you to log in to your account on app store connect, you must have the rights on the project.\nExpo require an application specific password to communicate with the store. You will generate it the first time you launch the command, store it somewhere safe (it will be asked everytime you publish a new version)\nOnce the upload is over (it can take several minutes), go to https://appstoreconnect.apple.com, then to my apps and select Integration UTT in the list.\nClick on the button \"Version or plateform\", give it a name like \"vX.X.X\" and then go to that version. Fill every form, and on the build section select the build expo uploaded.\n\n\n**Your build is not there ?**\n1. Maybe the upload is not finished\nEven if expo tells you he is over, apple check the binary before you can see it in the dashboard. You will receive a mail from apple telling you when it's ok\n2. Maybe Apple's check failed\nYou will receive a mail telling you what's wrong with the binary. Its not a functionnal test, juste a code test to see if you've declared everything right, like camera usage or location.\n\nWhen you're all done, submit your version, check no then yes, and fill every checkbox for add usage except the first one.\nSubmit and you're done ! Apple will send you a mail when the app is ready for sale, or not if there's a problem with the app. It can take some days, be patient.\n\n## Publish on play store\n\n```\nyarn build:android\n```\nWhen build is over, download the apk. Go to https://play.google.com/apps/publish\nGo to Integration UTT\nOn the left, Manage Publication \u003e Version dashboard (Gestion de la publication \u003e Tableau de bord de la version)\nOn the right, Manage Version\nFor the production version, click on \"manage\"\nClick on \"Create a version\"\nUpload the apk\n\n## Icons\n\n* you can see all icons usable here : https://oblador.github.io/react-native-vector-icons/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fungdev%2Fintegration-mobile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fungdev%2Fintegration-mobile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fungdev%2Fintegration-mobile/lists"}