Commit Graph

12 Commits

Author SHA1 Message Date
micko samawa 864be692e8 feat: modernize mobile UI and normalize laundry service handling 2026-04-16 01:00:10 +07:00
micko samawa a8e72f1203 Fix laundry distance display with user location and cleanup mobile laundry model 2026-04-04 13:16:51 +07:00
micko samawa b192557bb8 Update user management, booking model, and mobile screens 2026-03-14 11:11:28 +07:00
micko samawa 1a277067f4 Fix favorites system: improve error handling, type safety, and UI feedback
- Rewrite favorite_service.dart with proper error handling, auth checks, and timeouts
- Add error state UI to favorites_screen.dart with retry button
- Add SnackBar feedback on toggle failures in home/search/detail screens
- Type-safe parsing with per-item error handling to prevent crashes
- Clean orphan favorite records from database
- Add debugPrint logging for troubleshooting
- All changes maintain backward compatibility
2026-03-07 00:45:30 +07:00
micko samawa 73e8f197f2 Add laundry open/close times and status fields
Features:
- Laundry: Add jam_buka, jam_tutup, status (buka/tutup) fields to database
- Web forms: Add opening/closing times and status dropdown to create/edit views
- Controller: Validate and save new fields in store() and update()
- Mobile: Parse time strings to remove seconds, display status and hours
- Mobile: Add cache clearing to auto-refresh image data from server
- Mobile: Fix photo priority (prefer 'foto' field over galeri entries)

Changes:
- spk_kontrakan/app/Models/Laundry.php: Update fillable
- spk_kontrakan/app/Http/Controllers/LaundryController.php: Add validation and storage
- spk_kontrakan/resources/views/Laundry/create.blade.php: Add form fields
- spk_kontrakan/resources/views/Laundry/edit.blade.php: Add form fields
- spk_mobile/lib/models/laundry.dart: Time parsing, photo priority fix
- spk_mobile/lib/models/kontrakan.dart: Photo priority fix
- spk_mobile/pubspec.yaml: Add flutter_cache_manager
- Mobile screens: Add cache clearing on data refresh
2026-02-27 03:56:39 +07:00
micko samawa 786743231c fix: Laravel Backend Security & Stability Improvements
- Add rate limiting (api:60/min, login:5/min, register:3/hour, saw:30/min)
- Implement centralized JSON error handler for all API exceptions
- Create 6 Form Request classes for input validation
- Fix N+1 query problems with withCount and eager loading
- Add caching for kriteria queries (1 hour cache)
- Create /api/health and /api/docs documentation endpoints
- Fix export system: CSV export instead of Excel (package not installed)
- Restrict CORS to specific origins, set Sanctum token expiration (30 days)
- Add error_code fields to all API responses
- Update pagination views to remove large arrow icons, replace with text buttons
- Fix field name consistency: use correct database columns
- Add SQL injection prevention via sort column whitelist
- Optimize pagination UI for Activity Logs and other pages
2026-02-26 00:19:15 +07:00
micko samawa 79305d29c4 Web API Security Improvements: Rate limiting, centralized error handling, N+1 query fixes, CORS/Sanctum config, caching, export system fix, and pagination UI improvements 2026-02-26 00:18:36 +07:00
micko samawa 7453d3b322 Fix price display format and improve UI/UX across all screens - Replace confusing K notation with proper Rp format with thousand separators - Add /bln and /kg suffix for clarity - Improve card shadows, icons, and sections for professional appearance - Create currency formatter utility 2026-02-24 19:42:59 +07:00
micko samawa d94e7db501 feat: add listing favorites + WhatsApp contact (manifest + model + UI) 2026-02-23 10:20:19 +07:00
micko samawa 5886d148ab Rewrite ProfileScreen: professional UI & navigation; add EditProfile and ChangePassword screens 2026-02-22 20:46:44 +07:00
micko samawa 5fe31899db feat: implement booking system and SAW improvements for mobile
- Add BookingFormScreen with date picker, duration selection, and cost calculation
- Wire up booking button in kontrakan detail screen with auth check
- Add auto-balance bobot system ensuring total always equals 100 percent
- Replace preset profiles with jenis_layanan selection for laundry SAW
- Fix kontrakan status display (tersedia/available) in cards
- Add isAvailable helper in Kontrakan model
- Add jenis_layanan parameter to API SAWController
- Update getNilaiLaundry to filter by specific service type
- Add intl package for date formatting in booking form
2026-02-20 22:57:21 +07:00
micko samawa fd956653ea Initial commit: SPK Rekomendasi Kontrakan & Laundry dengan Flutter dan Laravel 11 2026-02-10 21:20:48 +07:00