Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Om4513/IT_HelpDesk_Ticket_Management_System

Open more actions menu

Repository files navigation

🛠 IT Helpdesk Ticket Management System:-

A role-based IT Helpdesk Management System built using Python, SQLite, CLI, and Streamlit. The project simulates real-world IT support workflows including user authentication, ticket management, reporting, and audit logging.

📌 Project Overview:

This system allows:

👤 User Registration & Login (Employee / Admin)

🎫 Ticket Creation & Tracking

🔄 Ticket Status Updates (Open, In Progress, Closed)

📊 Ticket Export to CSV Report

🔐 Secure Password Hashing using bcrypt

📝 Audit Logging of All Activities

🌐 Web Interface using Streamlit

💻 CLI-Based Application Version

🧰 Tech Stack:

Python 3

SQLite Database

CLI(Terminal Interface via PyCharm)

bcrypt (Password Hashing)

Streamlit (Web Interface)

CSV Module (Report Generation)

📂 Project Structure:

IT_HelpDesk_Ticket_Management_System/

├── App.py # CLI-based application

├── web_app.py # Streamlit web application

├── db_setup.py # Database setup

├── check_users.py # View users in DB

├── check_tables.py # Verify DB tables

├── check_sqlite.py # DB test connection

├── sample_outputs/ sample_tickets_report.csv # Sample generated reports

├── .gitignore

└── README.md

🔧 Install Dependencies:

⚠ If using Python 3.13 (recommended safe method):

python -m pip install streamlit bcrypt

If needed, upgrade pip first:

python -m pip install --upgrade pip

🗄 Setup Database (First Time Only)

Run:

python db_setup.py

This creates the required SQLite database and tables.

💻 Run CLI Version:

python App.py

Features available in CLI:

Register

Login

Create Ticket

View Tickets

Update Ticket Status

Export CSV

Admin Controls:

🌐 Run Web Version (Streamlit):

⚠ Do NOT run:

python web_app.py

✔ Correct method:

python -m streamlit run web_app.py

Then open your browser:

http://localhost:8501

🔐 Security Implementation:

Passwords are securely hashed using bcrypt

Plain text passwords are never stored

Role-based Access Control (Admin / Employee)

All actions recorded in audit_log.txt

📊 Sample Output:

Sample generated CSV reports are stored inside:

sample_outputs/ sample_tickets_report.CSV

These demonstrate exported ticket data.

🚀 Key Features Implemented:

Secure Authentication System

Role-Based Authorization

CRUD Operations on Tickets

Audit Logging System

CSV Report Generation

CLI + Modern Web Interface

GitHub Project Structure with Proper .gitignore

🎯 Future Enhancements:

Cloud Deployment (AWS / Azure)

Email Notifications

Dashboard Analytics

REST API Integration

Docker Containerization

👨‍💻 Author:

Om Babar

IT Support / Cloud Enthusiast / Cybersecurity Analyst

Python Developer

⭐ Conclusion:

This project demonstrates the practical implementation of:

Database Management

Authentication & Security

Role-Based Access Control

Real IT Workflow Simulation

CLI & Web Application Development

About

A role-based IT Helpdesk Ticket Management System built using Python, SQLite, and Streamlit with secure bcrypt authentication, reporting, and role-based access control.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.