OurProgress é uma aplicação Android desenvolvida para entusiastas de cinema que desejam gerir a sua lista de filmes para ver (watchlist), descobrir novos títulos através de sugestões aleatórias e manter um registo personalizado de obras cinematográficas.
A aplicação integra a API externa OMDB para obter informações detalhadas sobre filmes e utiliza uma base de dados local para permitir que os utilizadores adicionem os seus próprios filmes manualmente.
- Autenticação: Sistema de login integrado com Firebase e suporte para Google ID / Credential Manager.
- Watchlist Personalizada: Gestão de uma lista de filmes "a ver", que combina títulos provenientes da API e filmes inseridos manualmente pelo utilizador.
- Pesquisa de Filmes: Procura de títulos em tempo real utilizando a OMDB API.
- Sistema de Match (Sugestões): Sugere filmes aleatórios com base em categorias específicas (ex: Sci-Fi, Horror, Documentários) através da leitura de ficheiros CSV internos.
- Adição Manual: Permite ao utilizador registar filmes que não constam nas bases de dados globais.
- Interface Moderna: Utiliza Material Design,
RecyclerViewpara listagens fluidas eSwipeRefreshLayoutpara atualização de dados.
- Linguagem: Java.
- Arquitetura de Dados: Room Persistence Library para armazenamento local da watchlist e dados do utilizador.
- Networking: Retrofit 2 e Gson para comunicação com a OMDB API.
- Backend & Auth: Firebase (Auth, Firestore e Realtime Database).
- Processamento de Imagem: Picasso para o carregamento e cache de posters de filmes.
- UI/UX: Componentes de Navegação Android, Material CardView e Bottom Navigation.
O código está organizado nos seguintes pacotes principais:
activity: Contém as classes de interface, como aLoginActivity,MenuActivity(ecrã principal) eMatchActivity.adapter: Gere a ligação entre os dados e as vistas (ex:MovieAdapter,CategoryAdapter).api: InterfaceOmdbApique define os endpoints de comunicação com o serviço externo.database: Configuração do Room DB e DAOs para acesso aos dados locais.model: Classes de dados representativas de Filmes, Utilizadores e itens da Watchlist.
- Pré-requisitos:
- Android Studio Jellyfish ou superior.
- SDK de Android (Compile SDK 36).
- Configuração de APIs:
- É necessária uma chave da API OMDB configurada no
MovieRepository. - O ficheiro
google-services.jsondeve estar presente na pastaapp/para o funcionamento do Firebase.
- Compilação:
- Sincronize o projeto com os ficheiros Gradle.
- Execute a aplicação num emulador ou dispositivo físico com Android 7.0 (API 24) ou superior.
A aplicação requer acesso à Internet para carregar detalhes dos filmes e autenticar o utilizador.