|
| 1 | +# Technologies |
| 2 | + |
| 3 | +List of technologies (framework, dependencies and tools) used in the project. |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +[[toc]] |
| 8 | + |
| 9 | +## Core Technologies |
| 10 | + |
| 11 | +We utilize the following frameworks for our backend development to create scalable and maintainable server-side applications. |
| 12 | + |
| 13 | +### Node.js |
| 14 | + |
| 15 | +A JavaScript runtime built on Chrome's V8 JavaScript engine, enabling the building of fast and scalable server-side applications. |
| 16 | + |
| 17 | +### NestJS |
| 18 | + |
| 19 | +A progressive Node.js framework for building efficient and scalable server-side applications with a modular architecture. |
| 20 | + |
| 21 | +## Frameworks and Libraries |
| 22 | + |
| 23 | +### Express |
| 24 | + |
| 25 | +A minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. |
| 26 | + |
| 27 | +### TypeScript |
| 28 | + |
| 29 | +A superset of JavaScript that adds static types, enhancing code reliability and maintainability. |
| 30 | + |
| 31 | +## Database |
| 32 | + |
| 33 | +### TypeORM |
| 34 | + |
| 35 | +An Object-Relational Mapping (ORM) library for TypeScript and JavaScript that simplifies database interactions and provides a powerful query builder. |
| 36 | + |
| 37 | +### PostgreSQL |
| 38 | + |
| 39 | +A powerful, open-source object-relational database system known for its reliability, robustness, and performance. |
| 40 | + |
| 41 | +## Authentication and Authorization |
| 42 | + |
| 43 | +### JWT (jsonwebtoken) |
| 44 | + |
| 45 | +A library for working with JSON Web Tokens, aiding in user authentication and authorization. |
| 46 | + |
| 47 | +## Validation and Parsing |
| 48 | + |
| 49 | +### class-validator |
| 50 | + |
| 51 | +A library for input validation and sanitization based on decorators and metadata reflection. |
| 52 | + |
| 53 | +### class-transformer |
| 54 | + |
| 55 | +A library for object transformation and serialization using decorators and reflection. |
| 56 | + |
| 57 | +## Logging and Monitoring |
| 58 | + |
| 59 | +### Pino |
| 60 | + |
| 61 | +A fast and feature-rich logging library for Node.js applications, providing high performance and low overhead. |
| 62 | + |
| 63 | +## Testing |
| 64 | + |
| 65 | +### Jest |
| 66 | + |
| 67 | +A comprehensive testing framework for JavaScript, supporting unit, integration, and end-to-end testing. |
| 68 | + |
| 69 | +### Supertest |
| 70 | + |
| 71 | +A library for testing HTTP servers, allowing you to make requests and assert responses in your tests. |
| 72 | + |
| 73 | +## Package Management |
| 74 | + |
| 75 | +### PNPM |
| 76 | + |
| 77 | +A fast, disk space-efficient package manager for JavaScript, improving the installation process and dependency management. |
| 78 | + |
| 79 | +## Linting and Formatting |
| 80 | + |
| 81 | +### ESLint |
| 82 | + |
| 83 | +A pluggable linting utility for JavaScript and TypeScript, helping to identify and fix code quality issues. |
| 84 | + |
| 85 | +### Prettier |
| 86 | + |
| 87 | +An opinionated code formatter that enforces consistent style by parsing code and reprinting it with its own rules. |
| 88 | + |
| 89 | +## Git Hooks and Commit Management |
| 90 | + |
| 91 | +### Husky |
| 92 | + |
| 93 | +A tool for managing Git hooks, allowing you to run scripts during various Git stages. |
| 94 | + |
| 95 | +### Commitlint |
| 96 | + |
| 97 | +A tool for linting commit messages, ensuring they adhere to a conventional format. |
| 98 | + |
| 99 | +### Commitizen |
| 100 | + |
| 101 | +A command-line tool for formatting commit messages according to the conventional commit standard. |
| 102 | + |
| 103 | +### Lint-staged |
| 104 | + |
| 105 | +A tool for running linters on staged files, ensuring that only clean code is committed. |
| 106 | + |
| 107 | +## DevOps and CI/CD |
| 108 | + |
| 109 | +### GitHub Actions |
| 110 | + |
| 111 | +A CI/CD service that automates workflows, allowing you to build, test, and deploy your code directly from GitHub. |
| 112 | + |
| 113 | +### Docker |
| 114 | + |
| 115 | +A platform for developing, shipping, and running applications in containers, providing an efficient and consistent environment for deployment. |
| 116 | + |
| 117 | +### Renovate |
| 118 | + |
| 119 | +A tool for automating dependency updates, keeping your project up-to-date with the latest versions. |
| 120 | + |
| 121 | +## Documentation |
| 122 | + |
| 123 | +### Markdown |
| 124 | + |
| 125 | +A lightweight markup language with plain-text formatting syntax, used for writing documentation and README files. |
| 126 | + |
| 127 | +### VuePress |
| 128 | + |
| 129 | +A static site generator that simplifies the creation of documentation sites, providing a clean and responsive design. |
| 130 | + |
| 131 | +## Miscellaneous |
| 132 | + |
| 133 | +### env-cmd |
| 134 | + |
| 135 | +A utility for executing commands using environment variables from a file, simplifying the management of environment configurations. |
| 136 | + |
| 137 | +## Conclusion |
| 138 | + |
| 139 | +These tools and frameworks are integral to our development process, ensuring that we can build high-quality, scalable, and maintainable software efficiently. |
0 commit comments