Skip to content

Servidor backend do sistema de gerenciamento de itens para múltiplas instituições. Ele fornece uma API RESTful segura e escalável para autenticação, cadastro de instituições, gerenciamento de itens, movimentações e alertas.

Notifications You must be signed in to change notification settings

tatyanepgoncalves/server_agape

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backend Agape - Sistema de Gerenciamento de Itens

Este é o backend do sistema de gerenciamento de itens para múltiplas instituições. Ele fornece uma API RESTful segura e escalável para autenticação, cadastro de instituições, gerenciamento de itens, movimentações e alertas.

Funcionalidades

  • Autenticação com JWT
  • Cadastro e gerenciamento de instituições
  • CRUD de itens
  • Registro de movimentações e histórico
  • Geração de alertas e notificações
  • API RESTful com validação de dados
  • Integração com banco de dados PostgreSQL via Drizzle ORM
  • Envio de mensagens de devolução de itens via WhatsApp

Tecnologias utilizadas

Requisitos

  • Node.js ≥ 18
  • Docker e Docker Compose
  • PostgreSQL ≥ 14

Estrutura de pastas

server_agape
├── src/
│    ├── controllers/
│    ├── db/
│    │    ├── migrations/
│    │    ├── schemas/
│    │    │    └── index.ts
│    │    └── connection.ts
│    ├── middlewares/
│    ├── routes/
│    ├── services/
│    ├── utils/
│    ├── env.ts
│    └── server.ts
├── .env.example
├── package.json
├── pnpm-lock.json
├── README
└── tsconfig.json

Instalação e Execução

1. Clone o repositório

git clone https://github.com/tatyanepgoncalves/server-agape.git
cd server-agape

2. Instale as dependências

npm install
pnpm install

3. Configure o banco de dados

Crie um arquivo .env com as variáveis:

DATABASE_URL=postgres://usuario:senha@localhost:5432/nome_do_banco
JWT_SECRET=sua_chave_secreta
PORT=3333

4. Execute com Docker (opcional)

docker-compose up -d

5. Rode as migrations

npx drizzle-kit push

6. Inicie o servidor

npm run dev
pnpm dev

Endpoints Principais

Método Rota Descrição
POST /auth/login Autenticação de usuário
POST /institutions Cadastro de instituição
GET /items Listagem de itens
POST /items Cadastro de item
PUT /items/:id Atualização do item
POST /movements Registro de movimentação

Scripts Disponíveis

  • npm run dev: inicia o servidor em modo desenvolvimento
  • npm run build: compila o projeto para produção
  • npx db:generate: gera novas tabelas
  • npx db:migrate: aplica as migrations no banco

Segurança

  • Autenticação via JWT
  • Validação de dados com Zod
  • Middleware de proteção para rotas privadas

Contribuições

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests.

About

Servidor backend do sistema de gerenciamento de itens para múltiplas instituições. Ele fornece uma API RESTful segura e escalável para autenticação, cadastro de instituições, gerenciamento de itens, movimentações e alertas.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published