Commit Graph

199 Commits

Author SHA1 Message Date
vergiLgood1 b6a82438dd feat: Enhance registration flow with navigation buttons and error handling 2025-05-27 01:53:29 +07:00
vergiLgood1 569e1d6049 feat: Enhance selfie verification step with navigation buttons and validation
- Added StepNavigationButtons to SelfieVerificationStep for improved navigation.
- Implemented validation logic to ensure selfie verification is completed before proceeding.
- Updated AuthButton to use theme colors for better consistency.
- Modified OfficerModel to allow nullable fields and added new fields for enhanced data handling.
- Set default role to Viewer in RoleSelectionController.
- Updated role selection screen with new asset for improved UI.
- Enhanced UserMetadataModel with new methods for updating officer and viewer data.
- Added logging to OfficerRepository and UserRepository for better debugging.
- Improved image uploader error overlay with a blurred background for better visibility.
- Added support for SVG images in StateScreen widget.
- Introduced custom input decoration in CustomTextField for more flexibility.
- Reduced total steps for officers from 4 to 3 in TNum constants.
- Fixed schema for patrol_units in Prisma to ensure correct field definitions.
- Created StepNavigationButtons widget for reusable navigation controls across steps.
2025-05-27 00:44:32 +07:00
vergiLgood1 407233916b feat: Enhance Patrol Unit Management
- Added new fields `category` and `memberCount` to `PatrolUnitModel` for better categorization and tracking of patrol units.
- Introduced `PatrolUnitController` to manage patrol unit operations, including creation, validation, and fetching of patrol units.
- Implemented enhanced validation for patrol unit creation, ensuring all required fields are correctly filled.
- Updated `updateOfficerProfile` method in `OfficerRepository` to return nullable `OfficerModel`.
- Improved `CustomTextField` widget to handle disabled states with appropriate styling.
- Added new colors for information and disabled states in `TColors`.
- Refactored `UserRepository` to update user metadata with role information using a new `UserMetadataModel`.
2025-05-26 18:46:37 +07:00
vergiLgood1 105d992faa feat: Enhance KTP Validation Logic and Update Patrol Unit Selection UI
- Expanded KTP validation to include additional required fields: 'jenis_kelamin' and 'kewarganegaraan'.
- Improved error handling for missing or invalid gender and nationality during KTP validation.
- Updated Patrol Unit Selection Screen to reflect changes in UI elements, including renaming 'Position' to 'Rank' and enhancing dark mode support.
- Refactored image uploader and circular loader components to utilize theme-aware colors for better visual consistency.
2025-05-26 16:22:52 +07:00
vergiLgood1 5bd92a0399 feat: Enhance Selfie Verification Step with Dark Mode Support and Improved Snackbars
- Added dark mode support for warning colors in the Selfie Verification Step.
- Replaced hardcoded colors with theme-aware colors for better UI consistency.
- Updated Snackbar notifications to use a centralized loader utility for better user feedback.
- Refactored the auto-verify toggle and bypass liveness check functionality for clarity.
- Improved layout and styling for better user experience.

fix: Update Units Repository with Logging and Error Handling

- Integrated logging for unit fetching operations in the Units Repository.
- Added checks for empty unit lists to prevent unnecessary errors.
- Improved error handling for database operations.

refactor: Revamp Image Source Dialog and Uploader for Dark Mode

- Enhanced Image Source Dialog to support dark mode styling.
- Updated Image Uploader to use a custom circular loader for better visual feedback during uploads.

style: Standardize Step Indicator Colors Based on Theme

- Adjusted step indicator icon colors to adapt based on the current theme (dark/light).

chore: Update Tips Container to Use New Color Constants

- Refactored Tips Container to utilize new color constants for better maintainability.

style: Introduce New Color Constants for Card Styles

- Added new color constants for card backgrounds, borders, and text to improve UI consistency across the application.

fix: Adjust Total Steps for Officer Selection Process

- Updated the total steps for officer selection from 5 to 4 to reflect the current flow.

chore: Add Patrol Unit Selection Screen for Officer Information

