Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider version control capability options #33

Closed
hristoiankov opened this issue Oct 23, 2022 · 1 comment · Fixed by #34
Closed

Consider version control capability options #33

hristoiankov opened this issue Oct 23, 2022 · 1 comment · Fixed by #34
Labels
enhancement New feature or request

Comments

@hristoiankov
Copy link
Contributor

hristoiankov commented Oct 23, 2022

Consider options for saving iterations of a card game during development.

Implementation Options:

Export to Repository (Already possible)

Export database and save into a repository. The database.json file can be diffed between versions in the repo. Working iterations of the game can be tagged in the repository. This is a little harder to track since you are only making changes to a single file and it may be a bit daunting to read that large .json file. Running diff on such a large file (containing many images) crashes.

Card Editioning (Partial Versioning)

Add versioning to individual cards (1st edition, 2nd, ...). Create a new CardVersion/CardEdition table that contains a starting entry for each card. This can also already be achieved by just creating a new card "Ex. Red Apple" with a property of edition set to 1, 2, etc.

Exploded Project Structure (Entire reworking)

This has been hinted at by user requests, but the idea is that the database file can instead be exploded into many individual files that are part of a card game project. Ex. /assets folder with images, project root with cards.csv, attributes.csv, templates.csv, /templates folder with .html templates. Cider can be redesigned to use the file system instead of the indexed-db database. Unfortunately this change will make cider unable to run in the browser because of restrictions on file system access from browsers. We could investigate directly integrating with github repositories and pulling/pushing data to those repos on load/save. We could also look into making Cider a standalone app in addition to a web app that can save in multiple ways (db vs exploded).

@hristoiankov
Copy link
Contributor Author

To electron or not to electron? In respect to the exploded project idea, I'm considering converting cider into an electron app that can run on desktop and possibly a mobile application as well. This conversion will allow more fluid interfacing with the host file system and allow for the exploded project structure idea to be implemented.

@hristoiankov hristoiankov linked a pull request Dec 10, 2022 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant