{"id":20078757,"url":"https://github.com/wpdas/g2i-react-native","last_synced_at":"2026-06-04T13:31:17.029Z","repository":{"id":77498432,"uuid":"257373592","full_name":"wpdas/G2i-react-native","owner":"wpdas","description":"Mobile application developed using React Native for Android \u0026 iOS. This application was built for a process I'm participating [G2i] and was made from scratch using the provided wireframes to drive the initial UI development.","archived":false,"fork":false,"pushed_at":"2020-04-24T05:43:38.000Z","size":479,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-02T13:14:46.515Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/wpdas.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":"2020-04-20T18:44:57.000Z","updated_at":"2020-10-23T19:48:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"af64cb0e-807e-4052-ba97-d487a77ca57e","html_url":"https://github.com/wpdas/G2i-react-native","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wpdas/G2i-react-native","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpdas%2FG2i-react-native","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpdas%2FG2i-react-native/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpdas%2FG2i-react-native/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpdas%2FG2i-react-native/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wpdas","download_url":"https://codeload.github.com/wpdas/G2i-react-native/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpdas%2FG2i-react-native/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33907693,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-13T15:16:29.387Z","updated_at":"2026-06-04T13:31:17.000Z","avatar_url":"https://github.com/wpdas.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![The G2i Logo](https://raw.githubusercontent.com/g2i/code-challenge-static-assets/master/g2i-web-150px.png 'The G2i logo')\n\n# Trivia Game Coding Challenge - Wenderson Pires\n\nMobile application developed using React Native for Android \u0026 iOS. This application was built for a process I'm participating [G2i] and was made from scratch using the provided wireframes to drive the initial UI development.\n\nProject developed using TypeScript and some packages for implementing features in the app. I'm also using tools for code quality, build and compiler, they are eslint, prettier, babel and others. Dynamic Context APIs is being used to create a theme provider component.\n\n**Native resources:** StyleSheet, Gesture Handler, Navigation, Platform, Vector Icons, and others;\u003c/br\u003e\n**React \u0026 third-party hooks:** createContext, useContext, useState, useSelector, useDispatch;\u003c/br\u003e\n**Third-party:** styled-components, axios, expo-font, html-entities, redux, redux-thunk;\u003c/br\u003e\n**Font:** Varela Round;\u003c/br\u003e\n**Tests:** Tested manually on Android and iOS. Despite this project hasn't automated tests, it's ready to handle tests using jest.\n\n## :art: Demo GIF\n\n![Demo](https://drive.google.com/u/0/uc?id=1LKOskOmdVE50eS0031r20dMxJtgsUOlL)\u003c/br\u003e\n[Watch the vídeo](https://drive.google.com/file/d/1_XeDj2sALDK87zcs6A8AExzkIRqxKE-u/view)\n\n## :footprints: Steps of development\n\n- Setup ESLint, Prettier and Typescript;\n- Install necessary packages;\n- Install necessary @types;\n- Setup babel for supporting import bases;\n- Convert existing .js files to .tsx / .ts;\n- Setup .gitignore properly;\n- Setup API;\n- Setup the Routers (navigator);\n- Create necessary stores (questions) for Redux and retrieve a provider;\u003c/br\u003e_I particularly prefer to use react API like context and reducer to do that but went by Redux because of the initial structure of this challange._\u003c/br\u003e\n- Create a theme provider (colours, custom fonts, etc);\n- Create Home Screen;\n- Create Quiz Screen;\n- Create Results Screen;\n- Develop the game's / app's functionality;\n- Make adjustments for Android and iOS in the UI;\n- Create an Alert when fetch data from server fails;\n- Decode the texts coming from the API request (they have html encoding);\n- Check and fix found bugs;\n- Write README.md.\n\n## :mortar_board: How to use\n\nAfter downloading the files or cloning the repository, run the following commands:\n\n```bash\n# Updates the required packages and dependencies:\nyarn\n```\n\n```bash\n# Runs the app on an Android Device / Emulator using Expo\nyarn android\n```\n\n```bash\n# Runs the app on an iOS simulator using Expo\nyarn ios\n```\n\n## :green_book: Good to know\n\nThe bases for the TypeScript import function are configured in the `tsconfig.json` and `babel.config.js` files:\n\n```js\n'@components': './src/components',\n'@assets': './src/assets',\n'@theme': './src/theme/index.tsx',\n'@screens': './src/screens/',\n'@store': './src/store/',\n'@routes': './src/routes/',\n'@api': './src/api/',\n```\n\n## :bowtie: Author\n\n[Wenderson Pires - Linkedin](https://www.linkedin.com/in/wenderson-pires-silva/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwpdas%2Fg2i-react-native","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwpdas%2Fg2i-react-native","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwpdas%2Fg2i-react-native/lists"}