2.5 KiB
2.5 KiB
Checklist: Cooperative Member & User Info Expansion
1. Database Expansion
- Migration: Create
2026_04_02_000001_expand_user_infos_table.php:- Add
firstname,middlename,lastname,suffix,gender,dob(date). - Add social accounts:
messenger_id,viber_number,tiktok_username. - Add address components:
region,province,city,barangay. - Add family:
civil_status,children_count(int),education_level,course,school,year_last_attended. - Add livelihood:
livelihood_source,last_company,last_position,last_employment_year. - Add government:
tin,philhealth_id,gov_id. - Add emergency contact info:
emergency_contact_name,emergency_contact_address,emergency_contact_phone,emergency_contact_relation,emergency_contact_user_id(nullable foreign key).
- Add
- Migration: Create
2026_04_02_000002_expand_cooperative_members_table.php:- Add
membership_type,membership_level,officer_position,officer_level,concurrent_position,concurrent_level,cooperative_name_alt,cooperative_position,year_beginning.
- Add
2. Model Updates
- App/Models/Market/UserInfo.php:
- Update
$fillablearray with new fields. - Add
emergencyContactUser()relation (BelongsTo User).
- Update
- App/Models/Market/CooperativeMember.php:
- Update
$fillablewith new membership fields.
- Update
3. Controller Logic
- App/Http/Controllers/Market/UserInfoController.php:
- Update
updateUserInfoto handle newly added fields. - Implement logic in
updateUserInfoto automatically populateemergency_contact_user_idif theemergency_contact_phonematches a registered user'smobile_number.
- Update
- App/Http/Controllers/Market/CooperativeController.php:
- Ensure membership field updates are supported in
joinCooperativeandaddMemberendpoints.
- Ensure membership field updates are supported in
4. UI Redesign (Vue 3)
- Resources/js/Pages/UserInfoEdit.vue:
- Group fields into expandable sections or card groups (Personal, Social, Family/Education, Livelihood, etc.).
- Implement the "Emergency Contact" section with a visual cue if linked to a system user.
5. Seeders
- Database/Seeders/UpdateUserInfoSeeder.php:
- Ensure sample data from
README.md(Rex Moran Loba) can be seeded into a test user profile.
- Ensure sample data from
6. Execution & Build
- Run migrations:
docker compose exec bukidbountyapp php artisan migrate - Run build:
npm run build - Restart:
docker restart bukidbountyapp