

I have a old gaming laptop that is not supported.
Intel i7-7820HK, 4cores 8 threads 2.9Ghz.
Released in 2017.
That’s not old-arse as far as I’m concerned, and I don’t see the need for an upgrade. I’m going to install Linux on this PC because I have the know-how and desire to check out how electron fares. But I can see how that is not an option for everyone.
You should group your source files by domain, then by feature, e.g. ‘src/foo/model’ and ‘src/foo/exports’.
Is serialization/deserialization the only aim of these structures ? If not, that code should definitely be separated, so as to evolve separately from the structure itself.
If it is the only aim, the code should also be separated, so you can change your serialization type (e.g. from JSON to XML) without impacting the model.
Also you might need another export for compatibility with another software, and you don’t want your model file to grow with the 10 formats you support.