AKASOFT FULL STACK DEVELOPER
Em cada diretório contem um readme com as instruções de como rodar o projeto.
Sobre o layout utilizado, o esboço base esta diponível em excalidraw, e a api utilizada para cotação do dólar é a Awesome API.
Projeto em produção na vercel: Cotação do Dólar
Api em produção no Hugging Face: Cotação do Dólar
Você deverá criar um fork deste projeto, e desenvolver em cima do seu fork. Use o README principal do seu repositório para nos contar como foi resolver seu teste, as decisões tomadas, como você organizou e separou seu código, e principalmente as instruções de como rodar seu projeto, e se você conseguir explicar para ele como fazer isso, você já começou bem!
Objetivo: Avaliar os conhecimentos do candidato em tecnologias frontend e backend, com foco em:
- Next.js 13: Desenvolvimento de interfaces web modernas e responsivas.
- Fastify: Criação de APIs RESTful robustas e performantes.
- Prisma: ORM (Object-Relational Mapping) para gerenciamento de dados em PostgreSQL.
- Segurança: Criptografia de senhas e comunicação segura.
- Desenvolvimento Assíncrono: Implementação de serviços de background.
- Análise de Dados: Cálculo de médias, máximas, mínimas e visualização de dados.
Frontend:
- Página de login com autenticação de usuário.
- Página principal com:
- Tabela paginada para consulta de cotações do dólar por data e hora.
- Média, máxima e mínima da cotação no dia.
- Gráfico das variações da cotação no dia.
- Layout responsivo para diferentes dispositivos.
Backend:
API RESTful para:
- Autenticação de usuários.
- Consulta de cotações do dólar.
- Cálculo de médias, máximas e mínimas.
- Serviço de background que verifica a cotação do dólar a cada minuto e registrar as informações no banco de dados.
- Utilização de criptografia para senhas.
- Documentação de sua API utilizando OpenAPI 3.0+
Tecnologias:
- Frontend: Next.js 13
- Backend: Fastify
- Banco de dados: PostgreSQL
- ORM: Prisma
- Criptografia: bcryptjs (ou similar)
- Gráficos: Chart.js (ou similar)
- Implementar cache para otimizar o desempenho da aplicação.
- Testar a aplicação com Jest e Cypress.
- Ver o código rodando live (Bucket estático S3, Heroku, Railway, Vercel)
- Criar mecanismo de log e auditoria (quando/como/quem etc.).
- Descobrir que não foi você quem fez seu teste
- Ver commits grandes, sem muita explicação nas mensagens em seu repositório
- Encontrar um commit com as dependências de NPM
- Histórico de commits do git
- As instruções de como rodar o projeto
- Organização, semântica, estrutura, legibilidade, manutenibilidade do seu código
- Alcance dos objetivos propostos
- Adaptação mobile (layout responsivo)
- Componentização e extensibilidade dos componentes Typescript.
Como devo fazer a entrega do meu desafio?
- Envie o link do seu repositório de código particular para contato@akasoft.com.br com o assunto: "AKASOFT - DESAFIO FULLSTACK - :SEU NOME:"
Se eu tiver alguma dúvida?
- Entre em contato com nosso time ou pelo contato@akasoft.com.br