{"id":21714872,"url":"https://github.com/zevolution/ioasys-imdb-challenge","last_synced_at":"2026-04-09T09:49:40.552Z","repository":{"id":123099183,"uuid":"379010094","full_name":"zevolution/ioasys-imdb-challenge","owner":"zevolution","description":"Ioasys IMDb Challenge","archived":false,"fork":false,"pushed_at":"2021-06-21T17:26:56.000Z","size":92,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-25T17:33:20.435Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zevolution.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-21T17:23:06.000Z","updated_at":"2021-06-21T17:27:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"f29973ba-5332-471f-a6a9-caf86ac959bf","html_url":"https://github.com/zevolution/ioasys-imdb-challenge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zevolution%2Fioasys-imdb-challenge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zevolution%2Fioasys-imdb-challenge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zevolution%2Fioasys-imdb-challenge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zevolution%2Fioasys-imdb-challenge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zevolution","download_url":"https://codeload.github.com/zevolution/ioasys-imdb-challenge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244676454,"owners_count":20491828,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-26T00:39:16.586Z","updated_at":"2025-12-31T00:04:28.973Z","avatar_url":"https://github.com/zevolution.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Desafio Pessoa Desenvolvedora Java\n\n## 🏗 O que fazer?\n\n- Você deve realizar um *fork* deste repositório e, ao finalizar, enviar o link do seu repositório para a nossa equipe. Lembre-se, **NÃO** é necessário criar um *Pull Request* para isso, nós iremos avaliar e retornar por e-mail o resultado do teste\n\n# 🚨 Requisitos\n\n- A API deve ser construída em Java (8 ou superior) utilizando Spring Framework (2.2 ou superior)\n- Implementar autenticação seguindo o padrão ***JWT***, lembrando que o token a ser recebido deve estar no formado ***Bearer***\n- Implementar operações no banco de dados utilizando ***Spring Data JPA*** \u0026 ***Hibernate***\n- **Bancos relacionais permitidos**\n    - *MySQL* (prioritariamente)\n    - *PostgreSQL*\n- As entidades deversão ser criadas como tabelas utilizando a ferramenta de migração **Flyway**. Portanto, os scripts de **migrations** para geração das tabelas devem ser enviados no teste\n- Sua API deverá seguir os padrões REST na construção das rotas e retornos\n- Sua API deverá conter documentação viva utilizando a *OpenAPI Specification* (**Swagger**)\n- Caso haja alguma particularidade de implementação, instruções para execução do projeto deverão ser enviadas\n\n# 🎁 Extra\n\n- Testes unitários\n- Teste de integração da API em linguagem de sua preferência (damos importância para pirâmide de testes)\n- Cobertura de testes utilizando Sonarqube\n- Utilização de *Docker* (enviar todos os arquivos e instruções necessárias para execução do projeto)\n\n# 🕵🏻‍♂️ Itens a serem avaliados\n\n- Estrutura do projeto\n- Utilização de código limpo e princípios **SOLID**\n- Segurança da API, como autenticação, senhas salvas no banco, *SQL Injection* e outros\n- Boas práticas da Linguagem/Framework\n- Seu projeto deverá seguir tudo o que foi exigido na seção  [O que desenvolver?](##--o-que-desenvolver)\n\n# 🖥 O que desenvolver?\n\nVocê deverá criar uma API que o site [IMDb](https://www.imdb.com/) irá consultar para exibir seu conteúdo, sua API deverá conter as seguintes funcionalidades:\n\n- Administrador\n    - Cadastro\n    - Edição\n    - Exclusão lógica (desativação)\n    - Listagem de usuários não administradores ativos\n        - Opção de trazer registros paginados\n        - Retornar usuários por ordem alfabética\n- Usuário\n    - Cadastro\n    - Edição\n    - Exclusão lógica (desativação)\n- Filmes\n    - Cadastro (somente um usuário administrador poderá realizar esse cadastro)\n    - Voto (a contagem de votos será feita por usuário de 0-4 que indica quanto o usuário gostou do filme)\n    - Listagem\n        - Opção de filtros por diretor, nome, gênero e/ou atores\n        - Opção de trazer registros paginados\n        - Retornar a lista ordenada por filmes mais votados e por ordem alfabética\n    - Detalhes do filme trazendo todas as informações sobre o filme, inclusive a média dos votos\n\n**Obs.:** \n\n**Apenas os usuários poderão votar nos filmes e a API deverá validar quem é o usuário que está acessando, ou seja, se é um usuário administrador ou não.**\n\n**Caso não consiga concluir todos os itens propostos, é importante que nos envie a implementação até onde foi possível para que possamos avaliar**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzevolution%2Fioasys-imdb-challenge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzevolution%2Fioasys-imdb-challenge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzevolution%2Fioasys-imdb-challenge/lists"}