developmen1 #2

Merged
alfatha merged 63 commits from developmen1 into main 2026-10-05 23:50:52 +07:00
Owner
No description provided.
- Add Keycloak OIDC SSO authentication
- Migrate UI from Vuetify to Vue 3 + Tailwind CSS
- Add NUP-based notification targeting
- Add Excel bulk import for NUP targeting
- Add JSON file-based storage (PHP 7.3 compatible)
- Update reverse proxy configs for Keycloak callback
- Add landing page with APK download
- Add auth.js module for SSO flow
- API: proxy /auth/login, /auth/refresh, /auth/userinfo (Account API) bebas CORS
- API: filter target NUP per user + flag is_broadcast, GET detail /notifications/{id}
- Mobile: login form username/password, profil dari atribut Keycloak, simpan lokal + tandai dibaca, halaman detail, local push + tap buka detail, cek baterai, login fullscreen
- admin.html: hapus SSO, token API langsung
- Bootstrap Laravel 8 app under framework/
- Migrations for employees, devices, notifications, notification_nups,
  device_notifications, attendances (portable to MySQL)
- Default connection sqlite; seeder imports existing API JSON data
- Feature test asserting schema; phpunit uses sqlite :memory:
Root .gitignore 'database/' rule was ignoring framework/database, so
migrations and seeders never got committed.
- Copy doc.html (endpoint/Postman docs) and db.html (schema + Mermaid
  ER flowchart) into framework/public, served statically
- Adjust driver references from JSON files to SQLite/Laravel migrations
- Link both pages in framework/README.md
- Move public/doc.html and public/db.html into resources/views as
  doc.blade.php and db.blade.php (wrapped in @verbatim for Postman {{vars}})
- Add GET /doc and GET /db routes in routes/web.php
- Keep postman_collection.json in public/ for download
- Update README with routes and structure
- resources/views/admin.blade.php (Vue CDN + Tailwind panel), wrapped in
  @verbatim so Vue {{ }} interpolation is preserved
- Add GET /admin route in routes/web.php
- Point header nav to Laravel routes /doc and /db; drop unused rootLink
- Remove leftover public/doc.html and public/db.html
- Update README
- 8 controllers under app/Http/Controllers/Api (Auth, Device, Notification,
  Admin, Employee, Attendance, Session, Test) + NotifHelper
- Eloquent models for the 6 tables
- ApiToken middleware (API_TOKEN env) and TestOnly guard for /api/test/*
- api_token + keycloak config moved to config/app.php (env-driven)
- routes/api.php: all endpoints ported with /api prefix
- Feature tests: 16 passing (ApiEndpointsTest covers core flows)
- README updated with endpoint table and env docs
- Base URL now Laravel (php artisan serve / proxy), note SQLite default
- Remove /apk/info (not ported)
- Note /test/* only active when APP_ENV != production
- Notification GET auth accepts admin or employee token
- notification_nups note: Eloquent firstOrCreate, not native insertMany
- Add last_seen to devices diagram, employee_token to attendances diagram
- Clarify target_nups legacy migration and computed fields
- resources/views/home.blade.php (landing from API/index.html), route GET /
- Add GET /api/apk/info (reads public/apk/, 404 if absent)
- Consistent navbar on /admin, /doc, /db (Beranda, Admin, Doc, DB)
- README updated
- Copy AppNotifikasi-debug.apk to public/apk/ (was only in API/apk/)
- Move apk/info closure into ApkController; add /apk/{file} download route
- Verified: info returns metadata, download serves 7.91 MB APK
- Laravel 8: MobileController (preview /mobile + /mobile-assets), routes web
- SQLite + migrate; config.js apiUrl -> http://192.168.1.17:9090/api
- Fix logout mobile: Device.getId() pakai identifier; isLoggedIn stored-session;
  getAuthHeaderAsync; handleRefreshToken hanya wipe saat 400/401
- AuthController refresh grant scope=offline_access (offline token 3650 hari)
- /flowchart: 3 diagram Mermaid (polling/push, broadcast, siklus mobile) lazy per-tab
- /doc: contoh respons berhasil/gagal, Status Code, Hak Akses Token, beautify
  (warna ok/err, highlight JSON, tombol salin), Notifikasi disamakan /admin
- /admin: field Server Token + toast 401; navbar Flowchart di semua halaman
- APK 8513576 bytes
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
alfatha/appnotifikasi!2
No description provided.