- Implemented a new Patrol Unit Selection Screen to allow officers to configure their patrol units.
- Integrated selection modes and unit creation functionality for enhanced user experience.
2025-05-26 13:31:12 +07:00
vergiLgood1 423c5a369f feat: Add position extraction and related fields for KTA model; enhance selfie verification with development mode options 2025-05-26 06:05:21 +07:00
vergiLgood1 a7652aadfb fix: new condition flag for idCardType 2025-05-26 05:06:35 +07:00
vergiLgood1 dd2bb57e42 feat: Enhance officer information signup form with additional fields and validation
- Added new text controllers and error states for unit ID, patrol unit ID, name, position, phone, email, valid until, avatar, QR code, banned reason, and banned until.
- Implemented validation logic for the new fields in the officer info controller.
- Updated the signup form screen to include new input fields for unit ID and patrol unit ID.
- Refactored the signup with role screen to improve layout and remove unnecessary components.
- Introduced a new role signup page view to manage role selection and signup process.
- Updated the welcome screen button text to reflect new functionality.
- Adjusted the primary color in the dark theme for better visibility.
- Enhanced the auth button height for improved usability.
2025-05-26 03:39:54 +07:00
vergiLgood1 6a4813c15e Refactor onboarding and authentication UI components
- Updated password field to use a consistent dark color.
- Enhanced onboarding controller with a new text page controller for synchronized page views.
- Improved location warning screen to utilize a centralized error snackbar.
- Refined onboarding screen layout for better responsiveness and added text synchronization.
- Revamped role selection screen with improved UI and dynamic role card rendering.
- Updated welcome screen text for clarity on location services.
- Adjusted custom text field to align with new color scheme.
- Simplified color constants for a more cohesive theme.
- Introduced a new circular full-screen loader for better loading experience.
2025-05-26 00:38:56 +07:00
vergiLgood1 1a6eefe6e3 update user dan user profile 2025-05-25 21:11:30 +07:00
vergiLgood1 e6e0a0ab07 feat: streamline liveness detection flow with improved state management and navigation handling 2025-05-25 12:14:41 +07:00
vergiLgood1 19687320ee feat: enhance selfie verification process with auto-start feature and improved error handling 2025-05-25 12:09:29 +07:00
vergiLgood1 5b2806f0bb feat: add registration data model with personal, ID card, selfie, identity, officer, and unit information 2025-05-25 11:04:15 +07:00
vergiLgood1 8f781740e7 feat: Implement selfie verification feature with camera preview, countdown, and error handling
- Added CameraPreviewWidget for real-time camera feed and face detection.
- Created CapturedSelfieView to display captured selfies and verification results.
- Introduced CountdownOverlayWidget to manage countdown during face verification.
- Developed DebugPanel for troubleshooting liveness detection issues.
- Implemented ErrorStateWidget to handle and display error messages.
- Added InstructionBanner to guide users through the verification process.
- Created VerificationProgressWidget to show progress of verification steps.
2025-05-24 22:13:13 +07:00
vergiLgood1 0ee2d72134 feat: Implement facial verification service and selfie verification controller
- Added FacialVerificationService for handling face detection and comparison.
- Created SelfieVerificationController to manage selfie capture and validation against ID card.
- Integrated liveness detection functionality within the selfie verification process.
- Developed SignupWithRoleController for user registration with role selection.
- Introduced PersonalInfoController for managing user personal information during signup.
- Added CountdownOverlayWidget for displaying countdown during liveness check.
- Enhanced error handling and validation across controllers.
2025-05-24 21:51:30 +07:00
vergiLgood1 bd99a3dd40 feat: Enhance face detection and image processing in liveness detection 2025-05-24 17:51:32 +07:00
vergiLgood1 0eec492698 refactor: Update dependencies and clean up unused imports in face liveness detection 2025-05-24 16:54:00 +07:00
vergiLgood1 5dc7aa3cc7 feat: Update camera dependencies and implement selfie verification UI
- Updated camera package version to 0.11.0+2 and camera_android_camerax to 0.6.7+2 in pubspec.lock and pubspec.yaml.
- Removed unused google_ml_kit dependencies from pubspec.lock and pubspec.yaml.
- Added CameraPreviewWidget for displaying camera feed in registration form.
- Created CapturedSelfieView to show the captured selfie and verification status.
- Implemented Debug Panel for liveness detection with real-time status updates.
- Added ErrorStateWidget to handle and display error messages during verification.
- Introduced InstructionBanner to guide users through the verification process.
- Developed VerificationProgressWidget to visually represent the verification progress.
2025-05-24 16:27:58 +07:00
vergiLgood1 790eb4325d refactor: Clean up code formatting and improve logging in liveness detection and registration form 2025-05-24 15:09:35 +07:00
vergiLgood1 64c9f233a1 Refactor code structure for improved readability and maintainability 2025-05-24 14:50:31 +07:00
vergiLgood1 7ca33cdaa3 Refactor identity verification process and enhance registration summary
- Updated IdentityVerificationController to streamline data loading and validation.
- Introduced a new VerificationSummary widget for displaying registration details.
- Improved form validation logic to ensure all required fields are checked before submission.
- Enhanced user profile update functionality in UserRepository to include additional registration data.
- Added verification progress card to provide visual feedback on the status of verification steps.
- Cleaned up code for better readability and maintainability.
2025-05-23 23:07:25 +07:00
vergiLgood1 5c3faac8c3 feat: Implement registration form and verification steps
- Added FormRegistrationScreen for user profile completion with step navigation.
- Created SelfieVerificationStep for capturing and validating user selfies.
- Implemented OfficerInfoStep and UnitInfoStep for officer-specific information input.
- Introduced PanicButtonController and PanicButtonPage for emergency alert functionality.
- Developed CustomElevatedButton and CustomBottomNavigationBar for enhanced UI components.
2025-05-23 22:30:06 +07:00
vergiLgood1 512b29c54d add edge function for detect and verify faces with aws rekognition 2025-05-23 20:35:37 +07:00
vergiLgood1 d216088b32 Refactor code structure for improved readability and maintainability 2025-05-23 12:21:33 +07:00
vergiLgood1 a35ba880c5 Refactor code structure for improved readability and maintainability 2025-05-23 12:18:34 +07:00
vergiLgood1 c26d749026 feat: Add KTP model for Indonesian ID card representation
feat: Implement PermissionModel for role-based access control

feat: Create ResourceModel to manage resources with associated permissions

feat: Develop UserMetadataModel for user-related data management

feat: Implement AWS Signature helper for secure API requests

feat: Create detect-face function for AWS Rekognition integration

feat: Implement send-email function using Resend API

feat: Develop verify-face function for comparing KTP and selfie images
2025-05-23 08:33:52 +07:00
vergiLgood1 d9fffff68d feat: Enhance selfie verification process with ID card comparison
- Added functionality to compare the uploaded selfie with the ID card photo.
- Introduced new state variables in SelfieVerificationController to manage face comparison status and confidence levels.
- Implemented face detection and ID comparison logic in the selfie verification workflow.
- Updated UI components in SelfieVerificationStep to display face match results and provide retry options.
- Refactored IdentityVerificationStep to utilize new widget structure for better organization.
- Created separate widgets for identity verification fields and face verification section for improved readability and maintainability.
- Updated API endpoints for Azure Face API to use the latest version.
- Removed deprecated validation button from ImageUploader widget.
- Added navigation utility class for better route management.
2025-05-22 21:47:01 +07:00
vergiLgood1 1908318769 Refactor DocumentIntelligenceService and related classes to comment out code for future reference; update AuthenticationRepository to remove splash screen on app start. 2025-05-22 16:51:13 +07:00
vergiLgood1 6a85f75e3c feat: Add image upload and selection functionality with ImageSourceDialog and ImageUploader widgets
- Implemented ImageSourceDialog for selecting image source (camera or gallery).
- Created ImageUploader widget for displaying and managing image uploads, including error handling and validation.
- Added TipsContainer widget for displaying helpful tips with customizable styles.
- Developed OcrResultCard to present extracted information from KTP and KTA models.
- Introduced ValidationMessageCard for showing validation messages with confirmation options.
- Implemented FormKeyDebugger for tracking and debugging form keys in the application.
- Added AnimatedSplashScreen for customizable splash screen transitions and navigation.
2025-05-22 16:20:34 +07:00
vergiLgood1 7f6f0c40b7 Add animation for empty address and implement custom SliverPersistentHeaderDelegate
- Added a new JSON animation file for empty address in the assets/images/animations directory.
- Created a custom SliverPersistentHeaderDelegate class for tab bar functionality in custom_silverbar.dart.
- Introduced a global form key management class to streamline form key usage across the application in form_key.dart.
2025-05-22 09:42:28 +07:00
vergiLgood1 ac39366371 feat: Update user metadata model and authentication flow; enhance ID card verification process and error handling 2025-05-20 03:30:19 +07:00
vergiLgood1 498b71c184 feat: Refactor signup process with role selection and update app routes
- Updated app routes for backward compatibility and renamed registration form route.
- Added new image constants for various animations and background images.
- Removed webview_flutter dependency from macOS and updated pubspec.lock.
- Introduced SignupWithRoleController to manage signup logic based on user roles.
- Created SignupWithRoleScreen for user interface, allowing role selection and form submission.
- Implemented RoleSelector widget for displaying available roles.
- Enhanced social login options and integrated privacy policy acceptance in the signup form.
2025-05-20 00:02:35 +07:00
vergiLgood1 ce7d5f5cf4 feat: Enhance officer and profile models with place of birth and date of birth fields; update step indicators for improved layout and styling 2025-05-19 21:20:14 +07:00
vergiLgood1 ce7d448b2f feat: Add registration form steps for officer and personal information, selfie verification, and unit details
- Implemented OfficerInfoStep widget for officer details input.
- Implemented PersonalInfoStep widget for personal details input.
- Implemented SelfieVerificationStep widget for selfie upload and verification.
- Implemented UnitInfoStep widget for unit details input.
- Created step form screen to manage the registration process with navigation between steps.
2025-05-19 20:53:09 +07:00
vergiLgood1 b003d8a158 feat: Implement ID card and selfie verification process using Azure OCR and Face API
- Added AzureOCRService to handle ID card processing and face verification.
- Integrated image picker for uploading ID cards and selfies.
- Updated registration form to include ID card upload and selfie verification sections.
- Enhanced validation for extracted OCR data based on user role (officer or civilian).
- Added liveness check functionality for selfie verification.
- Improved user interface for image upload and verification status messages.
2025-05-19 16:08:20 +07:00
vergiLgood1 ba4cbd180a Refactor step indicator implementation and enhance registration form
- Removed the old StepIndicator widget and replaced it with a new implementation that supports multiple styles (standard, rounded, numbered).
- Added new styles for the StepIndicator: NumberedStepIndicator, RoundedStepIndicator, and StandardStepIndicator.
- Updated the registration form screen to utilize the new StepIndicator with improved styling and functionality.
- Enhanced the StateScreen widget to adapt to dark mode and utilize constants for spacing and sizes.
- Refactored CustomTextField to support dark mode and improved styling.
- Introduced a new FormRegistrationScreen for handling user registration with multiple steps and validation.
2025-05-19 15:09:05 +07:00
vergiLgood1 60fb38da76 fix: Correct class name and improve service initialization in bindings 2025-05-19 14:26:33 +07:00
vergiLgood1 19b4809611 feat: Implement repositories for permissions, profiles, resources, roles, and users
- Added PermissionsRepository for managing permissions, including fetching, creating, and deleting permissions.
- Added ProfileRepository for handling user profile data, including fetching, updating, and uploading avatars.
- Added ResourcesRepository for managing resources, including fetching, creating, updating, and deleting resources.
- Added RolesRepository for managing roles, including fetching all roles and role permissions.
- Added UserRepository for managing user data, including authentication checks, updating user metadata, and fetching user details.
- Created a bindings file for personalization features.
2025-05-19 14:22:38 +07:00
vergiLgood1 867efe0bc9 Add role selection 2025-05-19 13:35:57 +07:00
vergiLgood1 1fd17ee0af feat: Add branding and launch images for dark mode support
- Added dark mode branding images for the app.
- Created contents.json files for branding and launch background images.
- Implemented splash screen with animated Lottie assets based on theme.
- Developed authentication repository with email/password and social login functionalities.
- Introduced background service for heavy computations in isolates.
- Added splash controller to manage authentication flow during splash screen.
2025-05-19 00:12:05 +07:00
vergiLgood1 01d166816d Refactor Supadart model classes for consistency and clarity
- Renamed model classes to follow a unified naming convention (e.g., Evidence to EvidenceSupadartModel).
- Updated references to related models to match new naming conventions (e.g., IncidentLogs to IncidentLogSupadartModel).
- Adjusted static methods for conversion and JSON parsing to reflect the new class names.
- Modified table names in the models to align with the new naming scheme.
- Changed output directory in supadart.yaml to 'lib/generated/' for better organization.
- Mapped database table names to the new model class names in supadart.yaml.
2025-05-18 14:42:34 +07:00
vergiLgood1 c7bdb24ceb feat: Add triggers and functions for user management and location handling
- Implemented user creation, update, and deletion triggers to manage officer and standard user data.
- Created functions to handle user type changes and conditional updates based on user metadata.
- Added a function to retrieve nearby units based on geographical coordinates.
- Established triggers to update distance to units upon location changes.
- Created spatial indexes for efficient querying of units and locations.
- Added a function to delete the current user from the auth.users table.
2025-05-18 13:52:26 +07:00
vergiLgood1 07c53818a5 feat: Implement location logs repository with CRUD operations
- Added LocationLogsRepository for managing user location logs.
- Implemented methods to get user location logs, add a new log, get recent logs, and fetch logs within a time range.

feat: Create locations repository for district-based location management

- Added LocationsRepository to handle location data by district ID.
- Implemented methods to fetch locations by district, get location by ID, find nearby locations, and add new locations.

feat: Enhance permissions repository for role-based access control

- Added PermissionsRepository to manage permissions.
- Implemented methods to fetch all permissions, get permissions by role/resource, check user permissions, create and delete permissions.

feat: Update profile repository for user profile management

- Enhanced ProfileRepository to manage user profiles.
- Implemented methods to upload avatars, update profile information, create profiles if they don't exist, and fetch profiles by user ID/NIK.

feat: Develop resources repository for resource management

- Added ResourcesRepository to manage application resources.
- Implemented methods to fetch all resources, get resources by ID/type, create, update, and delete resources.

feat: Create roles repository for role management

- Added RolesRepository to manage user roles.
- Implemented methods to fetch all roles, get roles by ID/name, create and update roles, and fetch permissions for a role.

feat: Enhance users repository for user management

- Updated UsersRepository to manage user data and metadata.
- Implemented methods to check user roles, update user metadata, email, phone, and password, and search users by name/username/email.
- Added functionality to check if a user is banned.
2025-05-17 09:02:06 +07:00
vergiLgood1 8d67e7bbb3 feat: Add biometric permission and update activity to FlutterFragmentActivity; refactor bindings and remove unused repositories 2025-05-17 07:50:58 +07:00
vergiLgood1 803a28494d feat: Implement user profile and role management features
- Added ProfileRepository for managing user profile data including fetching, updating, and uploading avatars.
- Introduced RolesRepository to handle role-related operations such as fetching all roles and retrieving roles by ID or name.
- Created UserRepository for user data management, including user authentication checks and profile updates.
- Developed OfficerModel to represent officer data with JSON serialization.
- Implemented RoleSelectionController to manage role selection logic during onboarding.
- Added LocationWarningScreen to handle location validation and user notifications.
- Created RoleSelectionScreen for users to select their roles during onboarding.
- Developed RoleCard widget for displaying role options in a user-friendly manner.
2025-05-17 07:10:00 +07:00
vergiLgood1 8da86d10d2 feat(auth): enhance biometric login and user metadata handling 2025-05-16 22:34:23 +07:00
vergiLgood1 ffed8b8ede feat(panic-button): add models for events, evidences, incident logs, and sessions
- Implement EventModel with JSON serialization and deserialization.
- Create EvidenceModel with associated JSON handling.
- Develop IncidentLogModel to manage incident logs and their evidences.
- Introduce SessionsModel to track user sessions related to events.
- Update index file to export new models.

