# YourDreamNameHere ## Overview YourDreamNameHere is a production-ready SaaS platform that provides automated sovereign hosting businesses. Users get domain registration, VPS provisioning, Cloudron installation, and complete business management for $250/month. ## πŸš€ Features - **🌐 Domain Registration**: Automated domain registration via OVH API - **πŸ–₯️ VPS Provisioning**: Instant VPS deployment with enterprise-grade security - **☁️ Cloudron Installation**: Automated Cloudron setup with custom domains - **πŸ’³ Payment Processing**: Integrated Stripe billing with subscription management - **πŸ“Š Business Management**: Complete ERP/CRM system via Dolibarr integration - **πŸ“± Mobile-Responsive**: Fully responsive design with accessibility support - **β™Ώ WCAG 2.1 AA**: Comprehensive accessibility features - **🌍 Internationalization**: Multi-language support (6 languages) ## πŸ—οΈ Architecture ### Technology Stack - **Backend**: Go 1.21 with Gin framework - **Frontend**: HTML5, CSS3, JavaScript with accessibility-first design - **Database**: PostgreSQL 15 with Redis 7 for caching - **Containerization**: Docker with multi-stage builds - **Deployment**: Docker Compose with health checks - **Payments**: Stripe (production-ready) - **Domains**: OVH API integration - **ERP**: Dolibarr integration - **Monitoring**: Prometheus + Grafana setup ### Business Logic Flow 1. User enters domain, email, and payment information 2. System validates input and processes payment via Stripe 3. OVH API registers the domain 4. VPS is provisioned and configured 5. Cloudron is installed and configured with custom domain 6. DNS is automatically configured 7. Dolibarr business management is set up 8. User receives Cloudron admin invitation ## πŸš€ Quick Start ### Prerequisites - Docker and Docker Compose - Go 1.21+ (for development) - Node.js (for frontend tooling, optional) ### Development Environment 1. **Clone and setup** ```bash git clone cd WebAndAppMonoRepo/output ``` 2. **Configure environment** ```bash cp configs/.env.example configs/.env # Edit configs/.env with your API keys ``` 3. **Start development stack** ```bash docker compose up -d ydn-db ydn-redis ``` 4. **Run the application** ```bash # Option 1: Direct Go run go run cmd/landing_main.go # Option 2: Docker container docker compose up -d ydn-app ``` 5. **Access the application** - Landing Page: http://localhost:8083 - Health Check: http://localhost:8083/health - API Status: http://localhost:8083/api/status ### Production Deployment 1. **Configure production environment** ```bash export DEPLOYMENT_HOST=192.168.3.6 export DOMAIN=yourdreamnamehere.com export STRIPE_SECRET_KEY=sk_live_... export OVH_APPLICATION_KEY=... ``` 2. **Deploy to production** ```bash ./scripts/deploy.sh deploy ``` ## πŸ§ͺ Testing ### Run All Tests ```bash # Using Docker (recommended) docker build -f Dockerfile.test -t ydn-test . docker run --rm --network host ydn-test # Or run test script directly ./tests/run_tests.sh ``` ### Test Categories - **Unit Tests**: Core business logic validation - **Integration Tests**: API endpoint testing - **Business Logic Tests**: Workflow validation - **Performance Tests**: Response time validation - **Accessibility Tests**: WCAG compliance validation ### Test Coverage - Target: >80% code coverage - Reports generated in `coverage/` directory - HTML coverage reports for detailed analysis ## πŸ”§ Configuration ### Environment Variables #### Application - `APP_NAME`: Application name (default: YourDreamNameHere) - `APP_ENV`: Environment (development/production) - `APP_PORT`: Application port (default: 8080) #### Database - `DB_HOST`: PostgreSQL host - `DB_PORT`: PostgreSQL port (default: 5432) - `DB_USER`: Database username - `DB_PASSWORD`: Database password - `DB_NAME`: Database name #### Stripe - `STRIPE_PUBLIC_KEY`: Stripe publishable key - `STRIPE_SECRET_KEY`: Stripe secret key - `STRIPE_WEBHOOK_SECRET`: Stripe webhook secret - `STRIPE_PRICE_ID`: Price ID for $250/month subscription #### OVH - `OVH_ENDPOINT`: OVH API endpoint (default: ovh-eu) - `OVH_APPLICATION_KEY`: OVH application key - `OVH_APPLICATION_SECRET`: OVH application secret - `OVH_CONSUMER_KEY`: OVH consumer key #### Email - `SMTP_HOST`: SMTP server host - `SMTP_PORT`: SMTP server port - `SMTP_USER`: SMTP username - `SMTP_PASSWORD`: SMTP password - `SMTP_FROM`: From email address #### Dolibarr - `DOLIBARR_URL`: Dolibarr instance URL - `DOLIBARR_API_TOKEN`: Dolibarr API token ## 🌍 Internationalization ### Supported Languages - English (en) - Default - Spanish (es) - French (fr) - German (de) - Chinese (zh) - Japanese (ja) ### Adding New Languages 1. Add translation to `translations` object in the frontend 2. Update language selector options 3. Test all UI elements are translated 4. Verify date/time formats for locale ## β™Ώ Accessibility Features ### WCAG 2.1 AA Compliance - **Keyboard Navigation**: Full keyboard accessibility - **Screen Reader Support**: Comprehensive ARIA labels and roles - **Focus Management**: Visible focus indicators and logical tab order - **High Contrast**: Support for high contrast mode - **Reduced Motion**: Respect for user's motion preferences - **Color Independence**: Information not conveyed by color alone - **Error Handling**: Clear error messages and recovery options - **Semantic HTML**: Proper HTML structure for assistive technologies ### Testing Accessibility ```bash # Automated accessibility testing npm install -g pa11y-ci pa11y-ci http://localhost:8083 # Manual testing checklist - Navigate with keyboard only - Test with screen reader (NVDA, VoiceOver) - Verify color contrast ratios - Test with high contrast mode - Test with reduced motion ``` ## πŸ“Š Monitoring & Observability ### Health Checks - Application health: `/health` - Database connectivity: `/health/db` - External service status: `/api/status` ### Metrics - Application metrics: `/metrics` - Response time monitoring - Error rate tracking - User journey analytics ### Logging - Structured JSON logging - Request tracking with unique IDs - Error stack traces - Performance metrics ## πŸ”’ Security ### Implemented Features - **Input Validation**: Comprehensive input sanitization - **Rate Limiting**: API rate limiting and DDoS protection - **CORS**: Proper cross-origin resource sharing - **HTTPS**: SSL/TLS encryption (production) - **Authentication**: JWT-based authentication - **Authorization**: Role-based access control - **Data Protection**: GDPR-compliant data handling ### Security Headers - Content Security Policy - X-Frame-Options - X-Content-Type-Options - Strict-Transport-Security - Referrer-Policy ## πŸš€ Deployment ### Production Requirements - Ubuntu 24.04 host - Docker and Docker Compose - SSL certificates (automated via Let's Encrypt) - 2GB+ RAM minimum - 20GB+ storage minimum ### Deployment Script ```bash # Automated production deployment ./scripts/deploy.sh deploy # Deployment with monitoring ENABLE_MONITORING=true ./scripts/deploy.sh deploy # Rollback deployment ./scripts/deploy.sh rollback ``` ### Environment Setup 1. **Server Preparation** ```bash # Install Docker curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh # Install Docker Compose curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ``` 2. **SSL Setup** ```bash # Automatic SSL certificate setup certbot --nginx -d yourdomain.com ``` ## πŸ“š API Documentation ### Endpoints #### Health Check ``` GET /health ``` Returns application health status. #### API Status ``` GET /api/status ``` Returns system status and service connectivity. #### Launch Business ``` POST /api/launch Content-Type: application/json { "domain": "example.com", "email": "user@example.com", "cardNumber": "4242424242424242" } ``` #### Customer Status ``` GET /api/status/{customerID} ``` Returns provisioning status for a customer. ### OpenAPI Specification Available at `/swagger/index.html` when running the application. ## πŸ”„ CI/CD Pipeline ### Git Workflow - **Main Branch**: Production-ready code - **Feature Branches**: Development work - **Pull Requests**: Code review and testing - **Atomic Commits**: Small, focused changes - **Conventional Commits**: Standardized commit messages ### Commit Message Format ``` [optional scope]: [optional body] [optional footer(s)] ``` Types: - `feat`: New feature - `fix`: Bug fix - `docs`: Documentation changes - `style`: Code formatting changes - `refactor`: Code refactoring - `test`: Adding or updating tests - `chore`: Maintenance tasks ## 🀝 Contributing ### Development Workflow 1. Create feature branch from main 2. Make atomic commits with conventional messages 3. Add tests for new functionality 4. Ensure all tests pass 5. Update documentation 6. Submit pull request 7. Code review and merge ### Code Standards - Go: Use `gofmt` and `golint` - Frontend: Follow WCAG guidelines - Tests: Minimum 80% coverage - Documentation: Update README and API docs ## πŸ“„ License Β© 2024 YourDreamNameHere.com. All rights reserved. ## πŸ“ž Support ### Documentation - [API Documentation](/swagger/index.html) - [Accessibility Guide](docs/accessibility.md) - [Deployment Guide](docs/deployment.md) - [Troubleshooting](docs/troubleshooting.md) ### Getting Help - Create an issue on GitHub - Email: support@yourdreamnamehere.com - Community: [Discord/Slack channel] ## πŸ—ΊοΈ Roadmap ### Current Release (v1.0.0) - βœ… Complete automated workflow - βœ… Accessibility compliance - βœ… Internationalization support - βœ… Production deployment - βœ… Comprehensive testing ### Future Releases - πŸ”„ Advanced analytics dashboard - πŸ”„ Multiple hosting providers - πŸ”„ Advanced security features - πŸ”„ Mobile applications - πŸ”„ API rate limiting tiers ## πŸ“ˆ Metrics & KPIs ### Business Metrics - Customer acquisition cost - Monthly recurring revenue - Customer lifetime value - Churn rate ### Technical Metrics - API response time: <200ms average - Database query time: <50ms average - Page load time: <2s mobile, <1s desktop - Uptime: 99.9% with auto-restart - Concurrent users: 1000+ supported --- **Last Updated**: November 20, 2024 **Version**: 1.0.0 **Status**: Production Ready β™ΏπŸŒ