<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Abd Halim A Rahman</title>
    <description>The latest articles on DEV Community by Abd Halim A Rahman (@halim3la).</description>
    <link>https://dev.to/halim3la</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4039057%2Fd4dc3ce1-dd98-4fe8-b87d-db89dc85c5a9.png</url>
      <title>DEV Community: Abd Halim A Rahman</title>
      <link>https://dev.to/halim3la</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/halim3la"/>
    <language>en</language>
    <item>
      <title>Stop Rebuilding Auth, Roles, and CRUD From Scratch — I Packaged the Pattern</title>
      <dc:creator>Abd Halim A Rahman</dc:creator>
      <pubDate>Tue, 21 Jul 2026 03:14:53 +0000</pubDate>
      <link>https://dev.to/halim3la/stop-rebuilding-auth-roles-and-crud-from-scratch-i-packaged-the-pattern-fij</link>
      <guid>https://dev.to/halim3la/stop-rebuilding-auth-roles-and-crud-from-scratch-i-packaged-the-pattern-fij</guid>
      <description>&lt;p&gt;If you've built more than one internal admin panel or back-office tool in Spring Boot, you already know the drill: authentication, role-based access control, a menu that shows/hides based on who's logged in, and CRUD scaffolding — before you've written a single line of the business logic anyone actually asked for.&lt;/p&gt;

&lt;p&gt;I've built this same foundation across enterprise Java projects for 10+ years — fleet management systems, call/vehicle registry platforms, financial systems. Eventually I got tired of rebuilding it every time, so I packaged it into a starter kit.&lt;/p&gt;

&lt;p&gt;What's in it&lt;/p&gt;

&lt;p&gt;Spring Boot Admin Starter Kit — Java 21, Spring Boot 3.3, Spring Security, PostgreSQL, Thymeleaf, Flyway.&lt;/p&gt;

&lt;p&gt;Authentication — form login, BCrypt password hashing, wired and working out of the box&lt;br&gt;
Role-based access control — Admin / Manager / User, enforced at the route level, not just hidden in the UI&lt;br&gt;
A dynamic, role-aware sidebar menu — define it once, it filters itself automatically based on who's logged in&lt;br&gt;
Three working CRUD modules (Users, Categories, Products) — including a safe @ManyToOne relationship pattern that avoids the classic LazyInitializationException and ConcurrentModificationException traps most tutorials ignore&lt;br&gt;
A reporting dashboard with a live Chart.js graph&lt;br&gt;
Flyway-managed schema + seed data — clone it, run it, you have a working login screen in minutes&lt;br&gt;
Clean layered architecture — Controller → Service → Repository, DTOs separating your persistence model from your views, constructor injection throughout&lt;br&gt;
Why it's worth paying for instead of building it yourself&lt;/p&gt;

&lt;p&gt;You could build all of this yourself — it's maybe a weekend of work if you already know the pitfalls. If you don't, it's longer, and you'll probably hit the same lazy-loading and role-enforcement bugs I already debugged and fixed. This kit skips that weekend.&lt;/p&gt;

&lt;p&gt;Get it&lt;/p&gt;

&lt;p&gt;$14.99 on Gumroad: &lt;a href="https://halimora.gumroad.com/l/sbask" rel="noopener noreferrer"&gt;https://halimora.gumroad.com/l/sbask&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Comes with a full setup guide (prerequisites, database setup, local config, troubleshooting) so you're not stuck debugging environment issues instead of building.&lt;/p&gt;

&lt;p&gt;Happy to answer questions about the architecture in the comments — and if you end up using it, I'd genuinely appreciate a review.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
