-
Notifications
You must be signed in to change notification settings - Fork 0
firebase documentation #170
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
Merged
+48
−8
Merged
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
3ce25e8
first draft
rugeli 2e14cd6
update
rugeli 6a5d545
Merge branch 'main' of https://github.com/AllenCell/cellpack-client i…
rugeli 02711f7
Merge branch 'main' of https://github.com/AllenCell/cellpack-client i…
rugeli a89d202
doc update: remove recipes_edited
rugeli bee0a1b
Potential fix for pull request finding
rugeli 61223e3
clarify wording
rugeli ae5b34f
remove "results" collection
rugeli 57b27b8
manage links
rugeli d74aee5
remove batch info
rugeli b2a7b29
mark config as an optional part
rugeli File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| # Firebase Schema Documentation | ||
|
|
||
| This document describes the Firestore database schema used by cellPACK. Collections are accessed by the client (cellPACK Studio), the core package (backend), or both. | ||
|
|
||
| ## Collections | ||
|
|
||
| | Collection Name | Purpose | Key Fields | Read | Write | Cleanup Policy | Related Process | Notes | | ||
| | -------------------- | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------ | --------------------------------------------- | ---------------------------------------------------------------- | ----------------------------------------------- | | ||
| | **recipes** | Stores the full-structured recipes | `name`, `id`, `dedup_hash`, `description`, `version`, `format_version`, `bounding_box`, `composition`, `objects`, `gradients`, `optional_gradients` | Recipe loading, UI display, user edit comparison, packing execution | Backend uploads via admin CLI tool | **No cleanup** - Permanent storage | Recipe loading, reference resolution, comparison with user edits | `optional_gradients` manually added | | ||
| | **configs** | Stores packing configuration settings | Referenced by path (e.g., `firebase:configs/{id}`) | Building packing job request, backend reads during packing | Backend admin uploads via CLI tool | **No cleanup** - Permanent storage | Packing job configuration, submitted to Docker server | Referenced but not directly queried by frontend | | ||
| | **objects** | Stores object definitions (molecules, organelles) | `name`, `id`, `dedup_hash`, `type`, `color`, `packing_mode`, `place_method`, `radius`, `inherit`, `gradient`, `representations`, `jitter_attempts` | Recipe reference resolution, inheritance chain resolution, packing execution | Backend admin uploads with deduplication | **No cleanup** - Permanent storage | Reference resolution in recipes, inheritance chain resolution | | | ||
| | **gradients** | Stores gradient definitions for spatial distributions | `name`, `id`, `dedup_hash`, `description`, `mode`, `mode_settings`, `weight_mode`, `pick_mode`, `reversed`, `invert` | Recipe/object reference resolution, editable field options | Backend admin uploads with deduplication | **No cleanup** - Permanent storage | Reference resolution, gradient options for editable fields | Can be combined (multiple per object) | | ||
| | **composition** | Stores composition definitions (what objects go where) | `name`, `id`, `dedup_hash`, `count`, `molarity`, `object`, `inherit`, `regions` (interior, surface, leaflets) | Recipe reference resolution, region-based placement | Backend admin uploads with topological sort | **No cleanup** - Permanent storage | Reference resolution, region-based object placement | | | ||
| | **job_status** | Tracks AWS packing job status | `status`, `error_message`, `outputs_directory`, `result_path`, `timestamp` | Frontend polling (every 500ms), progress monitoring, result retrieval | Backend updates during job execution (RUNNING → DONE/FAILED); frontend refreshes `timestamp` after the final read | **30 days** - cleaned if older than 30 days | Job monitoring, status polling, result retrieval | | | ||
| | **example_packings** | Maps example recipes to configs and defines UI metadata | `name` (display name), `recipe` (recipe ID), `config` (config ID), `editable_fields` (array of field IDs), `result_path`, `outputs_directory` | App startup, recipe dropdown population | Populated by recipe authors via the Studio upload script | **No cleanup** - Permanent storage | App initialization, recipe dropdown population, UI configuration | **Details for upload** - [documentation](https://github.com/mesoscope/cellpack/blob/main/docs/STUDIO_SITE.md#cellpack-studio-site) | | ||
| | **editable_fields** | Defines which recipe fields users can edit in UI | `id`, `name`, `data_type`, `input_type`, `description`, `path`, `min`, `max`, `options`, `gradient_options`, `conversion_factor`, `unit` | App initialization, form generation, input validation | Defined by users through upload script | **No cleanup** - Permanent storage | Dynamic form generation, input validation, gradient options | **Details for upload** - [documentation](https://github.com/mesoscope/cellpack/blob/main/docs/STUDIO_SITE.md#cellpack-studio-site) | | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.