Introduce `OptionalAuthGuard` to allow conditional authentication for routes. Update `AuthModule` to include `AuthGuard`, `OptionalAuthGuard`, and `RolesGuard` in providers and exports for broader reuse.
feat(app): integrate `AdminModule` into app module
Add `AdminModule` to the app's main module to enable administration functionalities.
feat(users): enhance user profiles with bio and avatar fields
Extend `UpdateUserDto` to include optional `bio` and `avatarUrl` fields for better user customization.
feat(categories): add functionality to count all categories
Implement `countAll` method in `CategoriesRepository` to fetch the total number of categories using raw SQL counting.
Introduce repository pattern across multiple services, including `favorites`, `tags`, `sessions`, `reports`, `auth`, and more. Decouple crypto functionalities into modular services like `HashingService`, `JwtService`, and `EncryptionService`. Improve testability and maintainability by simplifying dependencies and consolidating utility logic.
Added AuthModule with services, controllers, and guards for authentication. Implements session management, role-based access control, 2FA, and DTOs for user login, registration, and token refresh.