DataCoreX has been transformed from a demo application into a production-ready Backend-as-a-Service (BaaS) platform with professional-grade cloud services, billing, and real-time capabilities.
- AWS S3 Integration: Professional cloud storage with pre-signed URLs
- File Management: Upload, download, delete with comprehensive metadata tracking
- Usage Tracking: Storage usage and bandwidth monitoring for billing
- Security: Secure file access with proper authentication
- Redis Integration: Fast, real-time data operations with WebSocket support
- Document Operations: Create, read, update, delete with real-time sync
- Event Broadcasting: Live data updates across connected clients
- Subscription Management: Configurable data change notifications
- Usage Tracking: API calls, storage, bandwidth, real-time operations
- Cost Calculation: Automated billing with configurable rates
- Usage Analytics: Comprehensive usage summaries and reporting
- Quota Management: Tenant usage limits and enforcement
- Serverless Execution: Deploy and execute JavaScript functions
- Async Processing: Non-blocking function execution with CompletableFuture
- Runtime Support: JavaScript execution with environment variables
- Management API: Deploy, execute, list, and delete functions
- JWT Security: Production-ready token authentication
- API Key Management: Secure API key generation and validation
- Role-based Access: Proper endpoint protection and authorization
- CORS Configuration: Production CORS settings
- Tenant Management: Usage tracking, billing, and quota management
- Analytics: Tenant event logging and statistics
- Monitoring: Usage limits and quota enforcement
- Multi-tenancy: Organization-based resource isolation
- Email Service: SMTP integration for notifications
- Slack Integration: System alerts and notifications
- Payment Processing: Billing integration (Stripe-ready)
- Monitoring: System health and alerts
# application.yml
spring:
datasource:
url: jdbc:postgresql://localhost:5432/datacorex_dev
data:
redis:
host: localhost
port: 6379
datacorex:
storage:
s3:
bucket-name: datacorex-dev
region: us-east-1
billing:
api-call-rate: 0.0001
storage-rate-per-gb: 0.01# application-prod.yml
spring:
datasource:
url: jdbc:postgresql://localhost:5432/datacorex_prod
data:
redis:
host: ${REDIS_HOST:localhost}
datacorex:
storage:
s3:
bucket-name: ${S3_BUCKET_NAME:datacorex-storage}
access-key: ${S3_ACCESS_KEY}
secret-key: ${S3_SECRET_KEY}POST /api/storage/upload- Upload files to cloud storageGET /api/storage/download/{fileId}- Download filesGET /api/storage/list/{organizationId}- List organization filesDELETE /api/storage/{fileId}- Delete files
POST /api/realtime/data/{organizationId}/{collection}- Create dataGET /api/realtime/data/{organizationId}/{collection}/{documentId}- Read dataPUT /api/realtime/data/{organizationId}/{collection}/{documentId}- Update dataDELETE /api/realtime/data/{organizationId}/{collection}/{documentId}- Delete data
POST /api/functions/deploy- Deploy serverless functionPOST /api/functions/execute/{functionId}- Execute functionGET /api/functions/list/{organizationId}- List functionsDELETE /api/functions/{functionId}- Delete function
GET /api/billing/usage/{organizationId}- Get usage summaryGET /api/billing/costs/{organizationId}- Calculate costsPOST /api/billing/limits/{organizationId}- Set usage limits
- Spring Boot 3.3.0: Modern Java framework
- PostgreSQL: Production database
- Redis: Real-time data and caching
- AWS S3 SDK: Cloud storage integration
- WebSocket: Real-time communication
- Micrometer: Application metrics
- Prometheus: Metrics collection
- Actuator: Health checks and monitoring
- Comprehensive Logging: Structured application logs
- JWT Authentication: Secure token-based auth
- API Key Management: Programmatic access control
- CORS: Cross-origin request handling
- Input Validation: Comprehensive request validation
- ✅ Replaced H2 in-memory database with PostgreSQL
- ✅ Replaced MinIO local storage with AWS S3
- ✅ Added comprehensive billing and usage tracking
- ✅ Implemented real-time database with Redis
- ✅ Added cloud functions execution capability
- ✅ Enhanced security with proper authentication
- ✅ Removed all TODO placeholders and demo code
- ✅ Professional billing system with multiple usage types
- ✅ Real-time data synchronization across clients
- ✅ Serverless function deployment and execution
- ✅ Comprehensive usage analytics and reporting
- ✅ Multi-tenant architecture with organization isolation
- ✅ External service integrations (email, Slack, billing)
- ✅ Production-ready JWT authentication
- ✅ API key generation with security context
- ✅ Proper endpoint authorization
- ✅ CORS configuration for production
- ✅ Input validation and error handling
-
Setup Database
# PostgreSQL setup createdb datacorex_dev -
Configure Environment
# Set environment variables export DB_USERNAME=datacorex_dev export DB_PASSWORD=your_password export S3_ACCESS_KEY=your_access_key export S3_SECRET_KEY=your_secret_key
-
Run Application
mvn spring-boot:run
-
Access APIs
- Swagger UI: http://localhost:8081/swagger-ui.html
- Health Check: http://localhost:8081/actuator/health
This platform now provides complete Backend-as-a-Service functionality:
- Data Storage: Cloud file storage with AWS S3
- Real-time Database: Live data synchronization
- Cloud Functions: Serverless code execution
- Authentication: Secure user management
- Billing: Usage-based pricing model
- Analytics: Usage tracking and reporting
- Multi-tenancy: Organization-based isolation
Perfect for developers who need a professional backend infrastructure without managing servers, databases, or cloud services directly.
For technical support and API documentation, visit the integrated Swagger UI at /swagger-ui.html when the application is running.