This Flight Booking App is developed as a way to get my feet wet with AWS CDK, leveraging AWS CDK to build a scalable flight seat booking system. It integrates various AWS services including DynamoDB, Lambda, Cognito, Amplify, API Gateway, EventBridge, and SES.
- Environment Files: This project uses environment variables to manage configuration settings. Ensure that the
.env
file in the root directory and the.env.local
file in theclient
directory are properly set up before running the application. - Frontend: The
client
folder contains a Next.js frontend which also utilizes environment variables declared in.env.local
for proper AWS service integration.
# backend env file
ENV=dev
USER_POOL_ID=
CLIENT_POOL_ID=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
# frontend env file
NEXT_PUBLIC_USER_POOL_ID=
NEXT_PUBLIC_USER_POOL_CLIENT_ID=
NEXT_PUBLIC_AWS_ACCESS_KEY_ID=
NEXT_PUBLIC_AWS_SECRET_ACCESS_KEY=
NEXT_PUBLIC_API_END_POINT=
NEXT_PUBLIC_AWS_REGION=
- Real-World Application: Construct a Flight Seat Booking system using AWS CDK.
- User Authentication: 🔐 Manage secure access using AWS Cognito.
- Flight Booking:
✈️ Enable users to book and manage flights effectively. - Notification System: 📧 Use AWS SES for timely email notifications.
- API Development: Build robust APIs with AWS API Gateway.
- End-to-End Testing: Perform comprehensive testing on AWS to ensure application reliability and scalability.
- AWS Account
- Node.js
- AWS CLI
- Clone the repository:
git clone https://github.com/hazeliscoding/aws-flight-booking-app
- Install dependencies:
npm install
- Set up your environment variables as outlined in the
.env
and.env.local
files. - Deploy the app using AWS CDK:
cdk deploy
Contributions are welcome! Please consider contributing to further enhance the functionality of this project.
This project is licensed under the MIT License - see the LICENSE file for details.