Created and maintained by Adedoyin Ekong – Cloud & DevOps Engineer
🚩 If you fork, please retain this attribution section to credit the original author.
AWS Serverless | Infrastructure as Code | CI/CD | Observability
This project includes a complete video walkthrough.
👉 Watch the demo on YouTube!
A true-to-life fintech payments API, fully serverless on AWS, built and shipped with CI/CD, real infrastructure-as-code, and shift-left security. This isn’t a demo. It’s the actual automation and reliability you’d expect from a cloud-native, production-grade system.
- Why I Built This & Why It Matters
- Project Highlights
- Architecture
- Screenshots & Walkthrough
- 1. CI/CD Pipeline Overview
- 2. CloudFormation Events
- 3. CloudFormation Stacks
- 4. CloudWatch Logging
- 5. Successful Deploy in CI/CD
- 6. DynamoDB Table
- 7. Lambda UI
- 8. API Gateway Resource
- 9. API Gateway Stages
- 10. Build & Test Passing
- 11. SAM Build (Terminal Output)
- 12. SAM Build (Step View)
- 13. SAM Deploy (Guided)
- 14. Successful Transaction Output
- 15. DynamoDB: Transaction Persisted
- 16. OWASP ZAP Security Scan
- 17. Production API Output
- 18. S3 Bucket: Deployed Templates
- 19. S3 Bucket: Artifact List
- Troubleshooting & Lessons Learned
- How to Run This Project
- Connect
- Keywords
I wanted to prove (to myself, to recruiters, to future teams) that I can own every part of the DevOps lifecycle—not just code, but automation, security, troubleshooting, and real AWS infrastructure.
This project simulates what a modern fintech system actually needs:
- Everything in code (no console clicking)
- Real CI/CD, real monitoring
- Failures documented, not hidden
- Security and audit baked in, not bolted on
For recruiters: This repo is proof I can ship, automate, secure, and support serious cloud software.
- 100% AWS Serverless – Lambda, API Gateway, DynamoDB, S3, CloudFormation/SAM.
- Push = Deploy – GitHub Actions pipeline runs tests, deploys, and security scans automatically.
- Security Baked In – OWASP ZAP scan on every deploy (see screenshots—403 is a feature, not a bug).
- Infra as Code – All infra is reproducible and versioned.
- Troubleshooting Shown – Real AWS issues and errors included; you see what actually happens in production.
All automated via SAM. Artifacts in S3. Monitoring with CloudWatch. Security in the CI/CD.
Every screenshot is shown in order (1–19) below, with clear explanations.
Images are referenced as IMAGES/FILENAME.png—just copy your images into the IMAGES/ folder in your repo.

Shows the whole GitHub Actions workflow with build-test, deploy, and security scan.

Proof of all AWS resource creations and status events.

All deployed stacks visible and trackable.

Lambda logs are visible and searchable in CloudWatch for observability and debugging.

Deployment job completes; you see API endpoint outputs and stack info.

Table structure and status as provisioned for transactions.

Lambda payment handler function, as deployed in AWS.

API resource and endpoint for payments.

Stage-level deployment, with live invoke URL.

Green check = tests pass before any deploy.

sam build shows Lambda and template packaged, ready to ship.

Full build process with all resources and layers bundled.

Deploy parameters chosen step-by-step for reproducibility.

API call returns status and a unique transaction_id.

You can see your API call resulted in a real DB write.

Security scan as part of CI/CD.
403 error? That’s good—it means your API isn’t wide open to the world (API key required).

Shows real output (or error) from the deployed API in production.

SAM CLI manages all deployment artifacts for rollback, audit, and reproducibility.

Versioned artifacts in S3, fully managed by AWS SAM.
- Stack in ROLLBACK_COMPLETE: Delete before redeploy or change the stack name in
sam deploy. - Table Already Exists: Use unique names or dynamic table names in your infra.
- ZAP Scan 403: Endpoint is secured (API key required). This is what you want for fintech APIs.
- No Changes to Deploy: All up to date. Edit the template or code to trigger a redeploy.
- Clone repo, set AWS credentials.
- Install Python, AWS CLI, AWS SAM CLI.
- Run
sam buildandsam deploy --guided. - (Or) Use GitHub Actions for automated pipeline.
- Run
pytestfor unit tests. - Check AWS for live API, Lambda, DynamoDB, S3, and logs.
#AWS #Serverless #DevOps #CI/CD #Fintech #Lambda #DynamoDB #APIGateway #SAM #OWASPZAP #Automation