Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions backend/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
API_KEY=supersecreta123
MONGO_URI=mongodb://localhost:27017/call_service
PORT=3000
42 changes: 42 additions & 0 deletions backend/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Call Lifecycle Service - Backend

Este microservicio en Node.js + Express + MongoDB gestiona eventos de llamadas, estados, y comunicación en tiempo real mediante Socket.IO.

---

## Características

- Registro de eventos: `call_initiated`, `call_answered`, `call_ended`.
- Persistencia de datos en MongoDB.
- Actualización de estado de llamadas automáticamente.
- WebSocket (Socket.IO) para interacción en tiempo real.
- Integración con frontend vía REST + WebSockets.
- Pruebas unitarias e integración (Jest + Supertest).

---

## Requisitos

- Node.js 18+
- MongoDB
- `.env` file

## Instalación

npm install
npm run dev


## Endpoints REST

POST /api/events → Registrar eventos de llamada.
GET /api/events → Listar eventos de llamada.
GET /api/calls → Listar llamadas.
GET /api/calls/:call_id/events → Ver historial de eventos de una llamada.

```env
PORT=3000
MONGODB_URI=mongodb://localhost:27017/call_service
API_KEY=supersecreta123


8 changes: 8 additions & 0 deletions backend/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/** @type {import('ts-jest').JestConfigWithTsJest} **/
module.exports = {
preset: 'ts-jest',
testEnvironment: "node",
transform: {
"^.+\.tsx?$": ["ts-jest",{}],
},
};
Loading