ProMan adalah sistem manajemen proyek modern dengan fitur kolaborasi tim, pelacakan tugas, dan komunikasi real-time. Dirancang dengan antarmuka yang responsif dan mudah digunakan, membantu tim mengatur proyek, mengelola anggota tim, dan memantau kemajuan proyek secara efektif.
| 📋 Manajemen Proyek | Buat, edit, dan pantau proyek dengan timeline dan milestone yang jelas |
| 👥 Manajemen Tim | Kelola anggota tim dan tetapkan peran untuk setiap proyek |
| ✅ Pelacakan Tugas | Buat, tetapkan, dan pantau tugas dengan status dan prioritas |
| 💬 Komunikasi Real-time | Diskusi dan notifikasi instan melalui integrasi Socket.io |
| 📊 Dashboard Analitik | Visualisasi data proyek dan kinerja tim |
Preview dari #ProMan Project Management System
- Backend: Node.js + Express.js untuk server yang cepat dan efisien
- View Engine: Pug templating untuk rendering HTML yang elegan
- Styling: Tailwind CSS untuk desain yang modern dan responsif
- Database: SQLite3 (file-based) untuk penyimpanan data yang ringan
- Real-time: Socket.io untuk komunikasi dan notifikasi real-time
- Authentication: bcrypt untuk enkripsi password dan manajemen sesi
🛡️ Admin
- Mengelola semua pengguna sistem
- Membuat dan mengelola proyek
- Menetapkan Project Manager untuk proyek
- Melihat laporan dan analitik semua proyek
- Mengatur konfigurasi sistem
👨💼 Project Manager (PM)
- Mengelola proyek yang ditugaskan
- Menambah dan menghapus anggota tim proyek
- Membuat dan menetapkan tugas kepada anggota tim
- Memantau kemajuan proyek dan kinerja tim
- Mengupdate status proyek dan milestone
👨💻 Team Member
- Melihat tugas yang ditugaskan
- Mengupdate status dan progress tugas
- Berkolaborasi dengan anggota tim lain
- Menambahkan komentar pada tugas
- Melihat timeline dan milestone proyek
-
Clone repository ini
git clone https://github.com/IkuzaDev/proman.git cd proman -
Install dependencies
npm install
-
Inisialisasi database dengan data awal
npm run seed
-
Jalankan aplikasi
npm start
atau untuk development
npm run dev
-
Akses aplikasi melalui browser di
http://localhost:3000
| Role | Username | Password |
|---|---|---|
| Admin | admin | password123 |
| Project Manager | manager | password123 |
| Team Member | member | password123 |
🔐 Authentication Routes
GET /auth/login- Menampilkan halaman loginPOST /auth/login- Memproses login userGET /auth/logout- Logout user dan menghapus sesiGET /auth/register- Menampilkan halaman registrasiPOST /auth/register- Memproses registrasi user baru
🏠 Landing Routes
GET /- Halaman utama/landing page
🛡️ Admin Routes
GET /admin/dashboard- Dashboard adminGET /admin/users- Manajemen penggunaGET /admin/projects- Manajemen proyekGET /admin/projects/create- Form pembuatan proyek baruGET /admin/projects/:id- Detail proyekGET /admin/projects/:id/edit- Form edit proyekGET /admin/analytics- Analitik dan laporan
GET /admin/api/users- Mendapatkan semua data penggunaPOST /admin/api/users- Membuat pengguna baruPUT /admin/api/users/:id- Mengubah data penggunaDELETE /admin/api/users/:id- Menghapus pengguna
GET /admin/api/projects- Mendapatkan semua data proyekPOST /admin/api/projects- Membuat proyek baruPUT /admin/api/projects/:id- Mengubah data proyekDELETE /admin/api/projects/:id- Menghapus proyekPOST /admin/api/projects/:id/assign-pm- Menetapkan Project Manager
👨💼 Project Manager Routes
GET /pm/dashboard- Dashboard Project ManagerGET /pm/projects- Daftar proyek yang dikelolaGET /pm/projects/:id- Detail proyekGET /pm/projects/:id/edit- Form edit proyekGET /pm/projects/:id/members- Manajemen anggota tim proyekGET /pm/projects/:id/tasks- Daftar tugas proyekGET /pm/tasks/create- Form pembuatan tugas baruGET /pm/tasks/:id/edit- Form edit tugasGET /pm/tasks/:id- Detail tugas
PUT /pm/api/projects/:id- Mengupdate informasi proyekPOST /pm/api/projects/:id/members- Menambahkan anggota tim ke proyekDELETE /pm/api/projects/:id/members/:userId- Menghapus anggota tim dari proyek
GET /pm/api/projects/:id/tasks- Mendapatkan semua tugas dalam proyekPOST /pm/api/tasks- Membuat tugas baruPUT /pm/api/tasks/:id- Mengupdate tugasDELETE /pm/api/tasks/:id- Menghapus tugasPOST /pm/api/tasks/:id/assign- Menetapkan tugas ke anggota tim
👨💻 Team Member Routes
GET /member/dashboard- Dashboard anggota timGET /member/projects- Daftar proyek yang diikutiGET /member/projects/:id- Detail proyekGET /member/tasks- Daftar tugas yang ditugaskanGET /member/tasks/:id- Detail tugasGET /member/profile- Profil pengguna
GET /member/api/tasks- Mendapatkan semua tugas yang ditugaskanPUT /member/api/tasks/:id/status- Mengupdate status tugasPUT /member/api/tasks/:id/progress- Mengupdate progress tugasPOST /member/api/tasks/:id/comments- Menambahkan komentar pada tugas
proman/
├── app.js # File utama aplikasi
├── config/ # Konfigurasi database dan aplikasi
│ └── seed.js # Inisialisasi data awal
├── controllers/ # Logic aplikasi
│ ├── adminController.js
│ ├── authController.js
│ ├── landingController.js
│ ├── memberController.js
│ └── pmController.js
├── db/ # Database SQLite
│ └── sessions.sqlite # Database sesi
├── middleware/ # Middleware Express
│ └── auth.js # Middleware autentikasi
├── models/ # Model data
├── public/ # Static assets (CSS, JS, gambar)
│ ├── css/
│ ├── js/
│ └── images/
├── routes/ # Route aplikasi
│ ├── admin.js
│ ├── auth.js
│ ├── landing.js
│ ├── project-manager.js
│ └── team-member.js
├── utils/ # Utility functions
│ └── socket.js # Konfigurasi Socket.io
└── views/ # Template Pug
├── admin/
├── auth/
├── layouts/
├── member/
├── pm/
└── partials/
- 📱 Aplikasi mobile untuk akses di perangkat Android dan iOS
- 📊 Dashboard analitik yang lebih komprehensif
- 📅 Integrasi kalender untuk perencanaan proyek
- 📁 Manajemen file dan dokumen proyek
- 🌐 Integrasi dengan layanan pihak ketiga (GitHub, Slack, dll)
Kontribusi selalu diterima! Silakan fork repositori ini, buat perubahan, dan kirimkan pull request.
Proyek ini dilisensikan di bawah MIT License.
📧 Untuk kerja sama komersial: dragon.studio.official@gmail.com



