Sobre o app • Requisitos do Projeto • Demonstração • Tecnologias utilizadas • Arquitetura e Layout • Metodologia de trabalho • Execução do Projeto • Autores
O projeto integrador faz parte do ciclo de finalização do curso iOS mobile developer desenvolvido pela Digital House Brasil.
Sabe aquele momento que você deseja assistir um bom filme mas não sabe como decidir? É pra suprir essa necessidade que criamos o aplicativo Movieroll. O objetivo do app é roletar filmes utilizando como filtro gêneros, nivel de exigência, data de lançamento e plataformas de streaming. Basta escolher um ou mais filtros que nós sugerimos um filme pra você. O aplicativo ainda apresenta uma tela com os principais lançamentos dividos em gêneros e uma tela de perfil de usuário onde existe a função histórico que guarda os filmes que ele ja roletou, favoritos e filmes assistidos. Enquanto o filme estiver nestas listas ele não aparece mais na roleta, e só volta a aparecer se o usuário ir em configurações e resetar cada uma. Para o usuário ter acesso ao histórico é necessário efetuar login, mas para usufruir das outras funcionalidades do app não é necessário logar.
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 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 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 de descrição do item;
- Tela de listagem de características;
- 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.
Telas Principais: Fluxo
Lancamentos.mp4
Roleta.mp4
Perfil.mp4
Login: Fluxo
Cadastrar.mov
Login.Email.Senha.mov
Login.Google.mov
Login.Facebook.mov
- Zoom
- Xcode 13.4
- Git - GitFlow
- Cocoapods
- Marvel
- Creative Cloud (Photoshop e Illustrator)
- Firebase - Realtime e Storage
- CoreData
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.
- Layout: O app foi construído em grande parte por meio de Storyboard. Para fins de estudo, desenvolvemos as telas abaixo em ViewCode.
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 culminam 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.
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/vhenriquebm/MovieRoll.git>
# Acesse a pasta do projeto no terminal/cmd
$ cd MovieRoll
# Execute o comando *pod install* para iniciar o projeto com as libs necessárias
$ pod install
# Abra o projeto no XCode
$ open MovieRoll.xcworkspace
Vitor Henrique
Ygor Silva
Bruno Bezerra
Renato Yoshinari
Qualquer dificuldade na instalação do Xcode ou na execução do projeto, estamos a disposição no email: vybrar@gmail.com