{"id":26190337,"url":"https://github.com/m9m9ra/ws-redi-mobile","last_synced_at":"2026-04-26T02:32:02.474Z","repository":{"id":227256556,"uuid":"770785848","full_name":"m9m9ra/ws-redi-mobile","owner":"m9m9ra","description":"worldskills 2024 mobile developer app","archived":false,"fork":false,"pushed_at":"2025-03-04T16:17:30.000Z","size":2023,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-26T13:44:30.348Z","etag":null,"topics":["application","championship","ios","react-native","typeorm","typescript"],"latest_commit_sha":null,"homepage":"https://m9m9ra.github.io","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/m9m9ra.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-12T06:45:31.000Z","updated_at":"2025-05-03T15:57:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"955d13a2-0447-4134-a20c-37dac7f41f5b","html_url":"https://github.com/m9m9ra/ws-redi-mobile","commit_stats":null,"previous_names":["m9m9ra/ws-redi-mobile"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/m9m9ra/ws-redi-mobile","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m9m9ra%2Fws-redi-mobile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m9m9ra%2Fws-redi-mobile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m9m9ra%2Fws-redi-mobile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m9m9ra%2Fws-redi-mobile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m9m9ra","download_url":"https://codeload.github.com/m9m9ra/ws-redi-mobile/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m9m9ra%2Fws-redi-mobile/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32284333,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T18:29:39.964Z","status":"online","status_checked_at":"2026-04-26T02:00:05.962Z","response_time":129,"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":["application","championship","ios","react-native","typeorm","typescript"],"created_at":"2025-03-12T00:53:27.436Z","updated_at":"2026-04-26T02:32:02.456Z","avatar_url":"https://github.com/m9m9ra.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Worldskills 2024](https://pro.firpo.ru/)  mobile developer app \n\n\u003cp\u003eРазработка велась с использованием последней стабильной версии React Native на момент проекта.\\nЭтот проект представляет собой шаблон чемпионатного приложения, использующий метод управления состоянием Mobx в React Native. Он включает операции CRUD (Создание, Чтение, Обновление, Удаление) для пользователей и аутентификацию, что делает его реалистичным примером для реальных сценариев. Чтобы продемонстрировать, что нативные приложения можно создавать с помощью React Native, в пользовательском интерфейсе проекта использовались компоненты, максимально приближенные к нативным, вместо стандартных компонентов React Native.\n\\n\nРазработка велась с использованием последней стабильной версии React Native на момент проекта..\u003c/p\u003e\n\n![Worldskills 2024](https://github.com/m9m9ra/ws-redi-mobile/blob/main/assets/preview.png)\n\n## Getting Started\n\n```\nnpm i\n```\n\n\n```\nnpx react-native start\n```\n\n```\nchose ios / android\n```\n\n### API Integration\n\u003cp\u003eA Rest API is used for user operations, and the API code is not included in this repository. You can develop API endpoints according to the UserModel class in the project to make it suitable for use. You need to update the BASE_URL value in the '.env' file content to match your API structure. You can find the naming used for CRUD and authentication endpoints in the UserService class, and you may need to revise it according to your API structure.\u003c/p\u003e\n\n#\n### Supabase Integration\n\u003cp\u003eThe project uses Storage for uploading images and accessing them via URL, Extensions and Firestore Database for email infrastructure and Functions for triggering email sending. Therefore, you will need a supabase project.\u003c/p\u003e\n\n\u003c!-- #\n### Firebase Trigger Email Extension Integration\n\u003cp\u003eFor email verification, a verification code is sent to the email address provided by the user. The Firebase Trigger Email extension is used for email infrastructure. You need to activate this extension via the Firebase console. Besides verification code sending, the email infrastructure is used for different scenarios as well. Email sending is triggered by Firebase Cloud Functions.\u003c/p\u003e --\u003e\n\n\u003c!-- #\n### Firebase Cloud Functions Integration\n\u003cp\u003eThe project already includes the functions folder and firebase.json file to be added with Cloud Functions. If you specify that the functions/index.js file should be overwritten while integrating cloud functions, you will delete the cloud functions that you need to deploy for the email infrastructure from the file. You can skip the overwrite step with the \"No\" option, or if it is overwritten, you can copy and deploy the functions again from the relevant file in this Github repo.\u003c/p\u003e --\u003e\n\n## Screenshoots\n###### Hover the mouse cursor over the images for explanations.\n\u003cimg src=\"https://github.com/m9m9ra/ws-redi-mobile/blob/main/assets/Home.png\" title=\"Login Screen\" height=\"500\"\u003e\u003cimg src=\"https://github.com/m9m9ra/ws-redi-mobile/blob/main/assets/Onboarding%201.png\" title=\"Forgot Password Screen\" height=\"500\"\u003e\u003cimg src=\"https://github.com/m9m9ra/ws-redi-mobile/blob/main/assets/Splash.png\" title=\"Register Screen\" height=\"500\"\u003e\n\u003c!-- \u003cimg src=\"https://github.com/enescerrahoglu/template_app_bloc/assets/76053138/4af3da17-a98c-409b-a5d2-ab70384948c6\" title=\"Verificaton Code Screen\" height=\"500\"\u003e\n\u003cimg src=\"https://github.com/enescerrahoglu/template_app_bloc/assets/76053138/78905109-f0b5-489c-a07d-77a46c16a7a9\" title=\"Verification code and welcome emails\" height=\"500\"\u003e --\u003e\n\u003c!-- \u003cimg src=\"https://github.com/enescerrahoglu/template_app_bloc/assets/76053138/c290e25a-38af-405f-a2a8-cea9cd27d8b5\" title=\"Update Profile Screen\" height=\"500\"\u003e\n\u003cimg src=\"https://github.com/enescerrahoglu/template_app_bloc/assets/76053138/681425e4-9848-4892-9b4a-eeac1a9f1b44\" title=\"View/Edit Profile Photo Screen\" height=\"500\"\u003e\n\u003cimg src=\"https://github.com/enescerrahoglu/template_app_bloc/assets/76053138/74a98cd5-9317-4889-b168-6d4be3086ce6\" title=\"Home Screen\" height=\"500\"\u003e\n\u003cimg src=\"https://github.com/enescerrahoglu/template_app_bloc/assets/76053138/4f0c7aed-be1e-4239-9893-6b8632367544\" title=\"Settings Screen\" height=\"500\"\u003e\n\u003cimg src=\"https://github.com/enescerrahoglu/template_app_bloc/assets/76053138/dd0145be-f13c-4043-a096-5d63132750a9\" title=\"Change app theme\" height=\"500\"\u003e\n\u003cimg src=\"https://github.com/enescerrahoglu/template_app_bloc/assets/76053138/40b2e5e8-84c4-424f-a94f-67bc9ad8d599\" title=\"Change app language\" height=\"500\"\u003e --\u003e\n\n\u003c!-- ## Problems you may encounter\n\u003cp\u003eTo prevent [...lowerCamelCase identifier] problems caused by the easy_localization package, it will be sufficient to add the [constant_identifier_names: false] definition under the [rules:] statement in the analysis_options.yaml file in the project directory.\u003c/p\u003e\n\n![problem_1](https://github.com/enescerrahoglu/template_app_bloc/assets/76053138/d1ca7d89-4067-432d-8c01-7c0a3b72f232) --\u003e\n\n## Things to know\n\u003cp\u003eAfter adding new string definitions to the [language-code].json (such as en.json, tr.json) file, run the following codes in the terminal one by one so that the easy_localization structure can recognize these changes:\u003c/p\u003e\n\n\u003c!-- ```\ndart run easy_localization:generate --source-dir assets/translations\n``` --\u003e\n\n\u003c!-- \n```\ndart run easy_localization:generate -S assets/translations -f keys -o locale_keys.g.dart\n``` --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm9m9ra%2Fws-redi-mobile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fm9m9ra%2Fws-redi-mobile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm9m9ra%2Fws-redi-mobile/lists"}