feat(personalization): introduce permissions and resources models

- Add PermissionModel to manage user permissions with JSON support.
- Create ResourceModel to define resources and their associated permissions.
- Ensure proper serialization and deserialization for both models.

chore(database): update Prisma schema for new models and relationships

- Add new models: events, evidences, incident_logs, sessions, permissions, and resources.
- Define relationships between users, roles, and permissions.
- Update existing models to maintain referential integrity.
- Introduce enums for session status, contact message status, crime rates, and crime status.
2025-05-16 18:41:16 +07:00
vergiLgood1 7ad427baf6 feat: Update pubspec.yaml with new dependencies and local assets
- Updated description format in pubspec.yaml
- Added multiple utility packages for enhanced functionality
- Included local assets and fonts for better UI design
- Updated widget test to reference the new app structure
- Registered new plugins in generated_plugin_registrant.cc for Windows
- Updated generated_plugins.cmake to include new plugins
- Modified Supabase config to allow additional redirect URLs
2025-05-16 15:42:03 +07:00
vergiLgood1 636f892a42 Add Flutter app sigap-mobile as regular folder 2025-05-16 06:36:07 +07:00
vergiLgood1 a9562b0316 Add Flutter project (sigap-mobile) into monorepo 2025-05-16 06:31:04 +07:00