aboutsummaryrefslogtreecommitdiff
path: root/oop2eindopdr/readme.md
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2022-12-22 14:31:10 +0100
committerlonkaars <loek@pipeframe.xyz>2022-12-22 14:31:10 +0100
commit9eb8aa6bab40bd58e70cb6124e462e1a3d47edb7 (patch)
treefb19d43a3b5544bce86439f2004ba59d3a35156a /oop2eindopdr/readme.md
parent76a4bcf9845f14ad0d679696f47f58dd8ca0a0b4 (diff)
eindopdracht beginsel
Diffstat (limited to 'oop2eindopdr/readme.md')
-rw-r--r--oop2eindopdr/readme.md93
1 files changed, 93 insertions, 0 deletions
diff --git a/oop2eindopdr/readme.md b/oop2eindopdr/readme.md
new file mode 100644
index 0000000..d423e78
--- /dev/null
+++ b/oop2eindopdr/readme.md
@@ -0,0 +1,93 @@
+# eindopdracht
+
+combinatie readme en kladblok tijdens ontwikkeling
+
+## gebruikte libraries
+
+- versies moeten nog gedocumenteerd worden
+- er wordt er vanuit gegaan dat deze libraries als systeemheaders geïnstalleerd
+ zijn
+
+- [nlohmann/json](https://github.com/nlohmann/json) voor json (de)serializen
+- [cpr](https://github.com/libcpr/cpr) voor https requests
+- [libzip](https://libzip.org/) voor zip bestanden maken
+- [csv2](https://github.com/p-ranav/csv2) voor csv bestanden (de)serializen
+
+## functionaliteit (pseudocode)
+
+```
+parse_cli_arguments()
+init_update_cache()
+case cli_argument.count
+ 0: // no arguments (interactive mode)
+ while 1:
+ id = input_text("card id?: ")
+ list = filter_card_list(id)
+ if list.count > 1:
+ card = choose_single_card()
+ else:
+ card = list[0]
+ display_card_with_value_info(card)
+ 1, 2: // input csv with optional output json (semi-interactive mode)
+ ids = parse_csv()
+ cards = []
+ for id in ids:
+ card = get_card_by_id(id)
+ display_card(card)
+ cards += card;
+ if cli_argument.count == 2:
+ export_cards_as_zip(cli_argument[0])
+ else if input_yn("export? [Y/n]: "):
+ output_filename = input_text("export filename?: ")
+ export_cards_as_zip(output_filename)
+
+```
+
+## cache formaat (voorbeeld)
+
+```
+cache/
+ date
+ swshp-SWSH001/
+ info.json
+ card.png
+ card_hires.png
+ swshp-SWSH002/
+ info.json
+ card.png
+ card_hires.png
+ swshp-SWSH..../
+```
+
+- `date` bevat een unix timestamp wanneer de cache voor het laatst geupdate is
+ (gebruikt om te checken of de cache stale is)
+- `info.json` bevat voor elke kaart de json api response voor die kaart
+
+## zip formaat (voorbeeld)
+
+```
+output.zip/
+ cards.csv
+ swshp-SWSH001.png
+ swshp-SWSH002.png
+ swshp-SWSH....
+```
+
+- `cat cards.csv`:
+ ```
+ id,value
+ swshp-SWSH001,3.00
+ swshp-SWSH002,2.59
+ swshp-SWSH....
+ ```
+ (punt voor decimale punt inplaats van komma)
+- de kaart foto's zijn de -hires variant
+
+## klassen (wip)
+
+- PokemonCard
+- PokemonTCGAPIClient
+- CacheManager
+- DownloadManager
+- ZipExport
+