Skip to content

Simplify deployment to single Express service (ATXP-258)#15

Merged
robdimarco-atxp merged 3 commits intomainfrom
robdimarco/atxp-258-single-service-architecture
Sep 10, 2025
Merged

Simplify deployment to single Express service (ATXP-258)#15
robdimarco-atxp merged 3 commits intomainfrom
robdimarco/atxp-258-single-service-architecture

Conversation

@robdimarco-atxp
Copy link
Contributor

Summary

  • Simplifies deployment architecture from dual-service to single Express service
  • Express server now serves both API endpoints and React frontend in production
  • Eliminates inter-service hostname configuration issues across all deployment platforms
  • Follows proven single-service pattern from accounts project

Changes Made

  • Enhanced Express server: Added robust static file serving with dynamic path resolution
  • Updated deployment configs: Simplified Vercel and Render configurations for single service
  • Streamlined npm scripts: npm start now builds and runs single production server
  • Improved documentation: README reflects single-service architecture and simplified setup

Benefits

  • No hostname issues: Eliminates dynamic URL configuration problems
  • Simpler deployment: One service instead of two across all platforms
  • Cost effective: Single service instance reduces resource usage
  • Consistent: Same architecture in development and production

Test Plan

  • Backend builds successfully with TypeScript
  • Frontend builds successfully with React
  • Production server serves both API endpoints and static React files
  • SPA routing works correctly for client-side navigation
  • API endpoints return proper 404 for unknown routes

Deployment Platforms

  • Vercel: Single serverless function handles all routes
  • Render: Single web service with combined build process
  • Local: npm start builds and serves complete application

Linear Issue: https://linear.app/novellum/issue/ATXP-258/add-one-click-deploy-for-atxp-expresso-example

🤖 Generated with Claude Code

robdimarco-atxp and others added 3 commits September 10, 2025 09:18
- **Single-service architecture**: Express server now serves both API endpoints and React frontend
- **Simplified deployment**: Eliminates inter-service hostname issues across all platforms
- **Enhanced static file serving**: Robust path resolution with fallback handling
- **Updated documentation**: README reflects single-service production architecture
- **Optimized configurations**: Vercel and Render configs now use single service deployment
- **Streamlined npm scripts**: `npm start` builds and runs single production server

Follows proven pattern from accounts project for reliable deployment.

Closes ATXP-258

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove build step from npm start command
- Update README to show proper build + start workflow
- npm start should only start the server, build is separate step
- Follows standard npm conventions where start doesn't build

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Use `npm run install-all && npm run build` instead of manual cd commands
- Consistent with existing npm script architecture
- Cleaner and more maintainable build process

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@robdimarco-atxp robdimarco-atxp merged commit 2d6bd87 into main Sep 10, 2025
1 check passed
@robdimarco-atxp robdimarco-atxp deleted the robdimarco/atxp-258-single-service-architecture branch September 10, 2025 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant