Scaffold GillyTracker reporter SPA from keboo.react and adapt to existing Azure infra#1
Merged
Merged
Conversation
Agent-Logs-Url: https://github.com/Keboo/GillyTracker/sessions/2f82cf9b-89fb-4a9a-a579-90b2e62e9a86 Co-authored-by: Keboo <952248+Keboo@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Keboo/GillyTracker/sessions/2f82cf9b-89fb-4a9a-a579-90b2e62e9a86 Co-authored-by: Keboo <952248+Keboo@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Setup existing infrastructure for Gilly location reporting app
Scaffold GillyTracker reporter SPA from keboo.react and adapt to existing Azure infra
May 17, 2026
Keboo
approved these changes
May 18, 2026
Install pnpm before setup-node cache in frontend jobs and pin pnpm to 11.1.1 to match packageManager. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Memoize refreshUser with useCallback to fix react-hooks/set-state-in-effect error - Add refreshUser to useEffect dependencies - Add void keyword to loadRooms() call for proper async handling Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Define initializeAuth inside useEffect in AuthContext - Define load function inside useEffect in MyRooms - Remove unnecessary useCallback import from MyRooms - This satisfies react-hooks/set-state-in-effect rule Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Convert Box component style props to use sx prop (TS2769 errors) - Replace process.env.NODE_ENV with import.meta.env.MODE for Vite compatibility - Fixes Box styling issues in ProtectedRoute, QuestionDisplay, Room, RoomManage, and MyRooms Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
TypeScript requires component prop when using certain property combinations with Typography. Added component='p' to the description Typography. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The paragraph prop is Typography-specific and not available on native HTML elements. Since we're already rendering as a <p>, we don't need it. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Create a new EF Core migration to capture model changes and ensure database schema is in sync with the entity definitions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Create DogSightingReports table in GillyTracker schema - Configure latitude/longitude with decimal(10,7) precision - Add reporter details field with 2000 character limit - Auto-generate migration designer file Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…velopment The pre-login handshake error was caused by UseAzureSql() enforcing encryption when connecting to the local Docker SQL Server container, which has a self-signed certificate. In development, we now use UseSqlServer() to disable encryption, while production continues to use UseAzureSql() for Azure SQL compatibility. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
UseAzureSql enforces encryption which fails with self-signed certificates on the Docker SQL Server container. UseSqlServer works for both local development and CI/CD test environments. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…n development - Uses UseAzureSql() to preserve JSON column handling for AspNetUserPasskeys - Adds Encrypt=false to connection string in development to bypass TLS handshake errors with Docker SQL Server self-signed certificates - Removes accidentally generated RebuildSnapshot migration This resolves the pre-login handshake failure while maintaining proper model compatibility. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Changed TypeScript from 6.0.3 to 5.9.3 which is compatible with typescript-eslint - Removed incompatible 'ignoreDeprecations' setting from tsconfig.json - Regenerated pnpm-lock.yaml with compatible dependencies - Fixes 'Cannot read properties of null (reading matches)' error in npm install during AppHost startup Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
This PR turns the repo into a web-based Gilly sighting reporter using
keboo.react1.13.1, while adapting deployment assumptions to existing Azure resources instead of provisioning a full new stack.The app is now a no-auth single-page flow that captures geolocation (with manual fallback) plus reporter contact/details, and persists reports to SQL under the
GillyTrackerschema.Template bootstrap and repo initialization
Keboo.Dotnet.Templates@1.13.1(keboo.react) as the project baseline.Reporter-focused SPA flow (no auth)
navigator.geolocation.getCurrentPosition(...).Backend API and data model for sightings
SightingsControllerwithPOST /api/sightings(+ retrieval endpoint).DogSightingReportentity andDbSetmapping to:GillyTracker.DogSightingReportsExisting-infra alignment (Terraform)
Docs and metadata alignment
READMEto describe the Gilly reporting workflow and existing-infra expectations.Original prompt