Saltearse al contenido

Comenzando

¡Bienvenido a Veloce! Esta guía te ayudará a empezar rápidamente.

Instala Veloce usando tu gestor de paquetes preferido:

Ventana de terminal
# Usando Bun (recomendado)
bun add veloce-ts zod
# Usando npm
npm install veloce-ts zod
# Usando pnpm
pnpm add veloce-ts zod

Crea tu primera API en minutos:

import { Veloce, Controller, Get, Post, Body } from 'veloce-ts';
import { z } from 'zod';
// Define un esquema
const UserSchema = z.object({
name: z.string().min(2),
email: z.string().email(),
});
// Crea un controlador
@Controller('/users')
class UserController {
@Get('/')
async getUsers() {
return [
{ id: 1, name: 'John Doe', email: 'john@example.com' },
{ id: 2, name: 'Jane Smith', email: 'jane@example.com' },
];
}
@Post('/')
async createUser(@Body(UserSchema) user: z.infer<typeof UserSchema>) {
return { id: 3, ...user };
}
}
// Crea e inicia la aplicación
const app = new Veloce();
app.include(UserController);
app.listen(3000);
console.log('Servidor ejecutándose en http://localhost:3000');

Agrega estas configuraciones a tu tsconfig.json:

{
"compilerOptions": {
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "bundler"
}
}

Una estructura típica de proyecto Veloce-TS:

my-api/
├── src/
│ ├── controllers/
│ │ └── user.controller.ts
│ ├── services/
│ │ └── user.service.ts
│ ├── schemas/
│ │ └── user.schema.ts
│ └── index.ts
├── package.json
└── tsconfig.json

Veloce-TS incluye una poderosa herramienta CLI:

Ventana de terminal
# Crear un nuevo proyecto
veloce-ts new my-api --template rest
# Iniciar servidor de desarrollo
veloce-ts dev
# Compilar para producción
veloce-ts build
# Generar especificación OpenAPI
veloce-ts generate openapi