Skip to content

Rough Re architecture Notes

K. C. Ramakrishna edited this page Nov 12, 2021 · 4 revisions

This needs better formatting:

(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:

  1. SaaS Product - should be easy to deploy on cloud

  2. Enterprise (on-prem AND private cloud) deployment

  3. Individual usage for consumers

  4. SDK for CTOs

  5. Enterprise deployment via Active Directory etc.

  6. Configurable enabling/disabling of 3rd party APIs like language etc

  7. Very Fine Grained Permissions for various features (combo of RBAC and ABAC)

  8. Fast/Speed, Modular, Testable, Maintainable, Clear Documentation

  9. Clean REST APIs,

  10. Checklist for PR (coding stds, unit tests, documentation..)

  11. Security,

  12. https://blog.sqreen.com/nodejs-security-best-practices/

  13. https://ngninja.com/posts/secure-coding-javascript

  14. Obfuscator ?

  15. https://github.com/validatorjs/validator.js

  16. Linting

  17. ‘Strict Mode’ is on

  18. https://www.javascriptjanuary.com/blog/defensive-javascript

  19. https://blog.bitsrc.io/8-steps-to-secure-javascript-in-2021-6d54d5415264

  20. https://snyk.io/learn/javascript-security/

  21. https://docs.npmjs.com/auditing-package-dependencies-for-security-vulnerabilities

  22. https://docs.npmjs.com/cli/v7/commands/npm-audit

  23. https://www.whitesourcesoftware.com/free-developer-tools/blog/npm-audit/

  24. Privacy, Regulatory

  25. Compatibility, Reliability, (Node will take care of this.)

  26. Usability

  27. Accessibility:

  28. Best Practices guidelines:

  29. Eg: https://www.w3.org/TR/WCAG21/

Major output documents, components etc

  1. Architecture Diagram, Document,
  2. Technical Design
  3. Unit-Testing Framework (TDD/BDD) - (Mocha+sinon+chai) vs. Jest vs. Jasmine
  4. Logging
  5. Javascript Framework - Nodejs
  6. Auto-generated documentation in js…
  7. Best practices of writing js code...
  8. CI/CD + automated testing (above) (JS-SDK, BrowserExtension, backend APIs)
  9. Internationalisation
  10. User mgmt (Keycloak?)
  11. Authentication, Authorization...
  12. Token mgmt ?
  13. Billing - KillBill?

Clone this wiki locally