<div align="center">

<img src="https://capsule-render.vercel.app/api?type=waving&height=210&color=0:0f172a,100:2563eb&text=OpsDesk%20Career%20Suite&fontSize=46&fontColor=ffffff&animation=fadeIn&fontAlignY=35&desc=Windows%20IT%20Operations%20Portfolio%20App&descAlignY=58" />

<img src="https://readme-typing-svg.demolab.com?font=Fira+Code&size=18&duration=2600&pause=700&color=2563EB&center=true&vCenter=true&width=980&lines=Audit+perangkat+dan+cek+kesehatan+sistem+secara+lokal;Jalankan+diagnostik+jaringan+untuk+troubleshooting+dasar;Kelola+tiket+helpdesk+dan+inventaris+aset+IT;Gunakan+demo+guide+untuk+interview+dan+presentasi+kerja" />

# OpsDesk Career Suite

**Aplikasi desktop Windows berbasis C# dan .NET 8 untuk menunjukkan kemampuan IT Support, Helpdesk, Network Support, Administrasi Aset, dan internal tool development dalam satu project portfolio.**

![.NET](https://img.shields.io/badge/.NET-8-blue)
![Windows](https://img.shields.io/badge/Platform-Windows-0ea5e9)
![UI](https://img.shields.io/badge/UI-WinForms-1d4ed8)
![Storage](https://img.shields.io/badge/Data-JSON%20%2B%20CSV-334155)
![Focus](https://img.shields.io/badge/Focus-IT%20Support%20Portfolio-1e40af)

</div>

---

## Ringkasan

OpsDesk Career Suite adalah versi lanjutan dari OpsDesk Pro yang difokuskan sebagai **aplikasi portfolio siap interview**.

Project ini cocok untuk menunjukkan kesiapan pada posisi seperti:
- IT Support
- Helpdesk IT
- Network Support
- IT Generalist
- Junior System Operations
- Junior Developer (internal tools)
- Administrasi operasional berbasis data

Aplikasi ini menggabungkan beberapa alur kerja penting dalam satu desktop app:
- audit perangkat lokal
- cek konektivitas jaringan
- pencatatan dan update tiket
- inventaris aset IT
- ekspor laporan
- panduan demo interview langsung di dalam aplikasi

---

## Fitur Utama

- **Dashboard Audit**
  - membaca informasi mesin lokal: user, domain, OS, runtime, arsitektur, CPU, uptime, direktori, IP lokal
  - memeriksa kapasitas drive sistem dan memberi status **Healthy** atau **Warning**
  - menampilkan metrik cepat: total tiket, open ticket, total aset, dan host yang reachable

- **Network Checks**
  - ping ke `localhost`, `1.1.1.1`, `8.8.8.8`, `google.com`, dan `github.com`
  - menampilkan status reachable, roundtrip time, timestamp, dan catatan hasil ping

- **Ticket Management**
  - tambah tiket
  - update tiket
  - ubah status menjadi resolved
  - hapus tiket
  - cari tiket berdasarkan judul, owner, kategori, prioritas, status, atau catatan
  - double click row untuk memuat data ke form edit

- **Asset Management**
  - tambah aset
  - update aset
  - hapus aset
  - cari aset berdasarkan nama device, asset tag, lokasi, assignee, status, atau catatan
  - double click row untuk memuat data ke form edit

- **Seed Demo Data**
  - mengisi contoh data tiket dan aset otomatis agar tidak kosong saat presentasi atau interview

- **Export Report**
  - export audit + network + summary ke JSON
  - export tiket ke CSV
  - export aset ke CSV
  - generate dashboard HTML untuk dibuka cepat di browser

- **Role Match Tab**
  - menjelaskan mapping fitur ke jenis pekerjaan dan skill yang relevan

- **Interview Guide Tab**
  - berisi script presentasi, urutan demo, pitch singkat, dan jawaban interview yang lebih rapi

---

## Kenapa Project Ini Kuat untuk Portfolio

Banyak lowongan entry-level IT tidak hanya mencari orang yang bisa coding atau sekadar troubleshooting saja.

Mereka biasanya mencari kandidat yang bisa:
- memahami masalah pengguna
- mendokumentasikan insiden dengan rapi
- melakukan pengecekan teknis awal
- mengelola data operasional
- menyusun laporan
- bekerja terstruktur

Project ini menunjukkan semua itu dalam satu aplikasi yang mudah dijelaskan.

---

## Mapping Fitur ke Skill Kerja

- **Dashboard audit** → endpoint inspection, basic system health check, troubleshooting awal
- **Network checks** → konektivitas, latency check, diagnosis jaringan dasar
- **Ticket management** → helpdesk workflow, prioritas, ownership, dokumentasi insiden
- **Asset management** → inventaris IT, status perangkat, accountability, pelacakan kepemilikan
- **Report export** → dokumentasi, handover, bukti kerja, reporting operasional
- **Role match + interview guide** → kemampuan presentasi, komunikasi, dan menjelaskan value project dengan jelas
- **WinForms + JSON** → C# desktop development, internal tool building, data persistence sederhana

---

## Workflow yang Sudah Tercakup

- **Create**
  - tambah tiket
  - tambah aset

- **Read**
  - baca audit perangkat langsung
  - baca hasil network check
  - baca daftar tiket
  - baca daftar aset

- **Update**
  - edit tiket
  - edit aset
  - ubah status tiket menjadi resolved

- **Delete**
  - hapus tiket
  - hapus aset

- **Search**
  - filter daftar tiket
  - filter daftar aset

- **Reporting**
  - ekspor JSON, CSV, HTML

Project ini **jujur**: belum memakai database SQL, login, role-based auth, REST API, atau background scheduler. Tapi untuk level portfolio dan pembuktian workflow, sudah sangat kuat dan mudah didemokan.

---

## Cara Demo Saat Interview

- klik **Refresh Audit** untuk menunjukkan pengecekan endpoint
- klik **Run Network Checks** untuk menunjukkan troubleshooting jaringan dasar
- klik **Seed Demo Data** bila daftar masih kosong
- masuk ke tab **Tickets**, lalu tambah atau update satu tiket
- masuk ke tab **Assets**, lalu edit satu aset
- kembali ke dashboard dan klik **Export Report**
- buka tab **Interview Guide** untuk mengingat alur penjelasan yang rapi

Untuk panduan lengkap, lihat file:
- `INTERVIEW_PRESENTATION_GUIDE.md`
- `FEATURE_SKILL_MAPPING.md`

---

## Tech Stack

- **Language:** C#
- **Framework:** .NET 8
- **UI:** Windows Forms
- **Storage:** Local JSON
- **Exports:** JSON, CSV, HTML
- **Platform:** Windows

---

## Struktur Project

```text
OpsDeskPro.csproj
Program.cs
MainForm.cs
run.ps1
README.md
INTERVIEW_PRESENTATION_GUIDE.md
FEATURE_SKILL_MAPPING.md
data/
├── assets.json
├── tickets.json
└── reports/
```

---

## Cara Menjalankan

## Opsi 1 - PowerShell helper

```powershell
Set-ExecutionPolicy -Scope Process Bypass
.\run.ps1
```

## Opsi 2 - Standard .NET commands

```powershell
dotnet restore

dotnet build

dotnet run --project .\OpsDeskPro.csproj
```

---

## Catatan Penting

- Aplikasi ini dibuat untuk **Windows**.
- Penyimpanan masih memakai **file JSON lokal** agar mudah dipelajari dan cepat dijalankan.
- Jika ping diblokir oleh firewall atau kebijakan jaringan, beberapa host bisa terlihat tidak reachable meskipun internet aktif.
- Project ini paling cocok untuk **portfolio, interview demo, dan pembuktian alur kerja IT operasional**.

---

## Upgrade Berikutnya yang Paling Bagus

- ganti JSON ke SQLite atau SQL Server
- tambahkan login dan role-based access
- tambahkan import CSV/Excel
- tambahkan audit trail perubahan data
- tambahkan REST API
- tambahkan notifikasi email / webhook
- tambahkan dashboard statistik yang lebih visual

---

## Hasil Akhir

Kalau kamu mempresentasikan project ini dengan benar, kamu bisa menunjukkan bahwa kamu bukan hanya mengerti teori, tapi juga bisa:
- membangun alat internal yang berguna
- memahami proses support harian
- bekerja rapi dan terstruktur
- menjelaskan solusi dengan bahasa yang mudah dipahami recruiter maupun user
