Pengaduan Masyarakat Desktop
Public complaint management system desktop application built with VB.NET for handling citizen reports
Share this project:
Project Overview
Public Complaint Management System (Pengaduan Masyarakat)
A desktop-based public complaint management system built with VB.NET. This application provides a comprehensive solution for managing citizen complaints, enabling efficient tracking and resolution of public issues through different user roles.
📋 Overview
The public complaint system (Aplikasi Pengaduan Masyarakat) is designed to streamline the process of submitting, tracking, and resolving public complaints. Built as a simple desktop application using VB.NET, it features role-based access for citizens, officers, and administrators.
✨ Features
For Citizens (Masyarakat)
- Submit Complaints: File new public complaints with details
- Track Status: Monitor complaint progress and resolution
- View History: Access previously submitted complaints
- Update Information: Edit pending complaints
For Officers (Petugas)
- View Complaints: Access assigned complaints
- Update Status: Change complaint status and add notes
- Respond to Reports: Provide responses and solutions
- Generate Reports: Create complaint resolution reports
For Administrators
- User Management: Manage citizen and officer accounts
- System Overview: Dashboard with statistics
- Complaint Monitoring: Oversee all complaints system-wide
- Data Management: CRUD operations on all records
🛠️ Technologies Used
- VB.NET: Visual Basic .NET framework
- Windows Forms: Desktop UI framework
- MySQL: Database management
- ADO.NET: Database connectivity
- Crystal Reports (optional): For generating reports
📁 Project Structure
pengaduan_masyarakat_desktop/
├── apk_pengaduan/ # Main application folder
│ ├── Forms/ # UI Forms
│ │ ├── LoginForm.vb
│ │ ├── MainForm.vb
│ │ ├── ComplaintForm.vb
│ │ └── AdminPanel.vb
│ ├── Modules/ # Helper modules
│ ├── Classes/ # Data models
│ └── My Project/ # Project settings
├── apk_pengaduan.sln # Solution file
├── tugas_pengaduan.sql # Database schema
└── README.md
🚀 Getting Started
Prerequisites
- Visual Studio 2015 or later
- .NET Framework 4.5+
- MySQL Server 5.7+
- MySQL Connector/NET
Database Setup
-
Create Database
Open MySQL and create database:
CREATE DATABASE db_pengaduan; -
Import Schema
mysql -u root -p db_pengaduan < tugas_pengaduan.sql -
Default Accounts
The system comes with three pre-configured accounts:
Citizen Account:
- Username:
fanthom - Password:
fanthom
Officer Account:
- Username:
petugas - Password:
petugas
Admin Account:
- Username:
admin - Password:
admin
- Username:
Installation Steps
-
Clone Repository
git clone <repository-url> cd pengaduan_masyarakat_desktop -
Open in Visual Studio
- Double-click
apk_pengaduan.sln - Visual Studio will load the project
- Double-click
-
Install MySQL Connector
- Tools → NuGet Package Manager → Manage NuGet Packages
- Search for "MySql.Data"
- Install the package
-
Configure Database Connection
Update connection string in
Modules/Database.vb:Public ConnectionString As String = _ "Server=localhost;Database=db_pengaduan;Uid=root;Pwd=your_password;" -
Build Solution
- Build → Build Solution (Ctrl+Shift+B)
- Wait for successful compilation
-
Run Application
- Debug → Start Debugging (F5)
- Or Start Without Debugging (Ctrl+F5)
💻 Usage Guide
Logging In
- Launch the application
- Select user type (Citizen/Officer/Admin)
- Enter credentials from default accounts above
- Click "Login"
As a Citizen
Submit New Complaint
- Click "New Complaint" button
- Fill in complaint details:
- Category (Infrastructure, Environment, Service, etc.)
- Location
- Description
- Upload photo (optional)
- Submit complaint
- Receive complaint ID for tracking
Track Complaint
- Go to "My Complaints" menu
- View list of submitted complaints
- Check status: Pending, In Progress, Resolved, Rejected
- View officer responses
As an Officer
Process Complaints
- View assigned complaints dashboard
- Select a complaint to process
- Update status and add response
- Mark as "In Progress" or "Resolved"
- Save changes
Generate Reports
- Select date range
- Choose report type
- Generate and print/export report
As an Administrator
Manage Users
- Navigate to "User Management"
- Add/Edit/Delete user accounts
- Assign roles and permissions
- Reset passwords if needed
System Overview
- View dashboard statistics
- Monitor active complaints
- Track resolution rates
- Generate system reports
🎨 Features Details
Complaint Categories
- Infrastructure Issues
- Environmental Problems
- Public Services
- Security Concerns
- Health & Sanitation
- Education
- Transportation
- Other
Status Workflow
- Submitted: Initial complaint submission
- Pending: Awaiting officer assignment
- In Progress: Being worked on by officer
- Resolved: Issue fixed/addressed
- Rejected: Invalid or duplicate
🗄️ Database Schema
Main Tables
users
- user_id (PK)
- username
- password
- role (citizen/officer/admin)
- full_name
- phone
complaints
- complaint_id (PK)
- user_id (FK)
- category
- location
- description
- status
- photo_path
- created_at
- updated_at
responses
- response_id (PK)
- complaint_id (FK)
- officer_id (FK)
- response_text
- response_date
🔒 Security Features
- Password hashing for user accounts
- Role-based access control
- SQL injection prevention
- Session management
- Data validation
🐛 Troubleshooting
Login Failed
- Verify database connection
- Check user credentials
- Ensure database is populated
Database Connection Error
- Verify MySQL is running
- Check connection string
- Test MySQL Connector installation
Form Won't Load
- Check .NET Framework version
- Verify Windows Forms references
- Rebuild solution
🚀 Future Enhancements
- Mobile application version
- Email notifications
- SMS alerts
- Photo attachment improvement
- Real-time notifications
- Advanced search and filters
- GIS integration for maps
- Public web portal
🎓 Learning Outcomes
This project demonstrates:
- VB.NET desktop application development
- MySQL database integration
- Role-based authentication
- CRUD operations
- Windows Forms UI design
- ADO.NET data access
- Report generation
🤝 Contributing
This is an educational project. Improvements and suggestions are welcome!
📄 License
Open source and available for educational purposes.
Built with VB.NET 📝🏛️
Empowering citizens to report and track public issues efficiently