Sve je počelo jednostavnim upitom

Kupujem igre i softver na različitim stranicama, ponekad u paketima. Želim malu aplikaciju u kojoj mogu spremiti aktivacijske ključeve i vidjeti koje sam već iskoristio. Možete li izraditi nešto takvo?

Pitanja i odgovori u nastavku ilustrativna su rekonstrukcija razrade zahtjeva prema implementiranom proizvodu. Nisu prijepis razgovora ni izjava klijenta.

Postaviti pitanja koja oblikuju proizvod

Gdje se ključevi trenutačno nalaze?

U tablicama, e-pošti i tekstualnim datotekama. Ponekad zaboravim što sam već aktivirao.

Problem su raspršene informacije. Uz pretraživanje, svaki pojedinačni kod treba jasan status.

Na kojim uređajima trebate pristup?

Samo na svom Windows računalu. Ne trebam račun ni sinkronizaciju.

Odabrali smo lokalnu desktop aplikaciju. Za osnovni tijek rada nisu potrebni poslužitelj u oblaku, registracija ni internetska veza.

Što predstavlja paket?

Kupnju s više naslova. Ali kupujem i pojedinačno, a ponekad dobijem još jedan ključ za igru koju već imam.

Naslovi, pojedinačni zapisi ključeva i neobavezni paketi zasebni su pojmovi. Nazivi paketa mogu se ponovno koristiti, a otvaranje paketa prikazuje pripadajuće zapise.

Kako aplikacija zna da je ključ iskorišten?

Označit ću ga nakon aktivacije. Ako odaberem pogrešan zapis, želim to ispraviti.

Kopiranje ne mijenja status. Promjene su izričite i mogu se poništiti bez gubitka koda, izvora, bilježaka ili datuma. Aplikacija ne provjerava iskorištenost na internetu.

Što ako kod istječe ili još nije dostupan?

Neki kodovi imaju rok. Ponekad znam naslov, ali još nemam kod.

Rok je neobavezan kalendarski datum. Pregled zapisa koji traže pažnju obuhvaća nedostajuće kodove i neiskorištene ključeve koji istječu danas ili u sljedećih sedam dana.

Kako zaštititi i prenijeti kolekciju?

Želim je na svom računalu, uz mogućnost izvoza i ponovnog uvoza.

Lokalna baza je šifrirana. Kodovi su skriveni pri pregledavanju. JSON izvoz zahtijeva izričitu radnju, a uvoz prethodni pregled. Izvezeni kodovi su čitljivi i treba ih pažljivo pohraniti.

Od odgovora do provjerljivih korisničkih priča

  1. Organizirati kolekciju

    Kao kolekcionar želim spremiti svaki kod uz naslov, platformu i neobavezni paket kako ne bih pretraživao stare poruke.

    Što mora funkcionirati: Dva ključa za isti naslov ostaju zasebni zapisi. Pojedinačna kupnja ne zahtijeva paket.

  2. Znati što je dostupno

    Kao korisnik želim razlikovati dostupne, iskorištene i istekle zapise kako bih znao što traži pažnju.

    Što mora funkcionirati: Kopiranje ne mijenja status. Iskorišteni i već istekli ključevi ne pojavljuju se među nadolazećim istecima.

  3. Pronaći pravi zapis

    Kako kolekcija raste, želim pretraživati i filtrirati prema naslovu, platformi, paketu i statusu.

    Što mora funkcionirati: Otvaranje paketa ograničava Library na njegove zapise. Odabir naslova zadržava taj opseg.

  4. Ispraviti pogrešku

    Kao korisnik želim urediti podatke i poništiti slučajno označavanje iskorištenog ključa bez oštećenja zapisa.

    Što mora funkcionirati: Potvrdom se briše datum korištenja, a ostali podaci ostaju. Prošli rok i dalje znači da je ključ istekao.

  5. Zadržati kontrolu nad podacima

    Kao vlasnik želim zaštićenu lokalnu pohranu i svjesnu mogućnost prijenosa kolekcije.

    Što mora funkcionirati: Popisi ne otkrivaju kodove. Pregled uvoza objašnjava dodavanja i preskočene duplikate; odustajanje ništa ne mijenja.

Cjelovit tijek od kupnje do korištenja

  1. Izraditi paket poput Indie Weekend i dodati Hollow Knight s kodom. Ako rok ne postoji, datum isteka ostaje prazan.
  2. Dodati drugu kopiju iz druge kupnje. Naslov može biti isti; zapis ključa i izvor ostaju zasebni.
  3. Otvoriti paket ili pretražiti Library. Provjeriti odgovarajući zapis te izričito prikazati ili kopirati kod.
  4. Aktivirati ga na odgovarajućoj platformi, a zatim označiti kao iskorišten u aplikaciji Pixel Pocket. Aplikacija bilježi korisnikovu odluku.
  5. Ispraviti pogrešku u detaljima zapisa. Po potrebi izvesti kolekciju i pregledati uvoz prije potvrde.

Odrediti cjelovito prvo iskustvo

Prvi koristan rezultat bilo je pouzdano upravljanje ključevima: dodati zapis, sačuvati izvor, ponovno ga pronaći i zabilježiti korištenje. Sučelje je organizirano kroz Overview, Library, Titles i Bundles te preglede dostupnih ključeva, rokova i nedostajućih kodova.

Implementacija obuhvaća uređivanje, spremljene prikaze, skupne radnje, postavke izgleda i pregledani JSON uvoz/izvoz. Šifrirana lokalna baza i izričite radnje prikaza i kopiranja podržavaju privatnost. Raspored se prilagođava manjem prozoru.

Sinkronizacija u oblaku, automatska provjera aktivacije i cjelovita šifrirana prijenosna sigurnosna kopija nisu dio ove implementacije. JSON prenosi kolekciju, ali ne i postavke izgleda ili spremljene prikaze.

Provjeriti više od izgleda zaslona

Ključne provjere prate početni problem: kopije istog naslova moraju ostati odvojene; uređivanje jednog zapisa ne smije mijenjati druge; rok mora zadržati odabrani kalendarski dan; otkazani uvoz ne smije promijeniti kolekciju.

Projekt uključuje regresijske testove za rad s bazom, datume, promjene statusa i očuvanje podataka. Oni nadopunjuju pregled sučelja, ali ne zamjenjuju provjeru izdanja na Windowsu ni potpunu sigurnosnu reviziju.

Mala aplikacija s jasnom svrhom

Pixel Pocket privatnom klijentu daje jedno mjesto za aktivacijske ključeve, podatke o paketima i pregled onoga što je još dostupno. Korisnički račun nije potreban, a kolekcija ostaje na uređaju.

Vrijednost projekta iznosi 500 €. Vrijednost je u korisnom i povezanom tijeku rada prilagođenom jednoj osobi. Klijent ne mora donijeti tehničku specifikaciju: opis vlastite situacije dovoljan je da počnemo postavljati prava pitanja.