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
.env
se necessário:PORT=3003 DATABASE_PATH=./database.db
npm run dev
npm run build
npm start
A 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 OK
com token JWT de autenticação.
- Body:
- Banco: SQLite (
database.db
) - Script de criação:
database.sql
sqlite3 database.db < database.sql
npm run dev
— Inicia servidor com hot reloadnpm run build
— Compila TypeScript para JavaScriptnpm start
— Executa servidor compilado