@@ -39,6 +39,107 @@ The application uses a service layer with dependency injection:
3939 - Environment configuration with ` vlucas/phpdotenv ` .
4040- ** Development Tools** : Includes GrumPHP for code quality, PHPUnit for unit testing, and Webpack for asset bundling.
4141
42+ ## Technologies Used in the Project
43+
44+ ### Backend (PHP)
45+
46+ #### Framework and Architecture
47+ - ** PHP 8.1+** : PHP version used in the project
48+ - ** MVC Architecture** : Model-View-Controller pattern architecture
49+ - ** SOLID Principles** : Software design principles
50+
51+ #### Database and ORM
52+ - ** MySQL** : Database management system
53+ - ** Laravel Eloquent ORM** (` illuminate/database ^10.0 ` ): ORM for database operations
54+
55+ #### Routing and Dependency Injection
56+ - ** Pecee Simple Router** (` pecee/simple-router ^5.4 ` ): Simple and fast router
57+ - ** PHP-DI** (` php-di/php-di ^7.0 ` ): Dependency injection container
58+
59+ #### Templating
60+ - ** Twig** (` twig/twig ^3.22 ` ): Template engine
61+ - ** Twig Cache Extra** (` twig/cache-extra ^3.22 ` ): Cache extension for Twig
62+ - ** Twig Extra Bundle** (` twig/extra-bundle ^3.22 ` ): Additional Twig features
63+
64+ #### Authorization and Security
65+ - ** Firebase JWT** (` firebase/php-jwt ^6.11 ` ): JWT tokens for authorization
66+ - ** Paragonie Sodium Compat** (` paragonie/sodium_compat ^2.1 ` ): Cryptography
67+
68+ #### File and Image Processing
69+ - ** Spatie Image** (` spatie/image ^3.8 ` ): Image processing
70+ - ** Intervention Image** (` intervention/image ^2.7 ` ): Image manipulation
71+
72+ #### Documents and PDF
73+ - ** mPDF** (` mpdf/mpdf ^8.2 ` ): PDF document generation
74+
75+ #### Configuration and Tools
76+ - ** PHP Dotenv** (` vlucas/phpdotenv ^5.6 ` ): Environment variable management
77+
78+ #### Development Tools (Backend)
79+ - ** PHPUnit** (` phpunit/phpunit ^10.0 ` ): Unit testing framework
80+ - ** PHPStan** (` phpstan/phpstan ^2.1 ` ): Static code analysis
81+ - ** PHP CodeSniffer** (` squizlabs/php_codesniffer ^4.0 ` ): Coding standards compliance analysis
82+ - ** GrumPHP** (` phpro/grumphp ^1.0 ` ): Code quality automation
83+ - ** PHPUnit Code Coverage** (` phpunit/php-code-coverage ^10.1 ` ): Code coverage for tests
84+
85+ ### Frontend (JavaScript/TypeScript)
86+
87+ #### Build Tools and Transpilation
88+ - ** Webpack 5** (` webpack ^5.99.9 ` ): Module bundler
89+ - ** Babel** (` @babel/core ^7.28.0 ` , ` @babel/preset-env ^7.28.0 ` ): JavaScript ES6+ transpilation
90+ - ** Babel Loader** (` babel-loader ^10.0.0 ` ): Webpack loader for Babel
91+
92+ #### Styles and CSS
93+ - ** Sass** (` sass ^1.89.2 ` , ` sass-embedded ^1.89.2 ` ): CSS preprocessor
94+ - ** Sass Loader** (` sass-loader ^16.0.5 ` ): Webpack loader for Sass
95+ - ** CSS Loader** (` css-loader ^7.1.2 ` ): CSS processing in Webpack
96+ - ** Style Loader** (` style-loader ^4.0.0 ` ): Style injection into DOM
97+ - ** Mini CSS Extract Plugin** (` mini-css-extract-plugin ^2.9.2 ` ): CSS extraction to separate files
98+ - ** CSS Minimizer Webpack Plugin** (` css-minimizer-webpack-plugin ^7.0.2 ` ): CSS minimization
99+
100+ #### UI Frameworks and Libraries
101+ - ** Bootstrap 5** (` bootstrap ^5.3.7 ` ): CSS framework
102+ - ** jQuery** (` jquery ^3.7.1 ` ): JavaScript library
103+ - ** jQuery UI** (` jquery-ui-dist ^1.13.3 ` ): jQuery widgets and interactions
104+
105+ #### Icons and Graphics
106+ - ** Bootstrap Icons** (` bootstrap-icons ^1.13.1 ` ): Bootstrap icon set
107+ - ** Font Awesome** (` @fortawesome/fontawesome-free ^7.0.0 ` ): Icon library
108+ - ** Bootstrap Iconpicker** (` bootstrap-iconpicker ^1.8.2 ` ): Icon selector
109+ - ** PluginJS Icon Picker** (` @pluginjs/icon-picker ^0.8.18 ` ): Alternative icon picker
110+
111+ #### Editors and Forms
112+ - ** CKEditor 5** (` ckeditor5 ^47.0.0 ` ): Advanced WYSIWYG editor
113+ - ** Dropzone** (` dropzone ^6.0.0-beta.2 ` ): File upload with drag & drop
114+
115+ #### Tables and Data
116+ - ** Bootstrap Table** (` bootstrap-table ^1.24.1 ` ): Advanced tables
117+ - ** TableDnD** (` tablednd ^1.0.5 ` ): Drag & drop for tables
118+ - ** DragTable** (` dragtable ^2.0.12 ` ): Table column reordering
119+ - ** TableExport jQuery Plugin** (` tableexport.jquery.plugin ^1.9.9 ` ): Table export to various formats
120+
121+ #### Documents and Export
122+ - ** jsPDF AutoTable** (` jspdf-autotable ^5.0.2 ` ): PDF generation with tables
123+
124+ #### Additional UI Libraries
125+ - ** FancyApps UI** (` @fancyapps/ui ^6.0.34 ` ): UI component library
126+ - ** jQuery Confirm** (` jquery-confirm ^3.3.4 ` ): Beautiful dialog boxes
127+ - ** Bootstrap Menu Editor** (` @maxsoft/bootstrap_menu_editor ^1.0.4 ` ): Bootstrap menu editor
128+
129+ #### Webpack Plugins and Loaders
130+ - ** Copy Webpack Plugin** (` copy-webpack-plugin ^13.0.0 ` ): File copying
131+ - ** Expose Loader** (` expose-loader ^5.0.1 ` ): Exposing global variables
132+ - ** File Loader** (` file-loader ^6.2.0 ` ): File handling
133+ - ** Resolve URL Loader** (` resolve-url-loader ^5.0.0 ` ): URL resolution in CSS
134+ - ** Webpack CLI** (` webpack-cli ^6.0.1 ` ): Command-line interface for Webpack
135+ - ** Webpack Dev Server** (` webpack-dev-server ^5.2.2 ` ): Development server with hot reload
136+
137+ ### Tools and Infrastructure
138+ - ** Git** : Version control system
139+ - ** Composer** : PHP dependency manager
140+ - ** npm** : Node.js package manager
141+ - ** Webpack Dev Server** : Development server with automatic reload
142+
42143## Prerequisites
43144
44145Before setting up the project, ensure you have the following installed:
0 commit comments