Aluno: Pedro Henrique Stanzani de Freitas
Arquivo compose.yaml
: link
Vídeo de demonstração: https://youtu.be/_45PC0K1840
Esse projeto foi desenvolvido para a disciplina de Computação em Nuvem e demonstra uma API de autenticação com JWTs (JSON Web Tokens) que foi desenvolvida com ElysiaJS, Bun e TypeScript.
Codebase | Descrição |
---|---|
app | ElysiaJS + Bun server |
docs | Nextra documentation |
A documentação está disponível em jwt-auth-cloud.vercel.app.
A imagem do servidor ElysiaJS foi publicada no Docker Hub e está disponível neste link.
Foram utilizadas as seguintes tecnologias:
- ElysiaJS: framework para construir servidores web
- Bun: runtime de JavaScript e package manager
- TypeScript: linguagem de programação com tipagem estática
- Prisma: ORM para Node.js e TypeScript
E as seguintes bibliotecas foram utilizadas para desenvolver o serviço de web scraping:
- Cheerio: biblioteca para parsing de HTML
- Axios: cliente HTTP para fazer requisições web
O endpoint de consulta retorna uma lista de manchetes da BBC. Essas manchetes são armazenadas em cache (memória) e atualizam de hora em hora.
Para realizar o scraping, uma requisição HTTP é realizada ao site da BBC. O payload dessa requisição passa por um parsing com funções da biblioteca Cheerio. Consulte o código do serviço de Scraping para saber mais.
Siga as seguintes instruções para instalar e executar o projeto.
-
Faça o download do arquivo compose.yaml e armazene-o em um diretório vazio.
-
Execute o comando abaixo no terminal do diretório em que o arquivo compose.yaml foi armazenado:
docker compose up
- Agora você pode acessar a API em http://localhost:3000.