Доработка мобильного приложения на React Native
150 000 UAHНеобходима доработка мобильного приложения которая на React Native
Доступы к проекту предоставим после соглосования.
Так же желательно знание английского (но не обязательно)
Technology Stack
8evolve was built using the following technologies:
Expo (https://docs.expo.io)
React Native (https://reactnative.dev)
Hasura (https://hasura.io/docs/1.0/graphql/core/index.html)
Dev environment: Heroku (https://evolve8-dev.herokuapp.com) -> Now hasura cloud
Production environment: Digital Ocean (https://api.8evolveapp.com) -> now cloud Hasura
Github - VCS
App repo
Firebase functions repo
Web
Stripe - Payment
Sentry - Error + Exception capturing + tracking
Firebase
Authentication: Email (previously was phone numbers)
Storage
Functions
Adobe XD - Design
GoDaddy - DNS -> CloudFlare
Twilio - SMS
SendGrid - Email
Heroku - Web app with landing pages for universal links
App Structure
The 8evolve app is built with React Native in order to have a single codebase that can be deployed to both the App Store and the Play Store.
Navigation around the app is built with react-navigation, a JS library with navigation as close to native as it gets. Network requests are all handled by Apollo and GraphQL, with a set of queries and mutations provided by Hasura.
App state was designed to give unauthenticated users the ability to explore the list of Leaders and Upcoming Community Sessions, to proactively avoid getting rejected by Apple since they require a reason behind asking users for their Personal Information.
Everything starts in App.js, where we initialize all the data needed for the app such as authenticated user information, leaders information, making sure we have the logged in user’s timezone, and initialize the different contexts used throughout the app. From there, all screens are in the screens folder, and all navigation stacks are in components. Additionally, all components we use over and over again are in the components folder, 4 in particular, TextRegular, TextMedium, TextBold, and Input, defined in components/common/Typography.js, must be used instead of Text and TextInput in order to make sure all text has the correct font. Through the App, we mainly used functional components with React Hooks, so if you’re not familiar with hooks, https://reactjs.org/docs/hooks-intro.html is a solid resource.
Switching back to the codebase of our Firebase functions, Hasura actions are defined in functions/lib/hasura_actions and Hasura Event handlers are defined in functions/lib/hasura_events. Here we use the graphql-request library to handle network requests, so all Hasura Actions and Event handlers take a client param and use it to perform Graphql requests. Additionally, all Twilio and SendGrid usage happens here, either in Hasura Actions or Hasura Events.
Across both codebases, you’ll notice that some graphql queries are defined in lib/queries.js, and some are defined in the files where they’re used. It’s always pretty easy to tell.
To implement Stripe using Payment Intents, we used tipsi-stripe (https://github.com/tipsi/tipsi-stripe). Their documentation does a pretty good job of walking you through setup and explaining their decisions. For questions, feel free to join their discord server.
Hasura: Important Note For Development
In development, make sure you go through the proper Hasura setup in order to maintain migrations locally and to be able to apply them later, instead of making changes directly https://hasura.io/docs/1.0/graphql/core/migrations/basics.html#migrations-basics is a great resource to make sure Hasura is setup and running correctly for development.
Актуальные фриланс-проекты в категории Гибридные мобильные приложения
Kotlin apk Обновить 3 запроса
1000 UAH
Есть проект на kotlin,небольшое мобильное приложение которое нужно исправить. Есть 3 ендпоина которые нужно исправить, обработку в том числе. Просьба написать время обновления и сборки апк под тест, так же стоимость. Гибридные мобильные приложения, Разработка под Android ∙ 1 день 14 часов назад ∙ 15 ставок |