2. Onboarding Overview - sitechtimes/science-demos GitHub Wiki
issues
format
- create an issue for the new demo to be added with
[number] - [demo name]
- example:
3 - water testing
- example:
- create the features of demo that need to be completed with
[feature description] ([demo number])
- example:
cell number graph (2)
- example:
- add a precise description of the issue.
- for the main demo issue, a simple description of what it should teach is fine.
- be specific in subissues. maybe add possible solutions, or potential libraries to be using.
completing issues
- make a branch for the main demo issue.
- complete the subissues in the branch attached to the main issue.
- try to describe changes in commit descriptions.
template guide & file structure
this frontend uses the sakai-vue template.
- all files are in the frontend folder.
- vite folder generally does not need any changes, unless there is an issue with deployment.
- any image/audio/video/etc static assets go in the public/demo-assets folder. if creating assets for a new demo, create a new folder just for that demo. create additional folders if there are too many assets (generally, there should not be that files needed).
- any unity projects go in the public/Build folder. have different folders for different demos.
- vue project is in the src folder
src
- assets: css assets. generally will not be changed. (ps. delete the phaser.css file once all phaser instances are deleted from project)
- components: smaller components of each demo, and other components.
- make folders for components specific to a demo.
- floatingconfigurator is part of the sakai-vue template, it shouldn't need to be changed.
- PlotlyChart is the chart component used in basically all demos. generally should not be changed, unless plotly library releases a breaking change or minor adjustments to the component need to be made.
- data: this folder may or may not exist anymore. it is a temporary folder to store data for reference in demos, if needed.
- games: please delete this folder after all phaser game instances are deleted.
- layout: part of sakai-vue template, it shouldn't need to be changed.
- router: index.js has all the routes of the project.
- add a new route when a new demo is created.
- when a new route is updated, remember to update MenuModel.js in layout folder so the new route shows up in the sidebar. (unless this has been optimized to not need two separate files)
- stores: stores managing the state of the project. create a new folder for each demo. write pinia in composition api.
- views: holds the view for demos and other pages.
- Dashboard, ArtCredits, and NotFound shouldn't need to be changed.
- dashboard and artcredits should auto update if MenuModel is changed.
- pages folder has categories of demos. create the new vue file in one of those folders, or create a new folder if the category does not exist yet.
- Dashboard, ArtCredits, and NotFound shouldn't need to be changed.
unity development
see the separate repository at this repository