Projeto criado como componente A do MVP da disciplina de Back-end avançado do curso de pós-graduação em Desenvolvimento Full Stack da PUC-Rio.
Front-end construído com Next.js e Material UI para busca e envio de referências de Artes Visuais em séries de tv e filmes. Utiliza o S3 da Amazon para armazenamento de imagens enviadas pelo formulário da página "Send a reference" (detalhes mais abaixo em "Features"). Utiliza também os componentes B - Art Refs API, C - Auth Service, D - Google Image Service criados em conjunto com este trabalho.
É necessário a criação de um arquivo .env.local
tanto para rodar o projeto com Docker quanto sem.
Após ter as informações do S3 descritas abaixo, crie um arquivo chamado .env.local
com o seguinte conteúdo:
NEXT_PUBLIC_ART_REFS_API_URL=http://127.0.0.1:4000
AWS_ACCESS_KEY_ID=stringaqui
AWS_SECRET_ACCESS_KEY=stringaqui
AWS_BUCKET_NAME=stringaqui
AWS_REGION=stringaqui
- Substitua
stringaqui
pelas suas informações do S3. NEXT_PUBLIC_ART_REFS_API_URL
é a url onde deve estar rodando o serviço B - Art Refs API.- Documentação do S3 para obter Access Key Id, Secret Access Key, Bucket Name e Region aqui.
- Clone o projeto
- Cole o arquivo
.env
preenchido e descrito na seção anterior na raiz do projeto. - Na raiz do projeto, crie a imagem:
docker build -t got-that-ref .
- Rode a imagem criada:
docker run -p 3000:3000 got-that-ref
- Clone o projeto
- Cole o arquivo
.env
preenchido e descrito na seção anterior na raiz do projeto. - Na raiz do projeto, rode o comando:
npm install
- Após a instalação concluir, rode o comando:
npm run dev
Na home é exibida uma listagem de filmes e séries que possuem referencias cadastradas. Todas as operações (exceto da busca/inclusão da imagem da obra de arte referenciada) em filmes, séries e referências são executadas através de uma API Graphql também desenvolvida para este trabalho.
No header é possível fazer a busca pelo título da série ou filme.
Ao clicar em um item da listagem na home, são exibidas as informações sobre as referências. A imagem da esquerda é a que foi enviada pelo formulário "Send a reference" e a imagem da direita é retornada por uma API Rest que se comunica com a API Graphql, ambas desenvolvidas para este trabalho.
Login/Signup/Logout/Mudança de senha implementados com API rest também desenvolvida para este trabalho.
Na conta de tipo admin é possível visualizar uma lista com as referências que foram enviadas. É possível editar a referencia para incluir mais informações, aprovar ou rejeitar e as operações no banco de dados ficam a cargo da API Graphql também desenvolvida para este trabalho.
Formulário para envio da referência em um filme ou série com opção de enviar uma imagem da cena onde aparece a referência. A funcionalidade autocomplete no campo título utiliza uma query da API Graphql também desenvolvida para este trabalho.