Complete the application with private workspaces and persistent reporting - #5
Merged
Merged
Conversation
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
StructIQ now runs as a complete application from one origin: real accounts and isolated demo workspaces replace simulated login, and the dashboard uses the deployed API instead of localhost. Asset registration, editing, archiving/restoration, map browsing, citizen reporting, photo evidence, report tracking, maintenance notes, resolution history, and CSV export are connected end to end.
Sessions and all project data persist in SQL storage, with workspace authorization on private routes. Photos are decoded and re-encoded without original metadata. Scoring is explicitly illustrative, report priority is manually selected, and the flood scenario is reversible. Vercel uses the FastAPI entrypoint and requires a persistent PostgreSQL connection; local development uses an ignored SQLite database.
Validation: 26 Python integration/scoring tests and four frontend logic tests pass locally. CI runs the API suite against both SQLite and PostgreSQL 17. Browser checks cover demo creation, incident submission, retained resolution, and responsive layout. README documents deployment, API behavior, data limits, and the demonstration scope.