• Sobre • Requisitos do Projeto • Preview do Projeto • Tecnologias utilizadas • Arquitetura • Metodologia de trabalho • Executar o Projeto • Autores • Licença •
O projeto integrador faz parte do ciclo de finalização do curso iOS mobile developer desenvolvido pela Digital House Brasil em parceria com o Santander Universidades pelo projeto Becas Santander.
O aplicativo desenvolvido se chama Jeffrey e tem por finalidade sortear filmes dentro da plataforma utilizando como parâmetro gêneros e streamings setados pelo usuário. O aplicativo ainda apresenta diversos títulos na sua home principal, o usuário tem a opção de guardar listas de favoritos e já vistos para que não seja carregadas como opções no botão de sorteio, e uma tela de de busca de informações onde se pode realizar busca de títulos específicos.
Para este projeto está sendo consumida a API do The Movie DataBase, conforme uma das exigências de entrega do projeto: consumo de API.
O Santander Coders Mobile é uma experiência de 6 meses de imersão para aprender a desenvolver aplicativos na plataforma iOS, tem como objetivo dar oportunidades reais para pessoas que querem transformar suas vidas por meio da educação de qualidade.
O projeto integrador deve estar em conformida com os seguintes tópicos;
- Deve possuir um design em todas as telas utilizando auto layout;
- Aplicação do POO.
- Deve possuir navegação entre telas (Navigation e Modal);
- Tratativas de erros;
- Deve consumir uma API;
- Deve funcionar em modo offline;
- A arquitetura deve ser MVVM;
- O código precisa estar comentado;
- Testes Unitários;
- O app deve conter, pelo menos, os seguintes componentes do UIKit: (UITextField, UIButton, UILabel, UICollectionView e UITableView).
- O app deve possuir as seguintes features:
- Tela de carregamento;
- Tela de login (Facebook e Google são obrigatórios);
- Tela inicial que deve conter um resumo das funcionalidades do app;
- Tela de descrição do item;
- Tela de listagem de características;
- Opções para compartilhamento em redes sociais;
- Todo o trabalho deve ser feito utilizando o GitFlow;
- Ao final, o ReadMe deve estar atualizado com screenshots das telas do app e descrição detalhada das funcionalidades.
- Miro
- Trello
- Xcode 12.4
- Atom
- Postman
- JSon Export
- Git - GitFlow
- Cocoapods
- Figma
- Canva Pro
- Ninja Mock
- Firebase - Realtime e Storage
- CoreData
- SQLite
- Fastlane
- Bitrise
Este projeto foi desenvolvido dentro do padrão de projeto Model-View-ViewModel (MVVM), composto pelos seguintes elementos:
- Model: Camada de logística de negócios que impulsiona a aplicação e quaisquer regras de negócios, é responsável pelos dados;
- View: Camada de interface de usuário, responsável pela aparência da aplicação
- ViewModel: Responsável por ser a ligação principal dentro do MVVM, a ViewModel coordena as operações entre a view e as camadas model, ela será responsável por expor métodos, comandos e propriedades que mantém o estado da View, bem como manipular a Model com resultados de ações da View.
Este projeto utilizou como metodologia principal de trabalho, o padrão ágil implementado com o Scrum. Este é uma estrutura voltada para o trabalho em equipe, estimulando as equipes a aprenderem com suas experiências, se organizarem enquanto resolvem um problema e refletirem sobre os êxitos e fracassos para melhorarem continuamente, tudo isso realizado em cerimônias de acompanhamento com o time (Planning, Dailys, Retrospective) que juntas culmimam na entrega do resultado e fechamento da Sprint - período curto de trabalho pré-fixado onde uma equipe se dedica a entrega das tarefas definidas. Para de controle de versão, abordamos o fluxo de trabalho utilizando branches - GitFlow, implementando dois ambientes de código em teste e testado (develop e main), sempre que necessário novas implementações são realizadas nas branches através de features, e quando surgem problemas/bugs são solucionados através de hotfix. Também foi implementado método de integração contínua, utilizando a ferramenta Bitrise, através da lib Fastlane, que nos permite ter um controle maior sobre os possíveis problemas ocorridos no código.
Este projeto deverá ser executado:
- No sistema operacional MacOS
- No simulador do Xcode ou IPhone
💡É preciso efetuar a simulação no ambiente de desenvolvimento Xcode ou integrá-lo com Iphone para funcionar.
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, CocoaPods
# Clone este repositório
$ git clone <https://github.com/miziaalmeida/projeto-integrador-iOS.git>
# Acesse a pasta do projeto no terminal/cmd
$ cd Jeffrey
# Execute o comando *pod install* para iniciar o projeto com as libs necessárias
$ pod install
# Abra o projeto no XCode
$ open Jeffrey.xcworkspace
Copyright © 2021 Jeffrey.
Este projeto é licenciado pelo MIT.