This repo can be use simply as an Authentication Starter Project or as complex as your use-case required, such as a multi-tenant Saas Product.
- NodeJS
- AWS CLI
- Cognito User Pool
- ClaudiaJS: AWS Lambda + API Gateway as micro service
- AWS S3 as backend storage
- cognito user pool create and removal script
- proxy cognito user pool as generic Auth and Users API
- create generic Saas Architecture API: teams, projects, and tasks.
- provide direction for enhancement such as: two-factor auth, having more than 1000 users, having more than 1000 projects/tasks/etc...
- create front-end starter
- create duplicate API with Laravel PHP to demonstrate front-end starter work with both hosted on Lambda and on any platform starting with PHP
- A User belongs to many Teams
- A User has rank to identify the User permission level. Rank suggestion: admiral/adm, captain/capt, commander/cdr, lieutenant/lt, ensign/ens - ref: https://en.wikipedia.org/wiki/United_States_Navy_officer_rank_insignia
- A Team can have many Users
- A Team can have many Admin Users
- A Project can have many Users or Team
- A Project can have many Admin Users
- A Project can have many Tasks
- A Project can have many child Projects
- A Project belongs to a single parent Project
- A Project can have many [fill_in_the_blank_here]
- A Task belongs to a single Project.
- A Task can have many related Tasks
Task was provided as an example, but you can create additional micro-service APIs here to extend this project for your personal use-case.
- Project->Charity - Donation Platform
- Project->Blog - Blogging
- Project->Products - ecommerce
- Project->SubscriberLists - email/texting list
- Project->Pages - cloud CMS
- Install required tech stack
- Initialize AWS Cognito User Pool with script under own aws folder.
- Deploy Auth and Users APIs
- Deploy other APIs
- https://github.com/frsechet/cognito-user-pool - you may also be interested in this client-side wrapper.