Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/azanniel/pizzashop-api
🍕 Painel de gerenciamento de pedidos desenvolvido em Bun para o projeto web
https://github.com/azanniel/pizzashop-api
bun docker-compose drizzle-orm elysia email-auth magic-authentication metrics
Last synced: about 2 months ago
JSON representation
🍕 Painel de gerenciamento de pedidos desenvolvido em Bun para o projeto web
- Host: GitHub
- URL: https://github.com/azanniel/pizzashop-api
- Owner: Azanniel
- Created: 2024-02-15T12:36:09.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-03-28T20:53:05.000Z (9 months ago)
- Last Synced: 2024-03-28T21:54:40.650Z (9 months ago)
- Topics: bun, docker-compose, drizzle-orm, elysia, email-auth, magic-authentication, metrics
- Language: TypeScript
- Homepage:
- Size: 641 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
🍕 Pizza Shop - API
> Projeto contruído para servir como api do projeto PizzaShop Web
Uma API para um painel de gerenciamento de pedidos estilo IFood onde o administrador do restaurante pode controlar seus pedidos e acompanhar sua progressão.
## 🔧 Executando o projeto
Esse projeto foi criado utilizando `bun init` em bun v1.0.25. [Bun](https://bun.sh) é um JavaScript runtime all-in-one focado em velocidade e performance.
```bash
# Instale as dependências
bun install# Execute o projeto
bun run dev
```## 📃 Anotações
Algumas anotações feitas durante o estudo e que podem ajudar no entendimento do projeto e na jornada.
### Sobre a tecnologia
Utilizaremos o Bun como tecnologia no back-end, que é uma alternativa ao Node e ao Deno. O Bun é construído em cima do motor do Safari, o JSCore, e possui melhor performance e menos configurações necessárias. Além disso, o código escrito com o Bun é compatível com as APIs do Node. O projeto e as rotas HTTP serão criadas utilizando o framework ElysiaJS.
### Drizzle ORM
O [Drizzle](https://orm.drizzle.team/) é agnóstico de runtime, o que significa que pode ser executado em qualquer ambiente que execute JavaScript. Ele não cria uma ponte entre a aplicação e o banco de dados, o que pode ser vantajoso em casos de uso mais complexos. O Drizzle segue uma API mais próxima de um Query Builder, permitindo que escrevamos queries de forma semelhante ao SQL.
### Estratégia de autenticação
Em vez de usar a autenticação convencional por e-mail e senha, é implementado uma estratégia chamada "password-less". Essa estratégia permite que os usuários façam login sem a necessidade de uma senha. Utiliza-se a estratégia do "Magic Link", onde o usuário insere seu e-mail e recebe um link de autenticação por e-mail. Ao clicar no link, o usuário é redirecionado para a aplicação já autenticado. Essa abordagem é mais segura, pois não precisa-se armazenar senhas sensíveis no banco de dados.