Backend social network application using serverless framework ,typescript, AWS, SDKv3, DynamoDB Single table design, Hexagonal Arquitecture, Best practices.
Clone this repository and install dependencies
-
Install CLI serverless
npm install serverless -g
-
setting credentials
aws configure
-
deploy
npm run deploy
-
Implementando una API REST utilizando TypeScript con Serverless Framework y AWS
-
Construyendo un template para tus proyectos de serverless framework y TypeScript
-
Desarrollando Aplicaciones Escalables con Arquitectura Hexagonal, Serverless Framework TypeScript y AWS
├── src
│ ├── functions
│ │ └── getSurvey
│ └── core
│ ├── config
│ │ └── environment.ts
│ ├── app
│ │ ├── schemas
│ │ ├── usecases
│ │ └── ports
│ ├── domain
│ │ ├── models
│ │ └── services
│ │ └── repositories
│ └── infrastructure
│ ├── adapters
│ ├── repositories
│ └── utils
├── test
│ ├── functions
│ │ └── ...
│ └── core
│ └── ...
├── serverless.yml
└── package.json
This use case talks about using DynamoDB as a social network. A social network is an online service that lets different users interact with each other. The social network we'll design will let the user see a timeline consisting of their posts, their followers, who they are following, and the posts written by who they are following. The access patterns for this schema design are:
-
Get user information for a given userID
-
Get follower list for a given userID
-
Get following list for a given userID
-
Get post list for a given userID
-
Get user list who likes the post for a given postID
-
Get the like count for a given postID
-
Get the timeline for a given userID