This commit introduces several changes:
- A new MariaDB service is implemented including connection handling and query execution.
- Field validators (email, username, password) are added to utils.
- The MongoDB service is refactored by moving the connect method into the constructor.
- The "noDelete" configuration field is updated in biome.json.
- A new interface is added for factorizing data into SQL queries.
- The app.ts file is updated to include the MariaDB test alongside MongoDB.
Two new classes have been added: EnvUtils and MongodbService. EnvUtils provides functionality for fetching environment variables and logging them. MongodbService implements connection to MongoDB with user credentials fetched from environment variables. Additionally, some updates have been made to logs.util.ts to improve logging style and biome.json for better code standards adherence.
This commit adds different middlewares to the express server such as cors, helmet for security, json and url-encoded body parsers, and gzip compression. Additionally, server start logic including router configuration and MongoDB service instantiation are also handled.
This commit introduces some additional environment variables to the .env.exemple file. The new variables include settings for the application port, debug mode, context, MySQL port, and MongoDB port.
The docker-compose file has been updated to utilize environment variables for the MongoDB and MySQL ports. Instead of hard-coding the port numbers, the system now dynamically fetches port values from the .env file, which increases versatility and configurability.
The commit introduces a LogsUtils class under src/utils. This class includes various logging methods such as info, warn, error, softError, trace, fatal, and debug. Also, it uses conditional statements to handle different context and debug scenarios.
This commit introduces a package.json file for the application. It includes scripts, dependencies, and devDependencies necessary for running and developing 'brief-06-back', a social networking platform. This ensures necessary packages are installed and scripts are easily accessible.
This commit introduces a new tsconfig.json file to control TypeScript compiler options. The configuration includes settings for compiler options such as strict type checking, module resolution, and decorator metadata emission, as well as specifying base and output directory.
This commit introduces new configuration files for the project, which includes modifications in the .iml file, creation of data sources, and changes in misc, modules and VCS settings. These files help in streamlining IDE settings for the project, database connections, version control system preferences and other project-level settings.
This commit updates .gitignore and adds .idea/.gitignore to ignore certain directories and files. The tracked files that are now ignored include IDE-specific files, third-party libraries, environment variables, and database files, providing cleaner and more focused commits.
This commit introduces a new docker-compose.yml file to manage MariaDB and MongoDB services. It includes service environment configuration, necessary ports, and volume paths. The services are set to always restart.
A new file, .env.example, has been added. It contains configuration for both MySQL and MongoDB, including username, password, and database information.
The commit introduces a new configuration file, biome.json, for managing imports, file inclusions, git features, linting rules, and formatting settings. This file defines settings for our project such as enabling organizing imports, specifying to include all TypeScript files in the src directory, enabling version control system using git, enabling linting with specific rules, and setting indents and line width for the formatter.