A comprehensive cloud-based streaming and content management system consisting of multiple microservices.
scscloud/
- Frontend application built with React/TypeScriptscsApiServer/
- Backend API serverscs-hls-client/
- HLS streaming clientemailServer/
- Email servicescs-cloud-services/
- Cloud infrastructure services
# Server Configuration
PORT=8080
MONGO_URI=your_mongodb_connection_string
# JWT Tokens
ACCESS_TOKEN_SECRET=your_access_token_secret
REFRESH_TOKEN_SECRET=your_refresh_token_secret
OTP_SECRET=your_otp_secret
ACCESS_KEY_CREDENTIALS_SECRET=your_access_key_credentials_secret
SECRET_ACCESS_KEY_CREDENTIALS_SECRET=your_secret_access_key_credentials_secret
# AWS Configuration
ACCESS_KEY_ID=your_aws_access_key_id
SECRET_ACCESS_KEY=your_aws_secret_access_key
MY_BUCKET_NAME=your_s3_bucket_name
# AWS ECS Configuration
CLUSTER_ARN=your_ecs_cluster_arn
TRANSCODER_TASK_DEFINITION_ARN=your_transcoder_task_definition_arn
HOSTER_TASK_DEFINITION_ARN=your_hoster_task_definition_arn
TRANSCODER_TASK_NAME=your_transcoder_task_name
HOSTER_TASK_NAME=your_hoster_task_name
MY_SUBNET_1=your_subnet_1_id
MY_SUBNET_2=your_subnet_2_id
MY_SUBNET_3=your_subnet_3_id
MY_SECURITY_GROUP=your_security_group_id
# Message Queue Configuration
QUEUE_HOST=your_queue_host
QUEUE_USER=your_queue_username
QUEUE_PASSWORD=your_queue_password
# Payment Gateway (Cashfree)
CASHFREE_APP_KEY=your_cashfree_app_key
CASHFREE_APP_SECRET_KEY=your_cashfree_secret_key
# Service Charges
TRANSCODER_SERVICE_CHARGE=your_transcoder_service_charge
HOSTING_SERVICE_CHARGE_PER_30_DAYS=your_hosting_service_charge
# AWS Configuration
MY_ACCESS_KEY_ID=your_aws_access_key_id
MY_SECRET_ACCESS_KEY=your_aws_secret_access_key
USER_ACCESS_KEY_ID=your_user_aws_access_key_id
USER_SECRET_ACCESS_KEY=your_user_aws_secret_access_key
# S3 Configuration
MY_BUCKET_NAME=your_s3_bucket_name
USER_BUCKET_NAME=your_user_bucket_name
VIDEO_KEY=your_video_key
BUCKET_PATH=your_bucket_path
# User Information
USER_EMAIL=your_user_email
# Message Queue Configuration
QUEUE_HOST=your_queue_host
QUEUE_USER=your_queue_username
QUEUE_PASSWORD=your_queue_password
# AWS Configuration
MY_ACCESS_KEY_ID=your_aws_access_key_id
MY_SECRET_ACCESS_KEY=your_aws_secret_access_key
MY_BUCKET_NAME=your_s3_bucket_name
# Web Configuration
WEB_URL=your_web_url
# Email Configuration
MY_EMAIL=your_email_address
MY_PASSWORD=your_email_password
- Clone the repository:
git clone <repository-url>
cd scsCloud
-
Set up environment variables:
- Copy the
.env.example
files in each service directory to.env
- Fill in the required environment variables as described above
- Copy the
-
Install dependencies for each service:
# Frontend
cd scscloud
npm install
# API Server
cd ../scsApiServer
npm install
# HLS Client
cd ../scs-hls-client
npm install
# Email Server
cd ../emailServer
npm install
- Start the services:
# API Server
cd scsApiServer
npm run dev
# Frontend
cd ../scscloud
npm run dev
# HLS Client
cd ../scs-hls-client
npm run dev
# Email Server
cd ../emailServer
npm run dev
- User authentication and authorization
- File upload and management
- Video transcoding
- HLS streaming
- Payment integration
- Email notifications
- AWS infrastructure integration
- ECS (Elastic Container Service)
- S3 (Simple Storage Service)
- Other AWS services as configured
- Never commit
.env
files to version control - Keep all secrets and API keys secure
- Use appropriate IAM roles and permissions
- Follow security best practices for production deployment
- Frontend is built with React, TypeScript, and Vite
- Backend uses Node.js with TypeScript
- Uses MongoDB for data storage
- Implements message queues for service communication
- Integrates with Cashfree payment gateway
- Set up AWS infrastructure according to the architecture
- Configure all environment variables in your deployment environment
- Set up CI/CD pipelines (if applicable)
- Deploy services to their respective environments
- Configure domain names and SSL certificates
- Set up monitoring and logging
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
[Add your license information here]