π ProMan - Project Management System
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.
β¨ Fitur Utama
| π 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 Aplikasi
Preview dari #ProMan Project Management System
π§© Teknologi yang Digunakan
- 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
π₯ Role Pengguna
π‘οΈ 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
π Cara Instalasi
-
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 startatau untuk development
npm run dev -
Akses aplikasi melalui browser di
http://localhost:3000
π Default Login
| Role | Username | Password |
|---|---|---|
| Admin | admin | password123 |
| Project Manager | manager | password123 |
| Team Member | member | password123 |
πΊοΈ Routes & API Endpoints
π 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
Page 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
API Routes - Users
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
API Routes - Projects
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
Page 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
API Routes - Project Management
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
API Routes - Task Management
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
Page 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
API Routes - Task Management
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
π Struktur Project
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/
π Fitur yang Akan Datang
- π± 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
Kontribusi selalu diterima! Silakan fork repositori ini, buat perubahan, dan kirimkan pull request.
π Lisensi
Proyek ini dilisensikan di bawah MIT License.
π§ Untuk kerja sama komersial: [email protected]