Open khenderson20 opened 5 months ago
Steps to take to implement an online shopping system using FastAPI
setup in your terminal like this
python -m venv back-end-environment source venv/bin/activate # on Windows use`venv\Scripts\activate` pip install fastapi uvicorn sqlalchemy pydantic
Enhance the database models
Update the schemas
Add CRUD operations for new functionalities
Set up authentication and authorization
Implement sorting and filtering for orders
Amazon EC2 (Used to host the FastAPI application)
Amazon RDS (Used to host our PostgreSQL or MYSQL database)
Amazon S3 (Store our static assets like product images and HTML, CSS, JavaScript)
Amazon API Gateway (Used to create, publish, maintain, monitor, and secure our API and can manage the API requests to the FastAPI application)
Amazon CloudWatch (Used to monitor and log app performance and metrics)
AWS CloudFormation (Used to automate the deployment of our infrastructure)
Frontend Application:
Static content (HTML, CSS, JS) hosted on S3 and served via CloudFront.
Backend Application:
FastAPI application hosted on EC2. API Gateway to manage and expose API endpoints.
Database:
RDS for PostgreSQL/MySQL to store user data, products, orders, etc.
Storage:
S3 for storing product images.
Authentication and Authorization:
IAM for managing permissions and roles. Cognito (optional) for managing user sign-up, sign-in, and access control.
Monitoring and Logging:
CloudWatch for monitoring application performance and logging.
Notifications:
SNS for sending notifications. SES for sending emails.
FastAPI - Back-end in Python Docs
Steps to take to implement an online shopping system using FastAPI
Step-by-Step Plan
setup in your terminal like this
Enhancements on the plan above to meet project Requirements (I think)
Enhance the database models
Update the schemas
Add CRUD operations for new functionalities
Set up authentication and authorization
Implement sorting and filtering for orders
AWS services to build this out
Amazon EC2 (Used to host the FastAPI application)
Amazon RDS (Used to host our PostgreSQL or MYSQL database)
Amazon S3 (Store our static assets like product images and HTML, CSS, JavaScript)
Amazon API Gateway (Used to create, publish, maintain, monitor, and secure our API and can manage the API requests to the FastAPI application)
Amazon CloudWatch (Used to monitor and log app performance and metrics)
AWS CloudFormation (Used to automate the deployment of our infrastructure)
Example Architecture
Frontend Application:
Static content (HTML, CSS, JS) hosted on S3 and served via CloudFront.
Backend Application:
FastAPI application hosted on EC2. API Gateway to manage and expose API endpoints.
Database:
RDS for PostgreSQL/MySQL to store user data, products, orders, etc.
Storage:
S3 for storing product images.
Authentication and Authorization:
IAM for managing permissions and roles. Cognito (optional) for managing user sign-up, sign-in, and access control.
Monitoring and Logging:
CloudWatch for monitoring application performance and logging.
Notifications:
SNS for sending notifications. SES for sending emails.
I will make the diagram tomorrow to show the flow