AWS Serverless Ecommerce

Repo
Blog / AWS Serverless Ecommerce /
AWS Serverless Ecommerce

Por: Leonardo Narváez.

En: 15 de Diciembre de 2023 a las 17:25
AWS APIGateway AWS Cloud AWS DynamoDB AWS Lambda AWS S3 AWS Serverless Ecommerce

Serverless Ecommerce

En este proyecto vamos a crear Ecommerce usando arquitectura Serverless de AWS.

Clonamos el repositorio:

git clone https://github.com/leonxrdon/AWS-serverless_ecommerce.git
cd AWS-serverless_ecommerce

Para el correcto funcionamiento se debe tener activo los siguientes permisos:


Backend

Ahora vamos a instalar las dependencias necesarias para este proyecto:

cd backend
sudo pip3 install boto3
npm install
npm install -g serverless
sls deploy --region <REGION>

Tras un despliegue exitoso, podemos ver la siguiente salida:


Como recomendación, crea una nueva terminal para tener listados los endpoints.

Ahora vamos a crear algunos artículos en nuestro stock:

python update_db.py 4 <REGION>

update_db.pyEl script pone los elementos (en este caso 4) en nuestro DynamoDB. Asegúrese de usar la misma región que antes.

Frontend

cd ../frontend
npm install -g yarn scottyjs
yarn install

Ahora vamos a copiar el endpoint en el archivo frontend/src/config.js

Asegúrese de cambiar sólo a la parte de nombre host, y dejar la cuerda terminando con /dev.


Antes de desplegar el frontend, nuestra S3 debe tener los permisos necesarios para que nos permita copiar los archivos necesarios para ver la web.

Activamos los permisos:

{
  "Version": "2008-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": [
        "arn:aws:s3:::<BUCKET_NAME>/*",
        "arn:aws:s3:::<BUCKET_NAME>"
      ]
    }
  ]
}

Ahora podemos desplegar nuestro frontend:

npm run build

Ahora que se creo la carpeta /build enviaremos esa carpeta a nuestro bucket para verlo desde el navegador:

aws s3 cp ./build s3://<BUCKET_NAME> --recursive

Para ver la web en el navegador se debe activar "Alojamiento de Web Estáticos" de la S3.

Ahora se mostrará un link de acceso público a la web.

Y finalmente podemos ver el Ecommerce desplegado:


Compartir:

Ver más

¿Cómo púbicar una página web en AWS con Docker?
106 AWS
¿Cómo crear una web estática usando AWS S3 y Cloud9?
104 AWS
¿Cómo crear una Amazon Elastic Compute Cloud (EC2) en Amazon?
82 AWS
Portfolio con CloudFront y DynamoDB
111 AWS

author-aws-serverless-ecommerce
Leonardo Narváez

Desarrollador de software apasionado y creativo con experiencia en diversos lenguajes y tecnologías. Especializado en la creación de soluciones innovadoras y eficientes, como aplicaciones web y móviles, sitios web interactivos y soluciones personalizadas.

Artículos