Commit Graph

76 Commits

Author SHA1 Message Date
35c734d840
Add CaptchaToken to permissions language files
This commit adds 'CaptchaToken' key to both English and Russian versions of the permissions language files. The addition of the 'CaptchaToken' key was necessary to provide translations for tokens used in captcha creation. The lack of these labels was causing readability issues in UI.
2023-09-19 15:19:48 +06:00
c3e4c68a41
Add CryptographyContract and its implementation
Added a new CryptographyContract interface and CryptographyString class that implements this contract. The CryptographyContract encapsulates the encryption and decryption of strings, enforcing these operations to be standardized across the application. The CryptographyString class uses Laravel's native crypt facades to perform these actions. In the AppServiceProvider, CryptographyContract is now bound to CryptographyString class, allowing the container to automatically resolve the dependencies wherever the interface is type hinted.
2023-09-19 14:29:01 +06:00
27046e6674
Revived API /api/v1/captcha.
Now a new captcha is created to check for a bot.
2023-09-19 14:27:33 +06:00
56cd409301
The return comment of the getCoordinators method has been changed. 2023-09-19 14:21:56 +06:00
d8bf5dd116
Remove commented volumes from docker-compose.yml.
The lines setting up volumes for the 'swagger' service were commented out and redundant, leading to potential confusion. This commit removes those lines to clean up and simplify the file.
2023-08-27 22:25:09 +06:00
61cc272e2f
Rename parameter names in Swagger API documentation.
In our Swagger API documentation, the parameter names 'public_token' and 'private_token' have been renamed to match our established naming conventions. The hyphenated form ('public-token' and 'private-token') is more consistent with other parameters.
2023-08-23 23:45:57 +06:00
d72d6ff614
Update swagger.json for accurate API path.
The "servers" section was deleted and the "/api/v1" part was added to "paths" values for a more refined URL structure. This change makes it more clear that the API version is part of the API route.
2023-08-23 21:56:06 +06:00
9bfd3fef1a
Add Swagger API documentation and proxy routing.
Added Swagger as a new service in the docker-compose file for generating the API documentation. The new API documentation is provided via an OpenAPI file located at `public/swagger.json`. Changes in routing were done to handle /api-docs requests and redirect them to the running Swagger UI instance. This will make API easier to understand and debug.
2023-08-23 01:02:56 +06:00
742b0feaf0
Add captcha tokens management. 2023-08-22 00:15:35 +06:00
d2b29e2225
The refactoring added final readonly to App\Services\Role\BuilderCommand. 2023-08-01 23:43:03 +06:00
8f143c031f
Fixed warning in analysis PHP Storm. 2023-08-01 23:40:10 +06:00
3e18ca6510
Fixed warning in analysis PHP Storm. 2023-08-01 23:38:09 +06:00
faa706a79a
Removed duplicate "Toggle Navigation" keys in languages. 2023-08-01 23:36:16 +06:00
941699f473
Added @can('delete', $role). 2023-08-01 22:09:39 +06:00
9c1ed593b5
Added method getRolesForSelect in the RoleRepository. 2023-08-01 22:09:06 +06:00
73d99a0432
Fixed typo deleting RolePolicy: Role to role. 2023-08-01 22:07:47 +06:00
52c6fd88d7
Added the ability to manage users. 2023-08-01 22:04:35 +06:00
dc6b6b0d42
Added @canany(['create', 'update'], $role) to resources/views/private/roles/_from.blade.php. 2023-08-01 21:53:07 +06:00
4083e2ec5e
Added the ability to manage a group of users. 2023-07-16 19:21:09 +06:00
ba7e52f8ac
Added a new function 'errors' in Private Controller to handle service errors. This function checks if the resulted error code matches HTTP_UNPROCESSABLE_ENTITY and in that case, it redirects back with input and errors. For any other case, it aborts with the resulted error code and message. The main purpose of this change is to centralize error handling in one place and make the controller's actions cleaner. 2023-07-12 23:44:53 +06:00
1facb19efb
Refactor Role.php for improved code clarity.
The Role class in app/Models has been refactored to improve readability and maintainability. The 'slug' field was replaced with 'code' for consistency with the rest of the codebase. In addition, the 'isRemove' and 'isAdmin' methods were rewritten using new 'Attribute' Eloquent cast. This refactor enhances the code's clarity, promotes better comprehension, and clears redundant code comments.
2023-07-12 23:42:29 +06:00
919f6e1e42
Added click confirmation script. 2023-07-12 23:31:20 +06:00
ec5be8167e
Add @stack('scripts') to main layout. 2023-07-12 23:23:51 +06:00
d10cc8603e
The color of the links in the footer was changed from primary (probably blue) to gray-700 (dark gray) to improve readability against the white background. The change affects the link to the author's Github page and the link to the Volt - Bootstrap 5 Dashboard Template product page. 2023-07-12 22:53:27 +06:00
adb20f70a5
Update primary color variable in SCSS. 2023-07-12 22:52:29 +06:00
2121af2914
Renamed the "slug" field in the roles table to "code" to facilitate coding standards and improve readability. This unique identifier will now be referred to as 'code' across the application, creating consistency and reducing potential confusion in the future.
!!! Since the project has not yet been launched, therefore, I do not create a new migration, but change the current one. !!!
2023-07-12 22:30:05 +06:00
a3fa966643
Adjusted padding in sidebar for large screens. 2023-07-10 23:12:38 +06:00
9319c2d92d
A new middleware UserLocale.php has been added. This middleware sets the language locale based on each user's preference. It operates by checking if the user's preferred language is set during the request cycle and if so, it changes the app's locale accordingly. This feature facilitates personalization by displaying the app in a user's preferred language.
Also, registering the middleware in the `Kernel.php` allows it to be used throughout the application
2023-07-10 21:44:00 +06:00
907bac5586
Added the ability to save user settings. 2023-07-10 21:42:55 +06:00
b1c9dac3cc
The type for 'timezone' in the 'users' table was previously assigned as an unsigned integer. For flexible usage and to support a larger range of timezones, it has been altered to a string. The maximum length is set to 50 characters. This change ensures a more universal and user-friendly handling of various timezone situations.
!!! Since the project has not yet been launched, therefore, I do not create a new migration, but change the current one. !!!
2023-07-10 21:39:40 +06:00
79112680bd
Updated the visibility of getTitle, getType, and getValue methods in the Input class from protected to private. This was done to limit and control access to these methods to only within the class, enhancing encapsulation and improving security. 2023-07-09 19:39:37 +06:00
524bf569e3
The 'locale' column in the users table migration was renamed to 'lang'. This change was made to improve the clarity and consistency of naming conventions across the database. The term 'lang' is more universally recognized and thus provides better code readability.
!!! Since the project has not yet been launched, therefore, I do not create a new migration, but change the current one. !!!
2023-07-09 19:31:42 +06:00
e5d0cac07d
Changed the data type and default value of 'locale' and 'timezone' fields in the users table. Instead of using strings, we are now using unsigned integers.
!!! Since the project has not yet been launched, therefore, I do not create a new migration, but change the current one. !!!
2023-07-08 15:12:10 +06:00
39eae7f196
Added a new feature to allow users to update their passwords. 2023-07-07 18:08:14 +06:00
00a0624eea
This commit adds update functionality to user profiles. New routes, views, and controller methods have been created to facilitate this along with form requests for validation. Significant changes include new methods in the ProfileController, addition of an UpdateRequest class for validation purposes and the creation of a profile update view. These changes allow users to edit and update their profile information on the application. 2023-07-07 00:07:19 +06:00
55cd927f12
This commit adds two new components for handling form inputs in the private section of the site. 'Form.php' provides a base class for forms with methods for retrieving request names. 'Input.php' extends this to handle input fields specifically, allowing title, name, type, and value to be specified. An associated Blade view 'input.blade.php' has been added to render these inputs in views. This helps in reusability and maintainability. 2023-07-07 00:05:38 +06:00
24098415b5
Changed the way bootstrap is imported and added Chartist for charting functionality. This update provides wider access to Bootstrap features and integrates Chartist for better data representation. 2023-07-07 00:03:57 +06:00
398f5e2097
Added necessary template files and view components for scaffolding of the private area of the application. This includes error and success message components for efficient handling of user feedback messages. Added navigation components and dashboard structure to the private layout. This will streamline the implementation of features in the private area and ensure a consistent user interface. 2023-07-07 00:03:03 +06:00
92206a028a
Refactor error check in AuthController.
Changed the error check in the AuthController from checking if the result is not successful to checking if the result has an error. This change was made to clarify the code and ensure that errors are handled properly.
2023-07-06 22:32:29 +06:00
6dd24ac1d3
A new method 'isError' has been introduced to the ServiceResult interface and its implementation. This change was made to improve readability and logic. Now instead of checking if the result is not successful, we can directly check if it's an error using isError method. This improves the code clarity. 2023-07-06 22:31:39 +06:00
91810190b7
Introduced a new class ServiceResultSuccess to distinctively handle successful service responses. Changes were made in AuthService and Service base class to replace ServiceResultArray with ServiceResultSuccess for successful operations. This provides a more accurate response type and improves code readability. 2023-07-06 21:54:10 +06:00
c18e7e54b7
Modified the Middleware Kernel to use a new method for request throttling that uses Redis and created a new middleware to ensure that user email is verified.
These changes allow for more efficient request throttling by utilizing Redis. The new EnsureUserIsVerified middleware improves security by validating that a user's email has been verified or if the user is active before granting access, returning a 403 error if the user fails these checks.
2023-07-06 19:52:39 +06:00
00910831a4
The authorization method of the AuthController has been updated to specify a return type. This was done to ensure that the method always returns an instance of a RedirectResponse, thereby enhancing the code's readability and preventing unexpected return types. 2023-07-06 19:50:22 +06:00
5d61ab425e
Extended rate limiting functionality within the RouteServiceProvider to limit the login requests. Now the application limits the number of requests both per IP address and per email. This will drastically improve security by minimizing automated spam and brute-force attack attempts. 2023-07-06 10:50:15 +06:00
f481ee765d
Made authorization. 2023-07-06 10:48:32 +06:00
6b2aff910b
Added console command to add user with admin role. 2023-07-02 16:17:18 +06:00
d0bd480dc1
A new enumeration 'SystemRole' has been created for user roles. For now, it only contains one case 'Admin'. This list is intended to designate system roles that cannot be removed. 2023-07-02 16:07:49 +06:00
0073dffc28
Implemented password validation rules in the AppServiceProvider class. Ensured passwords should be at least 8 characters long, contain a mix of uppercase, lowercase, and special characters. These rules apply only for the production environment. 2023-07-02 15:21:01 +06:00
719d4c7f10
Added and configured css, js in Vite. 2023-06-29 22:20:38 +06:00
fbb56d8191
Added packages:
"dependencies": {
        "@popperjs/core": "^2.9.2",
        "bootstrap": "5.0.2",
        "chartist": "^0.11.4",
        "chartist-plugin-tooltips": "^0.0.17",
        "notyf": "^3.10.0",
        "nouislider": "^15.2.0",
        "onscreen": "^1.4.0",
        "sass": "^1.47.0",
        "simplebar": "^5.3.4",
        "smooth-scroll": "^16.1.3",
        "sweetalert2": "^11.0.18",
        "vanillajs-datepicker": "^1.2.0",
        "waypoints": "^4.0.1"
    },
    "devDependencies": {
        "sass-loader": "^13.3.2",
    }
2023-06-29 22:17:55 +06:00