Project Overview
The Complaint Management System Using Python Django is a web application designed to simplify complaint registration, tracking, and resolution. Developed using Python, Django, and SQLite, it provides a centralized platform for users to submit complaints and administrators to manage complaint records efficiently.
The application features a custom administrative interface, redesigned login and signup pages, complaint status management, priority settings, category management, user management, and complaint history. Database-driven statistics and notifications help administrators monitor complaint activity and keep users informed about updates.
Available Features
- Custom Admin Dashboard: Provides sidebar navigation, a top navigation bar, statistics cards, charts, management tables, and quick access to complaint and user information.
- Complaint Statistics: Displays total, pending, in-progress, resolved, and rejected complaints using values calculated from database records.
- Monthly Complaint Chart: Visualizes complaint trends over time using data retrieved from the database.
- Complaint Management: Allows administrators to view complaint details, review submitted information, update statuses, and manage records. Search, sorting, and filtering help locate complaints.
- Priority Management: Assigns priority levels according to complaint urgency to help administrators organize their work.
- Complaint Category Management: Organizes complaints by category and supports category management according to the application's rules.
- Complaint History: Helps administrators review complaint progress and available status updates throughout the resolution process.
- User Management: Allows administrators to view registered users, inspect profiles, activate or deactivate accounts, and review user-associated complaints.
- Custom Authentication Pages: Includes redesigned administrator login and signup pages with form validation, password visibility controls, and consistent styling.
- Secure Authentication: Uses Django authentication and password hashing, protects administrative routes, and supports logout functionality.
- Responsive User Interface: Provides layouts, navigation, forms, and tables designed for desktop and mobile screens.
- Gmail Email Notifications: Sends configured email alerts to users and administrators when complaints are submitted or their statuses change.
- Real-Time In-App Notifications: Displays new complaint notifications without requiring a manual page refresh.
- Notification Bell and Unread Count: Shows unread notification counts so users and administrators can identify new alerts.
- Secure SMTP Configuration: Uses environment variables stored in a .env file to configure Gmail credentials instead of hardcoding sensitive information.
- Interactive Dashboard: Provides clickable statistics, charts, navigation, and complaint management actions connected to relevant pages and database records.
User Roles
User
Users can register, log in, submit complaints, track complaint progress, and receive email and in-app notifications about submissions, status changes, and resolution updates.
Administrator
Administrators can access the custom management dashboard, review complaints, update statuses, assign priorities, manage categories, oversee registered users, monitor complaint statistics, and receive alerts about new complaints.
Technology Stack
- Programming Language: Python
- Backend Framework: Django
- Database: SQLite
- Frontend: HTML, CSS, and JavaScript
- Email Notifications: Gmail SMTP
- Development Environment: Visual Studio Code
Software and Tools Required
- Python version compatible with the project dependencies
- pip package manager
- Visual Studio Code
- A modern web browser
- Project dependencies listed in requirements.txt
- Gmail app password if email notifications are required
Project Benefits
- Centralizes complaint registration, tracking, and resolution workflows.
- Provides a custom administrative interface instead of relying only on the default Django Admin interface.
- Displays database-driven statistics and monthly complaint trends.
- Organizes complaint statuses, priorities, and categories.
- Supports user management and user-wise complaint tracking.
- Provides email and real-time in-app notifications.
- Demonstrates Django authentication, database operations, templates, and SMTP integration.
More Details and Full Documentation
For complete project details, screenshots, features, and installation instructions, visit the original UPDATEGADH project page.
More Details and Full Documentation
- Install Python and Visual Studio Code.
- Extract the project ZIP file and open the project folder in Visual Studio Code.
- Open the integrated terminal in the project directory.
- Create a virtual environment: python -m venv venv310
- Activate the environment on Windows: venv310\Scripts\activate
- Install the project dependencies: python -m pip install -r requirements.txt
- Apply database migrations: python manage.py migrate
- If email notifications are required, create a .env file in the project root and configure the Gmail SMTP credentials using the environment variable names expected by the project.
- Use a Gmail app password where required. Do not store email credentials directly in source code.
- Start the Django development server: python manage.py runserver
- Open http://127.0.0.1:8000/ in your browser.
- Access the custom administrator login page using the URL configured in the project.
- Create an administrator account through the authorized registration process provided by the application.
- Submit a test complaint and verify complaint tracking, status changes, and in-app notifications.
- Test email notifications after confirming that the SMTP configuration is valid.
Stuck while running it? Chat with us on WhatsApp for free installation help.
No reviews yet. Be the first to review this project.