SHC account-flow contribution / Contribution to an existing website / 2024
Adding account management to an existing charity website.
My SHC contribution fits login and profile editing into the site's existing Blade layouts, with profile writes tied to the signed-in user.
- ROLE
- Account-flow contribution
- STATE OF THE BUILD
- Study
- RECORD UPDATED
THE WORK
The project.
My contribution to SHC added and revised the account flow within an existing Laravel website: registration, login, logout and profile editing. The pages reuse the site's established layouts, while dedicated controllers handle account actions. Profile changes resolve the user from the authenticated session, so the form doesn't choose which person's record to update. The original CMS, design and content were already in place.
IMPLEMENTATION
Design choices.
- Reusing the site's layouts gives the account pages the same surrounding navigation and content treatment without rebuilding the website.
- Resolving the profile from the signed-in user removes record selection from the form. The submitted data changes that profile's fields rather than selecting another profile.
- Both controller and Livewire account implementations are still present. Their similar names make route ownership important: editing a component won't affect a request that goes to a controller instead.
HOW IT FITS TOGETHER
Architecture.
- Account routes call UserAuthController for login and registration, then render through the existing Blade views. The contribution connects account handling to the site rather than introducing a second frontend.
- Profile and password routes require authentication and call UserProfileController. That controller reads the current user, validates the submitted fields and saves changes to that user's record.
- Earlier Livewire account components remain in the tree alongside the controller handlers. Following the registered route is therefore necessary to identify which implementation a form actually reaches.
MADE WITH
PHP · Laravel 10 · Blade · Livewire · Filament
ACCESS & INPUT
Security controls.
- Profile and password changes sit in the authenticated route group. The profile handler gets its update target from the session, not an arbitrary user ID in the URL.
- The profile update validates the name and email, including an email uniqueness check that excludes the current user. This is a specific account-editing check, not a claim that the whole authentication flow has been audited.
CHECKS & RESULTS
What was checked.
A source review shows what the code does. It is not a fresh test of the running app.
Code and development records reviewedReviewed
The code, tests and available development records were checked. Reported test results keep their original scope. No fresh app or live deployment check was run for this write-up.
- Scope of this check
- Code review, not a fresh run of the app
NEXT
Still to work through.
This is a bounded contribution to a mixed-author website. Redirects, session behavior and consistency between the remaining account paths still need runtime checks; the existing site's CMS, design and content aren't part of my authorship claim.