From 68827087181d4fe03d791faa397e81fadb30b8c9 Mon Sep 17 00:00:00 2001 From: RobertGemmaJr Date: Mon, 26 Feb 2024 14:13:18 -0500 Subject: [PATCH 01/12] wip(directory_structure): re-order sections to match the new directory structure --- .../directory_structure.mdx | 122 ++++++++++-------- 1 file changed, 70 insertions(+), 52 deletions(-) diff --git a/docs/project_organization/directory_structure.mdx b/docs/project_organization/directory_structure.mdx index 035f1ea4..34966363 100644 --- a/docs/project_organization/directory_structure.mdx +++ b/docs/project_organization/directory_structure.mdx @@ -5,11 +5,11 @@ title: Directory Structure description: Overview of Honeycomb's directory structure --- -This project directory is organized to be very modular and composable. In general, files and functions should be relatively small and self-contained, global scope should not be used, and only the pieces of code needed for any given file should be imported. This keeps the code maintainable with clear lineage and purpose for each piece of code. +This project directory is organized to be modular and composable. In general, files and functions should be relatively small and self-contained, global scope should not be used, and only the pieces of code needed for any given file should be imported. ## assets/ -This folder contains any static files that are used by the app. Honeycomb starts with a few images used as icons for the installed applications. +This folder contains static files that are used by the application. Honeycomb uses a few images as icons for the installed applications. :::caution Assets that pertain to your specific task should be added to the [public/assets/](#assets-1) folder, not here! @@ -17,18 +17,18 @@ Assets that pertain to your specific task should be added to the [public/assets/ ## build/ -The [build scripts](npm_scripts#npm-build) automatically create a `build` folder at the root of the repository and update it on subsequent builds. `build/` should be left alone! +The [build scripts](npm_scripts#npm-build) automatically create a `build` folder at the root of the repository and update it on subsequent builds. :::danger -The build folder is in Honeycomb's `.gitignore` and should never be added to git +`build/` should be left alone! It is in Honeycomb's `.gitignore` and should never be added to git. ::: ## emulator_data/ -This folder contains starter data for the Firebase Emulators to use while developing locally. See the [Firebase Scripts](npm_scripts#firebase) to use the data. +This folder contains starter data for the Firebase Emulators to use while developing locally. The [Firebase Scripts](npm_scripts#firebase) detail how to use this data. :::danger -`emulator_data/` is written to when running `npm run firebase:emulators:save` and should never be manually edited. +`emulator_data/` is written to when running `npm run firebase:emulators:save` and should never be edited. ::: ## env/ @@ -38,7 +38,7 @@ This folder contains different files used to pass environment variables (setting ## node_modules/ :::danger -`node_modules/` is written to when running `npm install` and should never be manually edited. +`node_modules/` is written to when running `npm install` and should never be edited. It is in Honeycomb's `.gitignore` and should never be added to git. ::: ## psiturkit/ @@ -46,7 +46,7 @@ This folder contains different files used to pass environment variables (setting The file `psiturk-it` inside `psiturkit/` is a bash script used to instal PsiTurk locally - see [PsiTurk](psiturk#build-instructions) for more information. :::caution -Nothing in this folder should ever need to be manually edited. +This folder involves a Honeycomb deployment. The files do not need to be edited. ::: ## public/ @@ -54,82 +54,78 @@ Nothing in this folder should ever need to be manually edited. The `public` directory contains files that are used as assets in the built app. - `index.html` is the entry point of the website - - Changing `Honeycomb` will update the name you can see in the browser tab + - Changing `Honeycomb` will update the name you can see in the browser tab! - `favicon.ico` is the small icon you can see in the browser tab -- `electron.js` contains all of the code related to the electron app +- `manifest.json` contains metadata about the web app ### assets/ -The `public/assets/` directory contains all of the images and videos needed to run your task. +The `public/assets/` directory contains all of the audio, images, and videos needed to run your task. + +### electron/ + +The `public/electron/` directory contains the files needed to run Honeycomb as an Electron app. + +- `main.js` sets up Electron itself +- `preload.js` sets up the communication between the main and renderer processes. + +:::caution +This folder involves a Honeycomb deployment, the files do not need to be edited. +::: ### lib/ The `public/lib/` directory contains the files PsiTurk needs to run. Note that `index.html` references these files inside the `