Repository navigation
Rough Re architecture Notes
(Is it better to maintain the below in gDrive and link it here? - gDocs, diagrams etc give more formatting options) Overview: This document is an informal capture of all aspects we will need in the new high performance, high maintainability architecture. This also covers how to produce high quality code. Objective is to evaluate and use ‘state of the art’ architecture and technology components to produce a world class SaaS product/project.
Non Functional Requirements:
-
SaaS Product - should be easy to deploy on cloud
-
Enterprise (on-prem AND private cloud) deployment
-
Individual usage for consumers
-
SDK for CTOs
-
Enterprise deployment via Active Directory etc.
-
Configurable enabling/disabling of 3rd party APIs like language etc
-
Very Fine Grained Permissions for various features (combo of RBAC and ABAC)
-
Fast/Speed, Modular, Testable, Maintainable, Clear Documentation
-
Clean REST APIs,
-
Checklist for PR (coding stds, unit tests, documentation..)
-
Security,
-
Obfuscator ?
-
Linting
-
‘Strict Mode’ is on
-
https://blog.bitsrc.io/8-steps-to-secure-javascript-in-2021-6d54d5415264
-
https://docs.npmjs.com/auditing-package-dependencies-for-security-vulnerabilities
-
https://www.whitesourcesoftware.com/free-developer-tools/blog/npm-audit/
-
Privacy, Regulatory
-
Compatibility, Reliability, (Node will take care of this.)
-
Usability
-
Accessibility:
-
Best Practices guidelines:
Major output documents, components etc
- Architecture Diagram, Document,
- Technical Design
- Unit-Testing Framework (TDD/BDD) - (Mocha+sinon+chai) vs. Jest vs. Jasmine
- Logging
- Javascript Framework - Nodejs
- Auto-generated documentation in js…
- Best practices of writing js code...
- CI/CD + automated testing (above) (JS-SDK, BrowserExtension, backend APIs)
- Internationalisation
- User mgmt (Keycloak?)
- Authentication, Authorization...
- Token mgmt ?
- Billing - KillBill?