https://github.com/devonchurch/apple-turnover
An AWS Cognito POC
https://github.com/devonchurch/apple-turnover
aws aws-cognito javascript reactjs
Last synced: about 1 year ago
JSON representation
An AWS Cognito POC
- Host: GitHub
- URL: https://github.com/devonchurch/apple-turnover
- Owner: devonChurch
- License: mit
- Created: 2018-04-21T02:27:59.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-05-18T09:12:17.000Z (almost 8 years ago)
- Last Synced: 2025-02-02T08:29:47.766Z (about 1 year ago)
- Topics: aws, aws-cognito, javascript, reactjs
- Language: JavaScript
- Size: 1.73 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Apple Turnover
A proof of concept exploring **AWS Cognito** and its **User Pool**, **Resource Federation**, and **Signed URL** functionality.
The demo application was generated using **Serverless** principals, utilising *low cost*, *performant* and *scalable* systems within the **AWS** portfolio.
## Architecture

## Functionality
1. User are greeted with an *unauthenticated* "welcome" page.
2. Upon *registering* or *logging in* via **AWS Cognito** users are taken to the *application* view.
3. Any previous data associated to the user is obtained from **AWS DynamoDB** through *federated access*
*(This prevents unauthenticated users from interfacing with the database endpoint)*.
4. Any private assets associated with the current view are obtained via **AWS S3** through *signed URL* access.
*(This white lists private buckets assets to authenticated users)*.
5. Changes made to the users settings are persisted in **AWS DynamoDB** for returning visits.
6. If a user closes the application without logging out their *authenticated* state will be remembered on the subsequent visit.
7. If a user explicitly logs out of the application they will be prompted to *reauthenticate* at the "welcome" page upon nest visit.

## Installation
* Clone this repository
```
git clone https://github.com/devonChurch/apple-turnover.git
```
* Install project dependancies
```
npm install
```
## Deployment
* Build and deploy a _production_ version of the application to your repositories **AWS S3**
```
npm run deploy
```
## License
MIT