TixVault is a cloud-native ticket booking system designed to handle flash sales and high-traffic events. It uses atomic Redis operations to prevent double-booking and scales automatically on AWS.
- ⚡ High Concurrency: Redis
DECRatomic operations handle 5,000+ concurrent seat reservations. - 🧩 Microservices: Decoupled email notifications via AWS SQS.
- ☁️ Serverless Containers: Deployed on AWS ECS Fargate—no servers to manage.
- 🏗️ Infrastructure as Code: Entire AWS environment (VPC, ECS, RDS, Redis, ALB) defined in Terraform.
- 🚦 CI/CD Ready: Automated deployments via GitHub Actions.
- 🌍 Multi-Region Failover: Route 53 active-passive setup for disaster recovery.
User (Browser) │ ▼ [Application Load Balancer (ALB)] │ ▼ [AWS ECS Fargate (Node.js API Container)] │ │ │ ▼ ▼ ▼ [ElastiCache] [RDS Aurora MySQL] [SQS Queue] (Redis) (Persistent Orders) (Async Emails)
| Layer | Technology |
|---|---|
| Frontend | React.js |
| Backend | Node.js, Express.js |
| Cache | Redis (AWS ElastiCache) |
| Database | MySQL (AWS RDS) |
| Orchestration | AWS ECS Fargate |
| Infra Code | Terraform |
| CI/CD | GitHub Actions |
# Clone the repo
git clone https://github.com/YOUR_USERNAME/tixvault.git
cd tixvault
# Start the stack
docker-compose up --build
# Initialize seats (one time)
curl -X GET http://localhost:5000/init
# Open the UI
open http://localhost:3000
☁️ How to Deploy to AWS
bash
# Build and push Docker image
aws ecr get-login-password | docker login --username AWS --password-stdin <account-id>.dkr.ecr.us-east-1.amazonaws.com
docker build -t tixvault-backend ./backend
docker tag tixvault-backend:latest <account-id>.dkr.ecr.us-east-1.amazonaws.com/tixvault-backend:latest
docker push <account-id>.dkr.ecr.us-east-1.amazonaws.com/tixvault-backend:latest
# Deploy with Terraform
cd terraform
terraform init
terraform apply
🧠 Why This Project Matters
Interview Question How TixVault Answers It
"How do you handle millions of users?" Horizontal scaling via ECS Fargate + ALB.
"How do you prevent double-booking?" Atomic Redis DECR ensures only one user gets the seat.
"Why use Docker?" Ensures identical environments from local to production.
"How do you decouple services?" SQS separates the API from the email worker.
"How do you manage infrastructure?" Terraform ensures immutable, version-controlled infrastructure.
🏆 Author
Faizan – Cloud & DevOps Engineer
📧 fs216716@gmail.com
🔗 LinkedIn: https://www.linkedin.com/in/faizan-siddiqui09/
📜 License
Open-source for educational and portfolio purposes.
text
---
### 🚀 Now Push to GitHub
Copy the corrected version above, paste it into your `README.md`, save it (`Ctrl+S`), and run:
```powershell
git add README.md
git commit -m "Added professional README with architecture and screenshots"
git push



