
## NestJS & NextJS

Repositorio Sistema Base Fondemi.

### **Caracteristicas**

- Backend `NestJS (v11)`
- Frontend `NextJS (v15)`
- `SWC` para una transpilación rápida de TypeScript y JavaScript
- `pnpm` para una gestión eficiente de dependencias
- Autenticación con token de acceso y token de actualización `JWT` para un acceso seguro a la API
- Base de datos `PostgreSQL` con Drizzle ORM
- `Nodemailer` para servicios de correo electrónico
- `Linting` y `Formatting` preconfigurados para la calidad del código
- Compatibilidad con `Micro-Frontend` con Turborepo
- Integración con `Shadcn/UI` para componentes con estilo
- Integración con `Tailwindcss(v4)` en `@repo/shadcn`

### **Tabla de contenido**

- Installation
- Getting Started
- Project Structure
- Scripts
- Contributing
- License

### **Installation**

Clona el repositorio:

```shell
git clone https://git.fondemi.gob.ve/Fondemi/sistema_base.git
```

Clona las variables de entorno y reemplaz la informacion:

```shell
cp .env.exmple .env
```


Instala dependencias usando pnpm:

```shell
pnpm install
```


Migra la base de datos:

```shell
pnpm db:migrate
```

Inicio
Inicio el servidor en desarrollo, run:

```shell
pnpm dev
```


Estructura del proyecto
El repositorio está organizado de la siguiente manera:

```yaml
turborepo
├── .husky               # Git hooks
├── apps
│   ├── api              # NestJS application
│   └── web              # NextJS application
├── packages
│   ├── shadcn               # shadcn/UI component library
│   ├── ts-config        # Shared typescript configuration files
│   ├── eslint-config    # Shared eslint configuration files
└── turbo.json           # Turborepo configuration
```

### Caracteristicas del sistema

- Administración de encuestas
- Responder encuestas
- Registro usuario
- Login de usuario
- Estadisticas de encuestas

