Home | Escopo e Cronograma | Processo | Design/Mockups | Configuração | Arquitetura | Código | BD | Qualidade | Utilização |
---|
Backend
Linguagem
Para o backend, foi escolhida a linguagem Kotlin devido a sua compatibilidade com a JVM, fácil configuração de ambiente, sintaxe simples e vários recursos disponíveis na sua biblioteca padrão.
Framework
Para o rápido desenvolvimento da aplicação, a escolha do framework recaiu sob um que tivesse extensa documentação e grandes exemplos na internet: o Spring Boot
Gerenciador de Dependências
Escolhemos o Gradle pois sua configuração, tanto instalação como a adição de dependências, se dá de forma muito mais simples do que com o Maven.
⚙ ️
Arquitetura Para o backend, foi decidido que seria utilizado um modelo de arquitetura em camadas para facilitar o desenvolvimento mas ainda assim manter uma consistência entre lógica de negócio e recursos do framework/aplicação
Além disso, outras práticas incluem:
- TDD
- DDD
- Documentação como código
- Tratamento/Apresentação adequada de erros
🔒
Segurança Para controle de acesso e autenticação foi decidido utilizar o OAuth 2
☁
Cloud Os recursos da AWS utilizados foram:
- S3 storage
- EKS
🐳
Containers Para facilitar a configuração em outros ambientes e a escalabilidade das aplicações, foi optado por usar containers Docker.
Containers encapsulam aplicações e as executam em um ambiente isolado.
Diagrama de Deploy
Links Úteis
- https://www.geeksforgeeks.org/spring-boot-architecture/
- https://medium.com/@RogelioOrts/layered-architecture-spring-boot-af7dc071d2b5
- https://auth0.com/pt/intro-to-iam/what-is-oauth-2
- https://docs.spring.io/spring-security/reference/servlet/oauth2/index.html
- https://medium.com/cwi-software/primeiros-passos-com-docker-conceitos-b%C3%A1sicos-%C3%A0-cria%C3%A7%C3%A3o-de-sua-primeira-imagem-f6ac2a3c9d25
- https://www.freecodecamp.org/news/a-beginners-guide-to-docker-how-to-create-your-first-docker-application-cc03de9b639f/
Materiais de Estudo
Frontend
[Gratuitos]
Documentação oficial [React Native]: https://reactnative.dev/
Documentação oficial [Expo]: https://docs.expo.dev/
Documentação oficial [React]: https://react.dev/
Introdução a React + Expo: https://dev.to/itminds/a-beginners-guide-to-mobile-development-in-react-native-with-expo-4f2o
Montando um app do zero: https://codegenitor.medium.com/setting-up-expo-react-native-app-with-typescript-and-testing-af4d899a5875
[Pagos]
Curso Expo Alura: https://www.alura.com.br/curso-online-react-native-expo-navegacao-menu-suporte-telas
Curso React Native Alura: https://www.alura.com.br/formacao-react-native
Curso React: https://www.alura.com.br/curso-online-react-desenvolvendo-javascript
Curso React Native + Expo Udemy: https://www.udemy.com/course/curso-react-native/
Curso React: https://www.udemy.com/course/react-do-zero-a-maestria-c-hooks-router-api-projetos/
Backend
[Gratuitos]
Documentação oficial: https://kotlinlang.org/docs/home.html
Introdução à Kotlin: https://medium.com/swlh/quick-guide-to-kotlin-8f340a0085ce
Curso Kotlin Iniciante: https://www.youtube.com/watch?v=hEbb9cckl9c&list=PLizN3WA8HR1z1HJy0uSjNe4zhmzJNplb3&pp=iAQB
Montando uma API Spring Boot com Kotlin: https://medium.com/nerd-for-tech/kotlin-spring-boot-tutorial-part-1-creating-rest-endpoints-for-a-task-app-148e4aaa7d0f
[Pagos]
Curso Completo Alura:https://www.alura.com.br/formacao-kotlin
Curso Kotlin Udemy: https://www.udemy.com/course/kotlin-for-java-developers/
Curso Kotlin com Spring Boot: https://www.udemy.com/course/build-restful-apis-using-kotlin-and-spring-boot/