Sistem Informasi Kepegawaian (SIMPEG) adalah aplikasi berbasis web untuk membantu digitalisasi administrasi kepegawaian perusahaan. Sistem menyediakan pengelolaan data pegawai, kehadiran, cuti, lembur, dinas luar, hingga workflow persetujuan bertingkat (multi-level approval).
Proyek ini dikembangkan sebagai bagian dari tugas akhir dengan fokus pada arsitektur backend modular menggunakan Node.js, Express.js, MongoDB, dan Redis.
- Authentication berbasis Session
- Role-Based Access Control (RBAC)
- Manajemen Data Pegawai
- Manajemen Kehadiran
- Pengajuan Cuti
- Pengajuan Lembur
- Pengajuan Dinas Luar
- Multi-Level Approval Workflow
- Dashboard
- Notification
- Reporting
- Payroll (Development)
- Reward & Punishment (Development)
| Layer | Technology |
|---|---|
| Backend | Node.js, Express.js |
| Database | MongoDB |
| ODM | Mongoose |
| Cache | Redis |
| Template Engine | EJS |
| CSS | Tailwind CSS |
| Authentication | Session Authentication |
| Authorization | RBAC |
src/
├── config/
├── controllers/
├── middleware/
├── models/
├── routes/
├── services/
├── utils/
├── views/
├── app.js
└── server.js
git clone https://github.com/mseptiawan/hris-zafa.git
cd hris-zafanpm installSeeder digunakan untuk membuat data awal seperti akun, role, divisi, jabatan, dan data pendukung lainnya.
npm run seedBuat file .env
PORT=3000
MONGODB_URI=mongodb://localhost:27017/hris_zafa_tour
REDIS_URL=redis://localhost:6379
SESSION_SECRET=your_session_secret
NODE_ENV=developmentLinux/macOS
redis-serveratau menggunakan Docker
docker run -d \
--name redis \
-p 6379:6379 \
redis:7Development
npm run devProduction
npm startAplikasi akan berjalan di
http://localhost:3000
Client
│
▼
Express Routes
│
▼
Controllers
│
▼
Services
│
▼
Models
│
▼
MongoDB
Redis
├── Session Store
└── Cache
M. Septiawan
- GitHub: https://github.com/mseptiawan
- LinkedIn: https://www.linkedin.com/in/mseptiawan/
- Email: mseptiawan017@gmail.com
Proyek ini dikembangkan untuk tujuan akademik sebagai bagian dari penelitian tugas akhir.




