Skip to content

Rayjay-8/murabei-test-ray

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Murabei test

Description

Esse e o teste para Desenvolvedor FullStack na Murabei Data Science, usando Docker, Python, Nextjs and sqlite3.

O objetivo deste teste e avaliar a capcidade do desenvolvedor em criar uma aplicacao Frontend e integra-la em uma API Python. Toda a aplicacao e mantida em containers Docker, e roda usando docker compose. Esta e a mesma arquitetura usada em todos os projetos internos da Murabei.

Instrucoes

O repositorio e dividido em 3 pastas:

  • _docker-compose
  • backend
  • frontend

Na pasta _docker-compose, estao os arquivos responsaveis por subir todas as imagens Docker. Um docker-compose.yml, que possui as informacoes de quais containers e imagens devem subir; um script docker-up.bash que sobe os containers baseado no arquivo docker-compose.yml; e um arquivo docker.log, que armazena todos os logs da aplicacao.

Ja na pasta backend esta a API de livros, em Python Flask. Esta API tem uma gama de operacoes basicas, como listagem de livros, criacao, busca por autor e titulo. Esta API ja esta pre-pronta, mas pode ser alterada de acordo com a sua necessidade, sem problemas.

Esta pasta possui um script build.bash, que builda a imagem docker a ser utilizada no docker-compose.yml.

E, a pasta frontend, onde devem ser colocados codigos do FE. Aqui na Murabei, utilizamos o NextJS como framework de React, logo, seu FE deve ser desenolvido em NextJS, pelo menos, na versao 13, que ja possui Server Components e Server Actions.

Inicializacao

Clone o repositorio do Github, e va na pasta backend, e rode o script build.bash. Esse script ira buildar uma imagem docker local para o seu backend. Depois, va na pasta _docker-compose e rode o script docker-up.bash, que ira subir o docker-compose.yml, subindo todos os servicos.

Objetivos do Teste

O objetivo deste teste e criar uma aplicacao FE em NextJS que faz as operacoes basicas de CRUD, como listar, criar e deletar livros, alem de permitir buscar esses livros pelo titulo ou pelo autor.

O FE deve rodar junto com os outros servicos em docker, ou seja, deve ser adicionado um servico ao docker-compose.yml com o nome frontend. Para isso, o FE precisa de um Dockerfile, e de um script build.bash, como o servico da API.

IMPORTANTE: ao rodar o docker-compose.yml, o FE deve subir junto com os outros servicos.

Avaliacao

Aqui vao os pontos que sera avaliados no teste:

Obrigatorios

  • O FE deve possuir uma imagem docker, e rodar junto com os outros servicos no docker-compose.yml (1 ponto)
  • O FE deve possuir uma tela de listagem dos livros (1 ponto)
  • O FE deve possuir uma tela de busca de livros por titulo (1 ponto)
  • O FE deve possuir uma tela de busca de livros por autor (1 ponto)
  • O FE deve possuir uma tela de criacao de livros (1 ponto)
  • O FE deve possuir uma funcao de de deletar livros (1 ponto)
  • As telas devem ser feitas usando componentes da biblioteca shadcn/ui (1 ponto)
  • O Frontend deve estar em Typescript (2 pontos)

Total: 9 pontos

Pontos extras

  • Fazer o deploy publico da aplicacao em qualquer servico que aceite as imagens docker (2 pontos)
  • Adicionar testes (unitarios ou end-to-end) (2 pontos)

Total: 4 pontos

Criterios tecnicos

Alem da avaliacao das funcionalidades do FE, tambem serao levados em consideracao aspectos tecnicos como:

  • Componentizacao:
    • Criacao de componentes reutilizaveis
  • Organizacao
    • Clareza e legibilidade do codigo
    • Comentarios e documentacao
    • Organizacao clara das pastas e arquivos
  • Principios
    • Clean Code
    • DRY
    • MVC

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published