Commit Graph

20 Commits

Author SHA1 Message Date
Danny 2d35f2d498 feat: implement server-side proxy with google-auth-library
Rewrite server.js to use google-auth-library for generating Google ID
tokens when authenticating requests to the backend Cloud Run service.

Key changes:
- Replace metadata server token fetch with GoogleAuth client
- Implement proper SSE streaming with raw byte passthrough
- Add health check endpoint for Cloud Run monitoring
- Update server to listen on 0.0.0.0:8080 for Cloud Run compatibility
- Add environment variable validation at startup
- Improve error handling and logging throughout request lifecycle

Update Dockerfile to install google-auth-library dependency and expose
port 8080 instead of port 80.
2026-01-20 12:18:09 -06:00
Danny 2e7db6a952 fix: pin Express to v4 to avoid path-to-regexp v8 breaking changes 2026-01-16 14:43:37 -06:00
Danny 10ed6a395a fix: update Express wildcard route for path-to-regexp v8 compatibility 2026-01-16 14:39:29 -06:00
Danny 5195901f01 feat: add Node.js Express server for IAP and backend auth
Replace Python http.server with Express to handle:
- Large IAP JWT headers that caused 500 errors
- API request proxying with GCP identity tokens
- Static React build serving with SPA fallback

Update api.ts to use relative URLs in production for proxy routing.
2026-01-16 14:33:26 -06:00
Danny Garcia 5eb6f9ea31
Merge pull request #4 from dannyjosephgarcia/WOOL-22
feature: local and production level connection
2026-01-16 12:52:51 -06:00
Danny 10eae505ef feature: local and production level connection 2026-01-16 12:52:21 -06:00
Danny Garcia fbf5ad5561
Merge pull request #3 from dannyjosephgarcia/WOOL-11
feat: rebrand to Woolnoth with new color palette and typography
2026-01-13 08:25:51 -06:00
Danny 6fb6f68998 feat: rebrand to Woolnoth with new color palette and typography
Replace Tyndale AI branding with Woolnoth identity including:
- New brand colors: Deep Navy (#24293e), Soft Light Grey (#f4f4f6),
  Cool Slate Blue (#5c6f91), and Burnt Coral Red (#e94f37)
- Updated typography from Montserrat/Outfit to Inter/Plus Jakarta Sans
- Add reusable Logo component for consistent branding
- Update favicon and page title
- Apply new color scheme across all components (chat, landing, pages)
- Update CSS variables and Tailwind config for brand consistency

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 08:23:36 -06:00
Danny b352a73190 fix: Nginx Fix 2026-01-09 12:09:54 -06:00
Danny 965a63c5ff fix: Nginx Fix 2026-01-09 12:02:17 -06:00
Danny cd367e7cfd fix: Nginx Fix 2026-01-09 11:56:04 -06:00
Danny Garcia 8350b67a31
Merge pull request #2 from dannyjosephgarcia/WOOL-8
WOOL-8: Nginx Update
2026-01-09 11:34:55 -06:00
Danny 0fd02b8d01 fix: increase Nginx header buffer size for IAP JWT tokens
Increases client_header_buffer_size to 4k and large_client_header_buffers
to 4 16k to handle large Google Cloud IAP JWT headers that were causing
500 errors.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 18:27:03 -06:00
Danny c8f10cb7f0 feat: add William Tyndale biography page
Implement a new biography page accessible via /tyndale route that provides
visitors with information about William Tyndale and his historic contribution
to Bible translation. The page features a card-based layout with a brief
summary of his life and work.

Changes:
- Create TyndalePage component with responsive card design
- Add /tyndale route to application routing
- Add "About Tyndale" link to landing page navigation
2026-01-07 14:26:11 -06:00
Danny 461a989bb2 fix: Docker compatibility 2026-01-06 15:08:27 -06:00
Danny 3cfdde809a fix: Docker compatibility 2026-01-06 14:46:10 -06:00
Danny Garcia 3b650b4423
Merge pull request #1 from dannyjosephgarcia/feat/initial-frontend-setup
feat: setup React/Vite frontend with Tyndale AI chat interface
2026-01-06 14:37:30 -06:00
Danny d1ce137726 feat: setup React/Vite frontend with Tyndale AI chat interface
Initialize complete frontend project structure with the following components:

- React 18 + Vite development environment with TypeScript
- Tailwind CSS for styling with custom animations
- Radix UI components for accessible UI primitives
- React Router for navigation between landing and chat pages
- TanStack Query for efficient API data management

Key features implemented:
- Landing page with hero, features, and footer sections
- Real-time chat interface with message history
- Study/Trading mode toggle for different interaction types
- Custom hooks for chat state management
- API integration layer with backend service
- Responsive design with scroll areas and card layouts

Docker deployment configuration:
- Multi-stage Dockerfile with Node.js build and Nginx production
- Custom nginx configuration for SPA routing on port 3000
- Optimized production build process

Development tools:
- ESLint for code quality
- TypeScript for type safety
- PostCSS with Autoprefixer
- Environment variable configuration with .env.example
2026-01-06 14:35:25 -06:00
Danny 2cbc0a7bba feat: setup React/Vite frontend with Tyndale AI chat interface
Initialize complete frontend project structure with the following components:

- React 18 + Vite development environment with TypeScript
- Tailwind CSS for styling with custom animations
- Radix UI components for accessible UI primitives
- React Router for navigation between landing and chat pages
- TanStack Query for efficient API data management

Key features implemented:
- Landing page with hero, features, and footer sections
- Real-time chat interface with message history
- Study/Trading mode toggle for different interaction types
- Custom hooks for chat state management
- API integration layer with backend service
- Responsive design with scroll areas and card layouts

Docker deployment configuration:
- Multi-stage Dockerfile with Node.js build and Nginx production
- Custom nginx configuration for SPA routing on port 3000
- Optimized production build process

Development tools:
- ESLint for code quality
- TypeScript for type safety
- PostCSS with Autoprefixer
- Environment variable configuration with .env.example
2026-01-06 14:34:25 -06:00
Danny Garcia cf746a2ab0
Initial commit 2026-01-05 16:46:39 -06:00