📥 Scrapping Habbo game data and assets
Go to file
Walidoux 2b9a2720bc
refactor(all-in-one): Organize DomainTypes into Flag objects and change type in handleConvertion
- Refactored DomainTypes to a list of Flag objects for better organization
- Changed the domain parameter type in handleConvertion from DomainTypes to string, to remove unnecessary coupling from code.
2023-05-04 16:16:00 +01:00
.vscode refactor(IDE): add more extensions, fix tailwind intellisense 2023-05-02 17:02:58 +01:00
public fix(styles): resolve font not found 2023-05-02 16:21:09 +01:00
src refactor(all-in-one): Organize DomainTypes into Flag objects and change type in handleConvertion 2023-05-04 16:16:00 +01:00
src-tauri build(deps): update latest 2023-05-02 15:51:31 +01:00
.gitignore fix(vscode): remove ignored IDE settings 2023-04-19 17:12:50 +00:00
index.html feat(all-in-one): update prettier config, enable format on save 2023-05-02 15:51:22 +01:00
LICENSE feat(all-in-one): update prettier config, enable format on save 2023-05-02 15:51:22 +01:00
package.json build(deps): add flag-icons + update latest 2023-05-04 14:00:57 +01:00
pnpm-lock.yaml build(deps): add flag-icons + update latest 2023-05-04 14:00:57 +01:00
postcss.config.cjs feat(all-in-one): update prettier config, enable format on save 2023-05-02 15:51:22 +01:00
prettier.config.cjs feat(all-in-one): update prettier config, enable format on save 2023-05-02 15:51:22 +01:00
README.md refactor(markdown): update README 2023-05-04 16:14:30 +01:00
tailwind.config.cjs feat(all-in-one): update prettier config, enable format on save 2023-05-02 15:51:22 +01:00
tsconfig.json feat(all-in-one): update prettier config, enable format on save 2023-05-02 15:51:22 +01:00
vite.config.tauri.ts feat(all-in-one): update prettier config, enable format on save 2023-05-02 15:51:22 +01:00
vite.config.ts feat(all-in-one): update prettier config, enable format on save 2023-05-02 15:51:22 +01:00

🧿 Getting started

🎯 Todos

  • Two options for downloading Habbo resources:

    • Default data extraction. (Without conversion)
    • Using Scuti dataset for its renderer.
  • Languages feature. (Default: EN)

  • Download Habbo assets. (>800 MB of disk memory, make sure the IPC handles it correctly)

  • Fix rendering animation issues.

  • Add "abort" button with data suppression feature.

  • Convert front-end with SolidJS

  • Fix issue of prettier-plugin-tailwindcss

  • Export helpers/utils methods into Rust:

    • Implementing typesafety with types' collections using Tauri Specta
    • Handling extracted data in:
      • JSON (Default + Adjustements for Scuti)
      • XML (Using quickxml_to_serde)
      • TXT (no idea...)
    • Parsing data using std::{fs::File, io::Write}
  • Learning Rust:

    • Getting to know about vectors in depth.
  • Avoid conflicts in open-source.

  • Undertsand: Memory cache and disk cache.

Overview

📦 Techs stack

Rust lang Typescript lang

Tauri Vite SolidJS Tailwind framework

Eslint linter Prettier formatter

🏗️ How it works

Gamedata/Generic

It comes first with fetching data using the @tauri-apps/api/http module. Converting uncoming data into minified JSON file formats. (No need for avro, parquet, protobuf nor CSV for efficient data compression and encoding schemas for fast data storing/retrieval)

📤 Interesting topics

Misc

npx cloc . \
    --exclude-dir=target,_site,node_modules \
    --not-match-f=pnpm-lock.yaml
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
TypeScript                      43            158             19            855
JSON                             6              0              0            138
Rust                             5             39             81             83
Markdown                         1             19              0             45
CSS                              2              4              0             30
TOML                             1              5              2             27
SVG                              1              0              0             24
JavaScript                       3              0              1             23
HTML                             1              2              0             11
-------------------------------------------------------------------------------
SUM:                            63            227            103           1236
-------------------------------------------------------------------------------

🤝 Credits

This wouldn't be possible without KOZEN's help and bare bones the