- Uma API RESTful de uma aplicação fullstack para uma pizzaria. Desenvolvido com Node.js, Express e Prisma, este backend é responsável por processar logins, gerenciar sessões e usuários e manipular dados de pedidos, categorias e produtos armazenados em banco de dados (PostgreSQL).
Este projeto backend oferece endpoints para:
- Autenticação: Gerenciamento de login e sessão de usuários.
- Pedidos: Criação, atualização e recuperação de pedidos.
- Categorias: Cadastro de categorias
- Produtos: Cadastro de produtos e listagem de produtos por categoria
- Integração com o Frontend: Comunicação segura através de tokens JWT e cookies.
- Validação e Segurança: Uso de middlewares para autenticação, validação e tratamento de erros.
- Runtime: Node.js
- Framework: Express.js
- ORM: Prisma
- Banco de Dados: PostgreSQL
- Autenticação: JWT (JSON Web Token)
- Validação: Middleware personalizado de verificaçao e validação de token
- Imagens: Cloudinary
- Node.js (versão LTS recomendada)
- Git
- Um banco de dados PostgreSQL (pode ser local ou em serviços como Neon)
- Clone o repositório:
git clone https://github.com/gabrielmlemes/pizzaria-backend.git
- Entre na pasta do projeto:
cd pizzaria-backend - Instale as dependências
npm install # ou, se preferir o yarn: yarn - Configure as variáveis de ambiente:
- Crie um arquivo .env na raiz do projeto (você pode usar o 'copia.env' como referência) e adicione as seguintes variáveis:
DATABASE_URL=postgres://usuario:senha@host:porta/nome_do_banco JWT_SECRET= PORT=3333 CLOUDINARY_NAME= CLOUDINARY_API_KEY= CLOUDINARY_API_SECRET=
- Certifique-se de substituir os valores de exemplo pelas informações corretas do seu ambiente.
- Execute as migrações do Prisma (se aplicável):
npx prisma migrate dev --name init
- Inicie o servidor:
npm run dev # ou yarn dev
- A API ficará disponível em: http://localhost:3333
- Para gerar a versão de produção:
npm run build npm run start