This application will allow creating/removing/updating/fetching TODO items. Each TODO item can optionally have an attachment image. Each user only has access to TODO items that he/she has created. I'm using AWS Lambda and Serverless framework to build this application.
To run the application you will need:
- AWS CLI
- An AWS account
- Serveless CLI
The application uses the following services:
- S3 Bucket to store images
- DynamoDB to store Todo Items
- XRay to enable tracing
- Lambda
- API Gateway
To deploy an application run the following commands:
cd backend
npm install
sls deploy -v
Ren tests:
npm test
To run a client application first edit the client/src/config.ts
file to set correct parameters. And then run the following commands:
cd client
npm install
npm run start
This should start a development server with the React application that will interact with the serverless TODO application.
https://lzvmolxey8.execute-api.eu-west-3.amazonaws.com/dev/todos
An alternative way to test your API, you can use the Postman collection that contains sample requests. You can find a Postman collection in this project. To import this collection, do the following.
Udacity C4 Project.postman_collection.json
The project uses Travis as CI/CD tool.