feat: integrate web UI into monorepo with Docker Compose deployment#27
Merged
Conversation
Restructure repository into a monorepo with server/ and web/ directories, enabling single-command deployment of the complete OSA stack. Changes: - Move Python backend into server/ directory - Add webapp as web/ directory (Next.js frontend) - Create docker-compose.yml for production deployment - Create docker-compose.dev.yml for hot-reload development - Add multi-stage Dockerfiles for both services - Configure health checks and service dependencies - Update CI workflow for monorepo with path filtering - Add root Justfile for orchestration commands - Update documentation with deployment instructions Closes #25
|
- Move JSX rendering outside try/catch blocks to satisfy error-boundaries rule - Escape apostrophes in not-found.tsx - Remove unused index parameter from SearchHit component
5877c6d to
0fdf6f6
Compare
- Add new records router with GET /{srn} endpoint for fetching records
- Add pagination support to search with offset parameter and has_more flag
- Change search result field from "id" to "srn" for consistency
- Add SQLite support to Alembic migrations with fallback to OSA_DATA_DIR
- Fix Next.js API routing and environment variable handling for Docker
Add chunked processing for data sources to enable: - Progress saving after each chunk via database commits - Immediate downstream processing while ingestion continues - Efficient pagination using NCBI WebEnv session state - Batch embedding generation for vector indexes Key changes: - Add offset, chunk_size, session params to source pull() method - Implement continuation events for multi-chunk processing - Add flush() method to index backends with buffering support - Add FlushIndexesOnSourceComplete listener for data consistency - Enhance GEO source with retry logic and WebEnv pagination - Remove default limit from InitialRun config (now required) - Add CPU-only PyTorch dependency to reduce Docker image size
Update package name, page titles, component text, and code comments to reflect the new project branding. Add Source Sans 3 font for improved typography in headings and section titles.
Replace OSA Design System branding with clean scientific interface. Update color palette to modern neutral tones with friendly radius and soft shadows. Switch from multiple Google Fonts to Geist/Geist Mono for better performance and consistency. feat: add record comparison functionality with keyboard navigation Implement side-by-side record comparison with pin/unpin functionality. Add keyboard shortcuts (j/k for navigation, space to pin, esc to exit). Redesign search results with sidebar layout and detail panel for better data exploration workflow.
The ty type checker now correctly handles these patterns thanks to @dataclass_transform() decorators and improved type inference.
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.
Summary
server/(Python backend) andweb/(Next.js frontend) directoriesdocker-compose.dev.yml) with hot-reload support for both servicesTest plan
docker compose upand verify all services start healthy/api/v1/healthdocker compose -f docker-compose.yml -f docker-compose.dev.yml upfor dev mode with hot-reload