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.Leonid Nikitin2023-07-12 23:44:53 +0600
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.Leonid Nikitin2023-07-12 22:53:27 +0600
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.Leonid Nikitin2023-07-12 22:30:05 +0600
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 applicationLeonid Nikitin2023-07-10 21:44:00 +0600
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.Leonid Nikitin2023-07-10 21:39:40 +0600
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.Leonid Nikitin2023-07-09 19:39:37 +0600
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.Leonid Nikitin2023-07-09 19:31:42 +0600
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. !!!Leonid Nikitin2023-07-08 15:12:10 +0600
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.Leonid Nikitin2023-07-07 00:07:19 +0600
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.Leonid Nikitin2023-07-07 00:05:38 +0600
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.Leonid Nikitin2023-07-07 00:03:57 +0600
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.Leonid Nikitin2023-07-07 00:03:03 +0600
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.Leonid Nikitin2023-07-06 22:31:39 +0600
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.Leonid Nikitin2023-07-06 21:54:10 +0600
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.Leonid Nikitin2023-07-06 19:52:39 +0600
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.Leonid Nikitin2023-07-06 19:50:22 +0600
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.Leonid Nikitin2023-07-06 10:50:15 +0600
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.Leonid Nikitin2023-07-02 16:07:49 +0600
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.Leonid Nikitin2023-07-02 15:21:01 +0600