How dodfrm/ipkm-service works
This is a Sipadu NestJS microservice template carrying an IPKM student-achievement domain: users submit IPKM applications and evidence, while staff manage verifier assignments, scoring, and reference data. The tree also shows student-IPKM calculations, participant management, semester and student lookup, and file handling. Sampled controllers confirm delegation for applications, verifier imports, and reference-data CRUD; other domain modules are represented from their paths and names. The README documents Traefik-header authentication, CASL authorization, validation, and Prisma, but most service internals were not sampled, so their interactions are not inferred.
Main entry points: main.ts NestJS API · auth.middleware.ts Header authentication · ipkm-pengajuan.service.ts IPKM applications · master-subkomponen-skala.service.ts Scoring scales
Components 21
Access and platform
- NestJS API
src/main.ts - Header authentication
common/middlewares/auth.middleware.ts - CASL authorization
src/common/casl/casl-ability.factory.ts - Prisma service
src/common/prisma/prisma.service.ts
IPKM workflow
- IPKM applications
src/ipkm-pengajuan/ipkm-pengajuan.service.ts - Application participants
src/ipkm-pengajuan-peserta/ipkm-pengajuan-peserta.service.ts - IPKM assessment
src/ipkm-penilaian/ipkm-penilaian.service.ts - Student IPKM
src/ipkm-mahasiswa/ipkm-mahasiswa.service.ts - IPKM calculation
src/ipkm-mahasiswa/calculate-ipkm.service.ts - Component scores
src/nilai-komponen-mahasiswa/perhitungan-ipkm.service.ts - File handling
src/file/file.service.ts
Scoring reference data
- Master components
src/master-komponen/master-komponen.service.ts - Master subcomponents
src/master-subkomponen/master-subkomponen.service.ts - Scoring scales
src/master-subkomponen-skala/master-subkomponen-skala.service.ts - Scale assessments
src/master-subkomponen-skala-penilaian/master-subkomponen-skala-penilaian.service.ts - Point conversion
src/master-konverter-poin/master-konverter-poin.service.ts
Student administration
- Student verifiers
src/verifikator-mahasiswa/verifikator-mahasiswa.service.ts - Student details
src/user-mahasiswa-detail/user-mahasiswa-detail.service.ts - Active students
src/mahasiswa-aktif/mahasiswa-aktif.service.ts - Semesters
src/semester/semester.service.ts
Other components
- Traefik gateway
Connections 10
- Traefik gateway → Header authentication: sends headers
README.md - Header authentication → NestJS API: injects user
README.md - NestJS API → IPKM applications: routes requests
- IPKM applications → NestJS API: delegates CRUD
- NestJS API → Student verifiers: routes requests
- Student verifiers → NestJS API: delegates CRUD
- NestJS API → Scale assessments: routes requests
- Scale assessments → NestJS API: delegates CRUD
- NestJS API → Scoring scales: routes requests
- Scoring scales → NestJS API: delegates CRUD