Quick Talk Box (QTalkBox) é a API de uma rede social voltada para comunicação rápida e simples entre usuários. Esta API gerencia cadastro, login e estrutura base para funcionalidades sociais, sendo ideal como ponto de partida para apps de mensagens, fóruns rápidos ou trocas de ideias em tempo real.
- Node.js — ambiente de execução JavaScript
- TypeScript — linguagem com tipagem estática
- Express — framework web para Node.js
- SQLite — banco de dados leve e embutido
- Knex.js — query builder para SQL
src/
├── business/ # Lógica de negócios
├── controller/ # Controle das requisições
├── database/ # Configuração e acesso ao banco
├── dtos/ # Data Transfer Objects (validação de dados)
├── errors/ # Tratamento de erros personalizados
├── models/ # Modelos de dados
├── router/ # Definição das rotas da API
└── index.ts # Ponto de entrada da aplicação
-
Clone o repositório:
git clone https://github.com/seu-usuario/qtalkbox-api.git cd qtalkbox-api -
Instale as dependências:
npm install
-
(Opcional) Configure variáveis de ambiente em um arquivo
.envse necessário:PORT=3003 DATABASE_PATH=./database.db
npm run devnpm run build
npm startA API ficará disponível em http://localhost:3003 (ou porta definida no .env).
- POST
/users/signup- Body:
{ "name": "Usuário", "email": "usuario@exemplo.com", "password": "senhaSegura" } - Resposta:
201 Created— Usuário registrado com sucesso.
- Body:
- POST
/users/login- Body:
{ "email": "usuario@exemplo.com", "password": "senhaSegura" } - Resposta:
200 OKcom token JWT de autenticação.
- Body:
- Banco: SQLite (
database.db) - Script de criação:
database.sql
sqlite3 database.db < database.sqlnpm run dev— Inicia servidor com hot reloadnpm run build— Compila TypeScript para JavaScriptnpm start— Executa servidor compilado