A full-featured admin panel built with Vue.js on the frontend and NestJS on the backend.
Includes authentication with JWT and authorization with Role-Based Access Control (RBAC).
- Authentication using JWT (access & refresh tokens)
- Role-Based Access Control (RBAC)
- Modular and scalable backend with NestJS
- Frontend built with Vue 3 & Composition API
- Beautiful, responsive UI with PrimeVue
- Route guards and UI-based permission control
- Secure token handling with HttpOnly cookies
- Vue.js 3
- Vue Router
- Pinia (with persisted state)
- Axios (with interceptors)
- PrimeVue UI Kit
- Tailwind CSS
- NestJS
- Nest.js jwt (JWT Strategy)
- Prisma ORM
- PostgreSQL
- Swagger (OpenAPI)
- Node.js 18+
- npm or yarn
# Backend
cd backend
npm install
# Frontend
cd panel
npm install
# Start backend (NestJS)
cd backend
npx prisma db seed
npm run start:dev
# Start frontend (Vue.js)
cd panel
npm run dev
project-root/
├── backend/
│ └── src/
│ ├── auth/
│ ├── user/
│ ├── role/
│ └── ...
├── panel/
│ └── src/
│ ├── components/
│ ├── views/
│ ├── store/
│ └── router/
│ └── ...
└── README.md