Skip to main content

Command Palette

Search for a command to run...

Magatunga - 4 - Users, users, users

Updated
2 min read
Magatunga - 4 - Users, users, users

Focus: Finishing the authentication and user role pipeline

Today was all about closing the functional core of Magatunga — and it feels great to see everything finally connected and working the way it should.


What we accomplished

1. Fixed the authentication redirect bug

A persistent issue where newly registered users were being redirected to the landing page after login turned out to be caused by missing Spatie role assignments.
We dug into the database, confirmed the mismatch between the users.role field and the model_has_roles pivot, and fixed it by properly assigning the student role to new users during registration.

➡️ Now all users land on the correct dashboard after login.
➡️ Role-based redirects (Admin / Teacher / Student) are working flawlessly.


2. Completed the email verification pipeline

We branded and finalized the verification email, replacing Laravel’s default with our own custom layout.
The flow is now clean:

  1. User registers

  2. Receives a branded verification mail

  3. Verifies their account

  4. Gets redirected to the correct dashboard

No more plain Laravel emails — everything now fits Magatunga’s visual identity.


3. Finished the Forgot Password flow

We redesigned the password reset and forgot password pages to match Magatunga’s style guide.
Both pages use the same card design, color palette, and typography as the rest of the app.
The UX is consistent and professional from start to finish.


4. Unified styling for auth pages

We made sure that all guest-facing views (Login, Register, Forgot Password, Verify Email) use our unified layout and public.css theme.
Even the “verify your email” screen now looks clean and consistent with the Magatunga brand colors.


5. Verified that registration auto-assigns roles

To prevent future inconsistencies, we added an explicit assignRole('student') call in the registration controller.
Every new signup now has the proper Spatie role attached automatically — ensuring smooth redirects and consistent permissions.


Reflections

Today’s session was a major milestone — we can now confidently say that the core user flow is feature-complete.
Registration, verification, login, password recovery, and role-based dashboards are all functional.

That means the MVP backend is practically finished, and we can focus on the next big steps:

  • Student dashboard polish

  • Teacher inbox

  • Admin overview

  • Payment checkout integration

More from this blog

F

FNHP Dev Diaries

9 posts