Deploy any GitHub repository in seconds β A production-grade, microservices-based deployment platform with real-time build processing and instant static site hosting.
ShipStream is a full-stack deployment platform that enables developers to deploy GitHub repositories instantly β similar to Vercel/Netlify, but built from scratch with modern microservices architecture. Users authenticate via GitHub OAuth, paste a repository URL, and get a live deployment with automated builds and subdomain-based hosting.
- ποΈ Microservices Architecture β 4 independent services working in harmony
- π Enterprise Security β GitHub OAuth, JWT authentication, rate limiting, CORS protection
- βοΈ Cloud-Native β Cloudflare R2 storage, Redis queue management, Docker/Render deployment
- β‘ Real-Time Processing β Asynchronous build queue with live status updates
- π¨ Modern Frontend β React + TypeScript + Vite + TailwindCSS with dark mode
- π¦ Production-Ready β Health monitoring, error handling, comprehensive logging
React 18 β’ TypeScript β’ Vite β’ TailwindCSS β’ Radix UI β’ Axios β’ React Router v6
Node.js β’ Express.js β’ TypeScript β’ GitHub OAuth β’ JWT β’ Redis β’ Cloudflare R2
Docker β’ Docker Compose β’ Render.com β’ Environment Validation β’ Health Checks
graph TD
A[Frontend<br/>React SPA] -->|Auth Request| B[Auth Service<br/>Port 5501]
B -->|OAuth Flow| C[GitHub OAuth]
A -->|Deploy Request| D[Upload Service<br/>Port 5500]
D -->|Upload Files| E[Cloudflare R2<br/>Storage]
D -->|Add to Queue| F[Redis Queue]
F -->|Process| G[Deploy Service<br/>Port 5502]
G -->|Download Files| E
G -->|Upload Build| E
H[Request Handler<br/>Port 3000] -->|Serve Files| E
I[Users] -->|Access Deployed Site| H
style A fill:#61dafb,stroke:#333,stroke-width:2px,color:#000
style B fill:#ffd700,stroke:#333,stroke-width:2px,color:#000
style D fill:#ffd700,stroke:#333,stroke-width:2px,color:#000
style G fill:#ffd700,stroke:#333,stroke-width:2px,color:#000
style H fill:#ffd700,stroke:#333,stroke-width:2px,color:#000
style C fill:#f0f0f0,stroke:#333,stroke-width:2px,color:#000
style E fill:#f0f0f0,stroke:#333,stroke-width:2px,color:#000
style F fill:#dc382d,stroke:#333,stroke-width:2px,color:#fff
style I fill:#4a90e2,stroke:#333,stroke-width:2px,color:#fff
4 Microservices:
- Auth Service β GitHub OAuth authentication & JWT token management
- Upload Service β Repository cloning, file upload, deployment tracking
- Deploy Service β Build queue processing & project compilation
- Request Handler β Static site serving with subdomain routing
- Node.js 18+ | GitHub OAuth App | Cloudflare R2 | Upstash Redis
# Clone the repository
git clone <your-repo-url>
cd shipstream
# Setup environment
cp server/.env.example server/.env
# Add your credentials (GitHub OAuth, R2, Redis)
# Validate configuration
node scripts/validate-env.js
# Start all services
./scripts/start-all.sh # Linux/Mac
scripts\start-all.bat # Windows
# Start frontend
cd client && npm install && npm run devServices will be available at:
- Frontend:
http://localhost:5173 - Auth:
http://localhost:5501 - Upload:
http://localhost:5500 - Deploy:
http://localhost:5502 - Request Handler:
http://localhost:3000
# Push to GitHub, then import to Render
# render.yaml auto-configures all 4 servicesdocker-compose up -d # Starts all servicesSee DEPLOYMENT.md for comprehensive deployment guide.
- GitHub OAuth 2.0 integration
- JWT-based session management
- Secure token refresh mechanism
- User-specific deployment isolation
- GitHub repository cloning with branch support
- Automatic file upload to cloud storage
- Asynchronous build queue processing
- Real-time status updates (uploading β building β deployed)
- Subdomain-based routing (
deployment-id.yourdomain.com) - Automatic MIME type detection
- SPA routing support
- Custom 404 pages
- Rate limiting (5 req/15min on auth endpoints)
- Helmet.js security headers
- CORS protection with origin whitelisting
- Input validation & sanitization
- Encrypted secrets management
shipstream/
βββ client/ # React frontend (Vite + TypeScript)
β βββ src/
β β βββ components/ # UI components + pages
β β βββ contexts/ # Auth state management
β β βββ services/ # API layer
β β βββ hooks/ # Custom React hooks
β βββ package.json
β
βββ server/
β βββ auth-service/ # GitHub OAuth + JWT
β βββ upload-service/ # Deployment management
β βββ deploy-service/ # Build processing
β βββ request-handler/ # Static file serving
β βββ shared/ # Common utilities
β
βββ scripts/
β βββ validate-env.js # Environment validation
β βββ start-all.sh # Service orchestration
β
βββ docker-compose.yml # Container orchestration
βββ render.yaml # Cloud deployment config
βββ DEPLOYMENT.md # Production guide
# Run tests for all services
cd server/auth-service && npm test
cd server/upload-service && npm test
cd server/deploy-service && npm test- Responsive Design β Mobile-first approach with TailwindCSS
- Dark Mode β Automatic theme switching
- Real-Time Updates β Live deployment status tracking
- Pirate Theme β Playful nautical metaphors ("Set Sail", "Anchored")
- Accessibility β Radix UI primitives for WCAG compliance
β
Full-Stack Proficiency β React frontend, Node.js microservices, DevOps setup
β
System Design β Microservices, queue management, distributed architecture
β
Cloud Technologies β Cloudflare R2, Redis, Docker, Render.com
β
Security Best Practices β OAuth, JWT, rate limiting, input validation
β
Modern Development β TypeScript, async/await, ES6+, REST APIs
β
Production-Ready β Health checks, error handling, logging, monitoring
β
Documentation β Comprehensive guides, inline comments, API documentation
β
DevOps β Docker, environment validation, automated deployment scripts
- π Deployment Guide β Production deployment instructions
- β Production Checklist β Pre-deployment verification
- π Project Analysis β Comprehensive technical breakdown
- Real-World Application β Solves actual deployment challenges, not a tutorial project
- Scalable Architecture β Designed for growth with horizontal scaling capability
- Enterprise Patterns β Microservices, queue processing, cloud storage
- Security-First β Multiple layers of protection (OAuth, JWT, rate limiting)
- DevOps Integration β CI/CD ready with Docker and cloud deployment configs
- Production Quality β Comprehensive error handling and monitoring
- Custom domain support (DNS integration)
- Build caching for faster deployments
- Deployment rollback functionality
- Team collaboration features
- Analytics dashboard
- WebSocket for real-time updates
Krishna Sharma
Full-Stack Developer specializing in scalable microservices and modern web applications
MIT License β See LICENSE for details
β Star this repo if you find it helpful!
Built with β€οΈ using TypeScript, React, Node.js, and modern cloud technologies