CareConnect is a static website for booking doctor appointments, served by a Node.js Express server. It is containerized with Docker and designed to be deployed on AWS EC2 using Terraform.
- Docker installed
- Node.js (optional, for local dev without Docker)
- Build the image:
docker build -t careconnect . - Run the container:
docker run -p 3000:3000 careconnect
- Open http://localhost:3000.
- Install dependencies:
npm install - Start server:
npm start
This project uses Terraform to provision an EC2 instance that automatically installs Docker and runs the application.
- AWS CLI configured
- Terraform installed
- Navigate to
terraform/:cd terraform - Initialize and Apply:
terraform init terraform apply
- Confirm with
yes. - Access the site using the
public_ipoutputted by Terraform.
- Frontend: HTML/CSS/JS (Static)
- Backend: Node.js Express (Serves static files)
- Infrastructure: AWS EC2 (Provisioned via Terraform)
- CI/CD: GitHub Actions (Builds Docker image on push)
To enable the automated deployment pipeline, you need to configure secrets in your GitHub repository.
- Go to your repository on GitHub.
- Click on Settings > Secrets and variables > Actions.
- Click New repository secret.
- Add the following secrets:
AWS_ACCESS_KEY_ID: Your AWS Access Key ID.AWS_SECRET_ACCESS_KEY: Your AWS Secret Access Key.AWS_REGION:ap-south-1(or your preferred region).