An internal complaint tracking platform built for Bonanza Satrangi to help employees submit issues, track complaint status, and let the IT/admin team review, manage, and export reports from a single system.
- Overview
- Features
- Tech Stack
- Project Structure
- Screenshots
- Prerequisites
- Installation
- Database Setup
- Running the Application
- Login Credentials
- How to Use
- Configuration Notes
- License
- Contact
This project is a Flask-based Employee Complaint Management System backed by an Oracle database. It supports employee login, complaint submission with attachments, status tracking, an IT/admin dashboard, and reporting with PDF and Excel export options.
The system is designed for company use, so access and redistribution should be controlled according to internal approval and permission requirements.
- Secure login with role-based access for employees and admin users.
- Employee dashboard with complaint statistics.
- Complaint submission form with category, priority, store location, device details, and file attachments.
- Complaint history page with search and status filtering.
- IT/admin dashboard for viewing and managing complaints.
- Reports page with time filters such as today, yesterday, last 7 days, this month, last month, this year, last year, and custom date ranges.
- Export reports to PDF and Excel.
- Oracle database integration for storing employees, departments, and complaints.
- Clean HTML/CSS templates for user-facing screens.
- Python
- Flask
- Oracle Database
- oracledb
- openpyxl
- ReportLab
- HTML, CSS, and Jinja2 templates
Employee Complaint Management System/
├── app.py
├── ECMS.sql
├── README.md
├── database/
│ └── db.py
├── static/
│ ├── css/
│ ├── images/
│ └── uploads/
└── templates/
├── complaint_details.html
├── complaint_form.html
├── complaint_success.html
├── employee_dashboard.html
├── it_dashboard.html
├── it_support.html
├── login.html
├── my_complaints.html
└── reports.html
No live demo is available yet.
- Python 3.10 or newer.
- Oracle Database XE or another Oracle instance.
- Oracle client support compatible with the
oracledbpackage. pipfor installing Python dependencies.
-
Clone the repository:
git clone https://github.com/Realmaryambano/Employee-Complaint-Management-System.git cd Employee-Complaint-Management-System -
Create and activate a virtual environment:
python -m venv venv venv\Scripts\activate
-
Install the required Python packages:
pip install flask oracledb openpyxl reportlab werkzeug
- Open
ECMS.sqlin Oracle SQL Developer, SQL*Plus, or your preferred Oracle tool. - Run the script to create the
Departments,Employees, andComplaintstables. - The script also inserts sample department and employee data for testing.
- If you want to use your own Oracle schema or credentials, update the connection details in
database/db.pybefore running the application.
-
Make sure your Oracle database is running.
-
Confirm the database schema has been created by running
ECMS.sql. -
Start the Flask application:
python app.py
-
Open the app in your browser:
http://127.0.0.1:5000
Sample credentials are included in ECMS.sql for local testing.
-
Employee account
- Email: employee@bonanza.com
- Password: 12345
-
Admin account
- Email: admin@bonanza.com
- Password: admin123
- Log in with an employee account.
- Review your dashboard to see complaint counts by status.
- Submit a new complaint from the complaint form.
- Track submitted complaints from the My Complaints page.
- Use search and status filters to find a complaint quickly.
- Log in with the admin account.
- Review complaint totals and current status summaries.
- Filter complaints by complaint ID, title, or status.
- Open the reports page to analyze complaint data by time period.
- Export reports to PDF or Excel for sharing and archival.
- The Oracle connection settings are currently stored in
database/db.py. - The app uses
static/uploadsfor uploaded attachments. - Keep the upload folder available and writable by the application.
- If you change the port or host, update the run instructions accordingly.
- Before production use, replace any test credentials and hardcoded secrets with secure environment-based configuration.
This project is proprietary and confidential.
Copyright (c) 2026 Maryam Bano and Bonanza Satrangi.
All rights reserved.
Use, copying, modification, redistribution, or deployment of this software is permitted only with prior written permission from Maryam Bano and Bonanza Satrangi, or by an authorized representative of the company.
For permissions or internal use approval, contact:
- Name: Maryam Bano
- Email: maryambano.official@gmail.com
- LinkedIn: https://www.linkedin.com/in/realmaryambano/
- Name: Maryam Bano
- Email: maryambano.official@gmail.com
- LinkedIn: https://www.linkedin.com/in/realmaryambano/
- GitHub Repository: https://github.com/Realmaryambano/Employee-Complaint-Management-System






