Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jakazzy/book-track-app
A simple serverless web application
https://github.com/jakazzy/book-track-app
Last synced: 8 days ago
JSON representation
A simple serverless web application
- Host: GitHub
- URL: https://github.com/jakazzy/book-track-app
- Owner: jakazzy
- Created: 2020-04-09T11:49:29.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-07T16:52:51.000Z (about 2 years ago)
- Last Synced: 2024-12-20T13:46:47.608Z (2 months ago)
- Language: TypeScript
- Homepage:
- Size: 1.55 MB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Book Tracker App
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# Functionality of the application
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.# Get all Books
The application should stores books items, with the fields:
* `Id` (string) - a unique id for an item
* `createdAt` (string) - date and time when an item was created
* `name` (string) - name of a TODO item (e.g. "Change a light bulb")
* `dueDate` (string) - date and time by which an item should be completed
* `done` (boolean) - true if an item was completed, false otherwise
* `attachmentUrl` (string) (optional) - a URL pointing to an image attached to a TODO itemAll functions are already connected to appropriate events from API Gateway.
## Authentication
Authentication is implemented by creating an Auth0 application
# How to run the application
## Frontend
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.
# Postman collection
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.
# Tech Stack
AWS Lambda
Serverless Framework
API Gateway
Cloud Watch
Autho
Dynamo DB
React
NodeJS
AWS S3 bucket
CloudFormation
AWS Secrets Manager