The application shown below is an e-commerce platform designed for C2C (consumer-to-consumer) transactions. It accommodates two main user categories: buyers and sellers.
Buyers can view listed products, add desired items to their carts, and proceed to place orders, which can be canceled until confirmed by the seller. Sellers, on the other hand, can list their products, manage their availability, and handle incoming orders, deciding whether to confirm or cancel them. Upon confirmation by the seller, orders are processed, and upon receipt of the product by the buyer, payment is initiated, adding to the seller's balance.
The application architecture utilizes several AWS services to provide a scalable and reliable solution: user registration and authentication are managed by Amazon Cognito, while data is stored in DynamoDB. CloudFront is employed to optimize content delivery of the React application hosted in an S3 bucket, acting as a proxy to forward requests made by the React application to the API Gateway. The API Gateway serves as a gateway for the Product, Order, and Cart services. These services are implemented as AWS Lambda function for each supported REST operation.
More details related to implementation choices and more screenshots of the application are showed in the first chapter of the documentation.
To begin installing and setting up the application, please refer to the second chapter of the documentation. While the prerequisites and first installation steps may be outlined here, the second chapter of the documentation also includes how to interact with the AWS Amplify wizard (through CLI) to generate the services used in the application.
Make sure to have installed:
- git (versione 2.14.1 o superiore)
- Node.js (versione 14.x o superiore)
- npm (versione 6.14.4 o superiore)
If you haven't already, you'll also need to create an AWS account. You can do so here.
Finally, install the AWS Amplify CLI by running the following command in your terminal:
curl -sL https://aws-amplify.github.io/amplify-cli/install | bash && $SHELL
Clone the repository to a local directory:
git clone https://github.com/Faxatos/e-commerce-Amplify.git
Install the packages used (outlined in the package.json file) launching the following command from the root folder:
npm install
The rest of the installation is showed in the second chapter of the documentation, using LaTeX to show which are the interactions made with the AWS Amplify wizard within the CLI, guiding you through the setup of our serverless application. The documentation also contains what are the required changes to be made from the code generated by AWS Amplify.
Note for the documentation: Please be aware that the CLI snippets included in the documentation are presented as listings, rather than screenshots. This format allows for easier copying and pasting of the required inputs, streamlining the setup process.
Distributed under the MIT License. See LICENSE.txt
for more information.