A simple serverless web application
Personalize your reading habit and reach your reading goals by keeping track of it using the Book Tracker App. Book Tracker App enables users to achieve the following: Add books to be read to the App Get all the books added to the app Update the books by adding images of the book cover Delete books when done reading
This project, involves creation of a simple crud application using AWS Lambda and Serverless framework. This application will allow creating/removing/updating/fetching book names. Each Book item can optionally have an attachment image. Each user only has access to books that he/she has created.
The application should stores books items, with the fields:
Id
(string) - a unique id for an itemcreatedAt
(string) - date and time when an item was createdname
(string) - name of a TODO item (e.g. "Change a light bulb")dueDate
(string) - date and time by which an item should be completeddone
(boolean) - true if an item was completed, false otherwiseattachmentUrl
(string) (optional) - a URL pointing to an image attached to a TODO itemAll functions are already connected to appropriate events from API Gateway.
Authentication is implemented by creating an Auth0 application
The client
folder contains a web application that uses the API that developed in the project.
This frontend works with your serverless application .
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 Book application.
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.
AWS Lambda Serverless Framework API Gateway Cloud Watch Autho Dynamo DB React NodeJS AWS S3 bucket CloudFormation AWS Secrets Manager