Inspiration

This project was inspired by my own real-world need to modernize an existing PHP & MySQL based digital product checkout system. I wanted to migrate from traditional server-based hosting to a fully serverless, scalable, and cost-efficient AWS architecture using Lambda, DynamoDB, S3, and SES. The goal was to reduce operational overhead, improve security, and leverage cloud-native services for better maintainability.

What I Learned

Through this migration and rebuild, I gained hands-on experience designing a serverless backend with AWS Lambda and API Gateway, integrating PayPal’s REST API for payments, and managing data with DynamoDB instead of relational databases. I also learned best practices for securely generating time-limited download links with S3 pre-signed URLs and sending transactional emails through SES. Managing environment variables and secrets securely across local and cloud environments was a key takeaway.

How I Built It

I rewrote the backend logic in Node.js using AWS Lambda with modular code for payment processing, transaction logging, download link generation, and email notifications. The static frontend is hosted on S3 and interacts with the Lambda APIs via API Gateway HTTP API. This serverless architecture allows me to scale effortlessly without managing servers or infrastructure.

Challenges Faced

Transitioning from PHP & MySQL to a fully serverless AWS stack required rethinking the application flow, especially for payment verification and secure file delivery. Validating PayPal transactions, generating and managing download links securely.


Built With

  • Languages: Node.js (ES Modules)
  • AWS Services: Lambda, API Gateway (HTTP API), DynamoDB, S3, SES
  • Payment Gateway: PayPal REST API
  • Other: Pre-signed URLs for secure downloads, environment variables for secrets management

Built With

Share this project:

Updates