diff --git a/HLD.md b/HLD.md new file mode 100644 index 00000000..c849ccd3 --- /dev/null +++ b/HLD.md @@ -0,0 +1,27 @@ +# `High Level Design 📄 of Psipher 🔐` +*** +## `For Deployment Purpose` +![Psipher_Complete](PsipherComplete.png) + +##### This architecture is fully based on serverless model, hence there is very less maintenance cost and cost effective. + +### Why these? +- **Route 53** - This is optional for our Psipher. Only use when you have a custom domain. It is used to map custom domain(example.com) to application domain(randomly generated). It is a highly available and scalable Domain Name System Service. + +- **CloudFront** - Helps for content delivery. It also saves Psipher from any cyber attack. It has low latency and uses static caching to achieve it. +- **S3** - It is used for CI/CD for backend and frontend application. +- **AWS Amplify** - It is used to deploy react application and maintain authenticity of users. It is also highly scalable and helps to store data securely. +- **ReactJS** - This is used to build user interface (frontend). It is open source JavaScript Library. +- **Cognito** - This is for user authentication at both backend and frontend which include JWT. +- **API Gateway** - It takes all API calls from react application and route them to lambda handlers. +- **Lambda** - This is a serverless function in which our spring boot (backend) application resides. +- **DynamoDB** - DynamoDB is a serverless DB in which user data is stored. +- **CloudWatch** - Used for metric and log monitoring. +- **VPC** - It helps Psipher components to establish a logical isolated section from users. + +*** + +## `For Testing Purpose` +![Psipher_Swagger](PsipherSwagger.png) + +- **SwaggerUI** - Used for API testing and documentation for our backend. This resides on Lambda. diff --git a/PsipherComplete.png b/PsipherComplete.png new file mode 100644 index 00000000..2329c680 Binary files /dev/null and b/PsipherComplete.png differ diff --git a/PsipherSwagger.png b/PsipherSwagger.png new file mode 100644 index 00000000..dc316a50 Binary files /dev/null and b/PsipherSwagger.png differ diff --git a/README.md b/README.md index 9c40dcdc..7a31f69e 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). +## High Level Design 📋 [Click here](HLD.md) + ## Available Scripts In the project directory, you can run: