/Notes_App

📝Papier is a simple note taking app where you can pay to store your important notes.

Primary LanguageJavaScriptMIT LicenseMIT

License Node_Badge Npm_Badge React_Badge Lambda_Badge S3_Bucket DynamoDB Made by NatalieBravo

Summary

📝Papier is a simple note taking app where you can pay to store your important notes.

The project was developed with the purpose of learning the serverless computing model, also known as "Functions as Service" (FaaS), and some of the technologies available in the Amazon AWS platform.

Check out how it looks:

Web App

This project was developed with the following technologies:

Backend Serveless

  • AWS Lambda: for the serverless API
  • API Gateway: to create, publish, maintain, monitor, and secure APIs
  • Serveless Framework: to deploy backend applications as independent functions
  • Cognito: for user authentication and securing the API
  • DynamoDB: for the database
  • Amazon S3: for hosting the app and file uploads
  • Stripe: for processing credit card payments
  • AWS SDK: for facilitate access to the AWS Services
  • Seed: for automating Serverless deployments
  • Sentry: for error reporting

Frontend React

First, we have the Cognito User Pool that is going to store all users and help sign in and sign them up. Once a user has been authenticated, he/she is verified with the Cognito Identity Pool, and then assigned to an IAM role. This role limits what the user has access to in the AWS account. So in summary, an authenticated user has access to two resources:

  • Files in the S3 bucket that are inside a folder with their federated identity id as the name of the folder.
  • The APIs we deployed using API Gateway.

We also have the API Gateway that handles any requests are done to our endpoints by sending them to the respective Lambda function. Since our DynamoDB database is not exposed publicly, it is only invoked by the Lambda functions. Finally, we use an S3 bucket to help our users upload files as attachments for their notes directly.

Backend Architecture

🕹️ How to Use

[Under Construction]

This project is under the MIT license. See the LICENSE for more information.

📬 Get in touch!

Linkedin - Natalie Bravo Email - Natalie Bravo
Made with ☕ and ❤️ by Natalie Bravo.