Implementation up to choice.
Can use an already established file system standard or create your own.
If you create your own interface, document it in the Readme.
You can choose to store files in RAM or disk, either is okay. Goal is to eventually use disk but keeping files in memory first lessens the initial scope. But, use one of the OOP design patterns to encapsulate reading and writing data to a memory address so switching between RAM and disk storage requires minimal code changes.
Implementation up to choice.
Can use an already established file system standard or create your own.
If you create your own interface, document it in the Readme.
You can choose to store files in RAM or disk, either is okay. Goal is to eventually use disk but keeping files in memory first lessens the initial scope. But, use one of the OOP design patterns to encapsulate reading and writing data to a memory address so switching between RAM and disk storage requires minimal code changes.