A lightweight process and system monitoring tool built with Django, JavaScript, and a clean UI.
It allows you to:
- List connected computers
- View running processes in a tree structure
- Switch between Process Details and System Details tabs
- Auto-refresh data to see real-time changes
- Computer List Panel
Displays all registered hosts with the last seen timestamp. - Process Details Tab
- Expand/collapse process trees
- View columns for Name, Memory (MB), CPU (%), PPID
- System Details Tab
- OS, CPU, RAM, and Disk information
- Auto-Refresh
Enable/disable auto-refresh for the process list. - Responsive Design
Works on most screen sizes with a clean, modern UI.
- Backend: Django (Python)
- Frontend: HTML, CSS, Vanilla JS
- API: Django REST Framework (for computer & process data)
- Database: SQLite/PostgreSQL/MySQL (your choice)
- Version Control: Git + GitHub
project-root/
│
├── static/
│ ├── styles.css # Custom CSS for UI styling
│ ├── ui.js # Frontend logic (tabs, API calls, rendering)
│
├── templates/
│ └── index.html # Main UI layout
│
├── api/
│ ├── views.py # API endpoints for computers and processes
│ ├── serializers.py # Serialization of data for frontend
│
├── manage.py
└── README.md
git clone https://github.com/<your-username>/<your-repo>.git
cd <your-repo>
python -m venv venv
# On Windows:
venv\Scripts\activate
# On Mac/Linux:
source venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
Visit:
http://127.0.0.1:8000
Endpoint | Method | Description |
---|---|---|
/api/computers/ |
GET | List all computers |
/api/computers/<hostname>/latest/ |
GET | Get system details and process list for the host |
- Customize refresh intervals in
ui.js
(default: 5 seconds). - Update CSS in
static/styles.css
to tweak theme colors or layout.
- Fork the repository
- Create a feature branch
- Commit your changes
- Open a pull request
This project is licensed under the MIT License.
You’re free to use, modify, and distribute with attribution.
GitHub: @deepakkpy

