A full-stack rewards redemption web application demonstrating architecture, coding quality, testing, and DevOps practices.
Stack: React + TypeScript + Ruby on Rails API + PostgreSQL + Docker + AWS ECS/Fargate
See architecture.md for technical decisions, design rationale, and shipping plan.
- Docker and Docker Compose
- mise (tool version manager)
Install mise:
curl https://mise.run | sh# Install project tools
mise install
# Start all services (database, API, web)
docker-compose up
# Setup pre-commit hooks
mise run setupAfter infrastructure is set up, deployments are automatic on push to deploy:
git push origin deployGitHub Actions will:
- Build and push Docker images to ECR
- Run database migrations
- Update ECS Fargate services
- Output service URLs
Destroy all AWS infrastructure:
cd terraform
AWS_PROFILE=admin terraform destroy -auto-approveNote: Requires AdministratorAccess profile. See AWS Setup Guide for profile requirements.
- README.md (this file) - Onboarding and quick start
- architecture.md - Technical architecture and design decisions
- docs/aws-setup.md - Complete AWS infrastructure setup guide
- terraform/README.md - Terraform modules and usage
- docs/deployment.md - Deployment, monitoring, rollbacks, troubleshooting
- api/README.md - Rails API documentation
- web/README.md - React frontend documentation
Start work on a GitHub issue:
/start-issue <issue-number> [main|stack]Creates a worktree, fetches issue details, generates a plan, and commits setup.
rewards-app/
├── README.md # This file - onboarding guide
├── architecture.md # Technical architecture and decisions
├── .mise.toml # Tool version management
├── .pre-commit-config.yaml # Git hooks
├── docker-compose.yml # Local development services
├── .github/workflows/ # CI/CD pipelines
├── docs/ # Documentation
│ ├── aws-setup.md # AWS infrastructure setup
│ └── deployment.md # Deployment operations
├── terraform/ # Infrastructure as Code
│ ├── README.md
│ └── modules/
├── api/ # Rails API backend
│ ├── Dockerfile
│ └── README.md
└── web/ # React frontend
├── Dockerfile
└── README.md
For issues or questions:
- Check docs/deployment.md for troubleshooting
- Review architecture.md for design context
- Open a GitHub issue for bugs or feature requests