Technologies
List of technologies (framework, dependencies and tools) used in the project.
Core Technologies
We utilize the following frameworks for our backend development to create scalable and maintainable server-side applications.
Angular
Angular is a TypeScript-based framework for building dynamic web applications. Developed by Google, it provides a comprehensive solution for creating single-page applications (SPAs) with features like data binding, dependency injection, and modular architecture, which help in building scalable and maintainable applications.
Frameworks and Libraries
TypeScript
A superset of JavaScript that adds static types, enhancing code reliability and maintainability.
Authentication and Authorization
JWT (jsonwebtoken)
A library for working with JSON Web Tokens, aiding in user authentication and authorization.
SuperTokens
SuperTokens is an open-source authentication solution designed to simplify user authentication and authorization for web and mobile applications. It provides features such as single sign-on (SSO), multi-factor authentication (MFA), and session management, and can be integrated with various frontend and backend technologies to enhance security and user experience
Validation and Parsing
class-validator
A library for input validation and sanitization based on decorators and metadata reflection.
class-transformer
A library for object transformation and serialization using decorators and reflection.
Logging and Monitoring
Amplitude
Amplitude is a product analytics platform that helps businesses track and analyze user behavior and engagement across their digital products. It provides insights into user interactions, enabling companies to understand how users navigate their apps or websites, measure the impact of features, and make data-driven decisions to improve user experience and drive growt
Instabug
Instabug is a bug and feedback reporting tool for mobile and web applications. It allows users to capture and report bugs, crashes, and feedback directly from within the app, providing developers with detailed information, screenshots, and session recordings to facilitate faster and more accurate debugging and resolution.
Testing
Jest
A comprehensive testing framework for JavaScript, supporting unit, integration, and end-to-end testing.
Cypress
A library for doing e2e tests, allowing you to make fully functional automated tests.
StoryBook
A storybook is a tool used to create and document UI components in isolation. It allows developers to build, test, and showcase components independently from the rest of the application, making it easier to develop, debug, and share UI elements.
Package Management
PNPM
A fast, disk space-efficient package manager for JavaScript, improving the installation process and dependency management.
Linting and Formatting
ESLint
A pluggable linting utility for JavaScript and TypeScript, helping to identify and fix code quality issues.
Prettier
An opinionated code formatter that enforces consistent style by parsing code and reprinting it with its own rules.
Git Hooks and Commit Management
Husky
A tool for managing Git hooks, allowing you to run scripts during various Git stages.
Commitlint
A tool for linting commit messages, ensuring they adhere to a conventional format.
Commitizen
A command-line tool for formatting commit messages according to the conventional commit standard.
Lint-staged
A tool for running linters on staged files, ensuring that only clean code is committed.
DevOps and CI/CD
GitHub Actions
A CI/CD service that automates workflows, allowing you to build, test, and deploy your code directly from GitHub.
Docker
A platform for developing, shipping, and running applications in containers, providing an efficient and consistent environment for deployment.
Dependabot
A tool for automating dependency updates, keeping your project up-to-date with the latest versions.
Documentation
Markdown
A lightweight markup language with plain-text formatting syntax, used for writing documentation and README files.
VuePress
A static site generator that simplifies the creation of documentation sites, providing a clean and responsive design.
Miscellaneous
Vercel
Vercel is a cloud platform for frontend developers that provides seamless deployment and hosting for web applications. It integrates with popular frameworks like Next.js, allowing for easy continuous deployment, automatic scaling, and global CDN distribution to optimize performance and speed.
env-cmd
A utility for executing commands using environment variables from a file, simplifying the management of environment configurations.
Conclusion
These tools and frameworks are integral to our development process, ensuring that we can build high-quality, scalable, and maintainable software efficiently.