77 lines
1.2 KiB
Markdown
77 lines
1.2 KiB
Markdown
# TessCorp API Backend
|
|
|
|
Backend API para el formulario de contacto del portfolio de TessCorp, construido con NestJS.
|
|
|
|
## Funcionalidad
|
|
|
|
- Endpoint POST `/contact` para enviar correos de contacto
|
|
- Validación de datos con class-validator
|
|
- Integración con Nodemailer para envío de correos
|
|
- Configuración CORS para permitir peticiones desde el frontend
|
|
|
|
## Configuración
|
|
|
|
1. Copiar el archivo de entorno:
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
2. Configurar las variables de entorno en `.env`:
|
|
```
|
|
EMAIL_HOST=smtp.gmail.com
|
|
EMAIL_PORT=587
|
|
EMAIL_USER=your-email@gmail.com
|
|
EMAIL_PASS=your-app-password
|
|
EMAIL_FROM=your-email@gmail.com
|
|
PORT=3000
|
|
NODE_ENV=development
|
|
```
|
|
|
|
## Instalación
|
|
|
|
```bash
|
|
$ npm install
|
|
```
|
|
|
|
## Ejecución
|
|
|
|
```bash
|
|
# desarrollo
|
|
$ npm run start:dev
|
|
|
|
# producción
|
|
$ npm run start:prod
|
|
```
|
|
|
|
## API Endpoint
|
|
|
|
### POST /contact
|
|
|
|
Envía un correo electrónico con los datos del formulario de contacto.
|
|
|
|
**Body:**
|
|
```json
|
|
{
|
|
"name": "Juan Pérez",
|
|
"email": "juan@example.com",
|
|
"message": "Mensaje de prueba",
|
|
"subject": "Asunto opcional"
|
|
}
|
|
```
|
|
|
|
**Response:**
|
|
```json
|
|
{
|
|
"success": true,
|
|
"message": "Email sent successfully"
|
|
}
|
|
```
|
|
|
|
## Tecnologías
|
|
|
|
- NestJS
|
|
- TypeScript
|
|
- Nodemailer
|
|
- class-validator
|
|
- class-transformer
|