Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IT Helpdesk & Asset Tracker

A small full-stack web app for logging IT support tickets and tracking hardware assets — built as a practical learning project to develop hands-on experience with the tech stack used in business/IT support roles.

What it does

  • Log and manage support tickets — create a ticket, move it through Open → In Progress → Resolved.
  • Track hardware assets — add assets (laptops, monitors, etc.) with an asset tag, type, and who they're assigned to.
  • Export the asset inventory as XML — click "Export Asset List as XML" to download a structured XML report of all assets.
  • Filter tickets by status dynamically, without reloading the page.

Tech stack (and why each piece is here)

Skill Where it shows up
Python (Flask) app.py — all backend routes and logic
SQL (SQLite) Ticket and asset data stored in helpdesk.db
JavaScript (vanilla) static/js/app.js — fetches data, updates the page live
HTML5 / CSS3 templates/index.html, static/style.css
XML /api/assets/export.xml — generates an XML report

How to run it locally

# 1. Create and activate a virtual environment
python3 -m venv venv
source venv/bin/activate      
# on Windows: venv\Scripts\Activate.ps1

# 2. Install dependencies
pip install flask

# 3. Run the app
python app.py

# 4. Open your browser to:
http://localhost:5000

The database (helpdesk.db) is created automatically the first time you run it.

Project structure

it-helpdesk/
├── app.py                 # Flask backend (routes, database logic, XML export)
├── templates/
│   └── index.html         # Main page
├── static/
│   ├── style.css          # Styling
│   └── js/
│       └── app.js         # Frontend logic (fetch calls, DOM updates)
└── README.md

Possible next steps (ideas to keep extending it)

  • Add user login (Flask sessions) to simulate multiple support agents
  • Add a "priority" sort so High priority tickets show first
  • Add basic form validation feedback (e.g. red border on empty title)
  • Deploy it on a free host (Render, PythonAnywhere) so it's live, not just local
  • Write a few unit tests using Python's unittest or pytest

Why this project exists

Built to develop practical, demonstrable experience with Python web development, SQL, JavaScript, and XML — directly relevant to junior IT/software support roles that combine business application development with day-to-day IT support.

About

A full-stack IT ticketing and asset tracking app built with Python (Flask), SQL, and JavaScript.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages