PermifyKit is a production-ready, enterprise-grade Role-Based Access Control (RBAC) starter kit. It provides a solid foundation for building secure web applications with a focus on developer experience, clean architecture, and premium aesthetics.
- Language: Go 1.22+
- Framework: Fiber v2 (Express-inspired, high performance)
- ORM: GORM
- Database: PostgreSQL
- Security: JWT Authentication, Bcrypt password hashing
- Architecture: Clean Architecture (Entities, Repositories, UseCases, Handlers)
- Framework: Vue 3 (Composition API)
- Build Tool: Vite
- State Management: Pinia
- UI Components: PrimeVue 4
- Styling: Tailwind CSS v4
- Icons: PrimeIcons
- 🔐 Robust Authentication: Secure login flow with JWT stored in HTTP-only cookies or local storage.
- 🛡️ Granular RBAC: Dynamic permission checking both on the backend (middleware) and frontend (directives/composables).
- 👥 User Management: Full CRUD for system users, including role assignment.
- 🔑 Role Configuration: Define custom roles and aggregate system-wide permissions.
- 📊 Modern Dashboard: Sleek, responsive navigation with nested routing.
- ⚡ Performance Optimized: Built for speed with Go and Vite.
- 🎨 Premium UI/UX: Clean, professional aesthetic using Tailwind CSS v4 and PrimeVue.
- Go (1.22 or later)
- Node.js (v18 or later)
- PostgreSQL
- Docker (Optional, for database)
-
Clone the repository:
git clone git@github.com:Basith-08/PermifyKit.git cd PermifyKit -
Backend Setup:
cd backend # Copy environment example cp .env.example .env # Install dependencies go mod tidy # Run the server go run cmd/api/main.go
-
Frontend Setup:
cd frontend # Install dependencies npm install # Run development server npm run dev
.
├── backend
│ ├── cmd/api # Application entry point
│ ├── internal
│ │ ├── domain # Business entities
│ │ ├── repository # Data access layer
│ │ ├── usecase # Business logic layer
│ │ ├── delivery/http # API Handlers
│ │ ├── middleware # Security & Auth middlewares
│ │ └── config # Configuration management
├── frontend
│ ├── src
│ │ ├── core # Base API, router, and permissions
│ │ ├── modules # Feature-based modular structure
│ │ │ ├── auth # Authentication logic
│ │ │ ├── dashboard # Main dashboard views
│ │ │ ├── users # User management module
│ │ │ └── roles # Role & permission module
│ │ └── assets # Global styles and images
└── database # SQL migrations and init scripts
Distributed under the MIT License. See LICENSE for more information.
