HEFESTO v1.0 - Sistema de Controle Orçamentário para Facilities

- Backend NestJS com 12 módulos
- Frontend React com dashboard e gestão
- Manuais técnico e de negócios (MD + PDF)
- Workflow de aprovação com alçadas
- RBAC com 6 perfis de acesso
This commit is contained in:
2026-02-09 14:53:01 -03:00
commit d8ca580acb
107 changed files with 22657 additions and 0 deletions

61
backend/src/app.module.ts Normal file
View File

@@ -0,0 +1,61 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AuthModule } from './modules/auth/auth.module';
import { UsersModule } from './modules/users/users.module';
import { LocaisModule } from './modules/locais/locais.module';
import { CentrosCustoModule } from './modules/centros-custo/centros-custo.module';
import { CategoriasModule } from './modules/categorias/categorias.module';
import { FornecedoresModule } from './modules/fornecedores/fornecedores.module';
import { DemandasModule } from './modules/demandas/demandas.module';
import { PropostasModule } from './modules/propostas/propostas.module';
import { OrcamentoModule } from './modules/orcamento/orcamento.module';
import { WorkflowModule } from './modules/workflow/workflow.module';
import { DashboardModule } from './modules/dashboard/dashboard.module';
import { OrdensServicoModule } from './modules/ordens-servico/ordens-servico.module';
import { SeedService } from './database/seeds/seed.service';
import { Perfil } from './modules/users/entities/perfil.entity';
import { Usuario } from './modules/users/entities/usuario.entity';
import { Local } from './modules/locais/entities/local.entity';
import { CentroCusto } from './modules/centros-custo/entities/centro-custo.entity';
import { Categoria } from './modules/categorias/entities/categoria.entity';
import { Fornecedor } from './modules/fornecedores/entities/fornecedor.entity';
import { Certidao } from './modules/fornecedores/entities/certidao.entity';
import { Demanda } from './modules/demandas/entities/demanda.entity';
import { ItemLinha } from './modules/demandas/entities/item-linha.entity';
import { Proposta } from './modules/propostas/entities/proposta.entity';
import { OrcamentoPlanejado } from './modules/orcamento/entities/orcamento-planejado.entity';
import { WorkflowAprovacao } from './modules/workflow/entities/workflow-aprovacao.entity';
import { OrdemServico } from './modules/ordens-servico/entities/ordem-servico.entity';
import { Avaliacao } from './modules/ordens-servico/entities/avaliacao.entity';
import { Alerta } from './modules/dashboard/entities/alerta.entity';
import { AuditLog } from './modules/dashboard/entities/audit-log.entity';
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'better-sqlite3',
database: 'hefesto.db',
autoLoadEntities: true,
synchronize: true,
}),
TypeOrmModule.forFeature([
Perfil, Usuario, Local, CentroCusto, Categoria, Fornecedor, Certidao,
Demanda, ItemLinha, Proposta, OrcamentoPlanejado, WorkflowAprovacao,
OrdemServico, Avaliacao, Alerta, AuditLog,
]),
AuthModule,
UsersModule,
LocaisModule,
CentrosCustoModule,
CategoriasModule,
FornecedoresModule,
DemandasModule,
PropostasModule,
OrcamentoModule,
WorkflowModule,
DashboardModule,
OrdensServicoModule,
],
providers: [SeedService],
})
export class AppModule {}