How arraniri46/sso-auth works
This repository is a Next.js app presenting an SSO-branded login screen and an admin dashboard for centralized access control. The visible user flow is to open the login page, enter credentials, and—separately in the implemented dashboard layout—navigate admin dashboard, absence, employee, department, application, and role-management pages. The README describes JWT authentication, HTTP-only cookies, route guarding, and integrated APIs, but those backend capabilities are not verifiable in the supplied tree or excerpts; the backend auth service is present, while runtime authentication wiring is unclear.
Main entry points: layout.tsx Dashboard layout · sidebar.tsx Admin sidebar · login-form.tsx Login form · page.tsx Login page
Components 19
Authentication UI
- Login form
src/app/(frontend)/(auth)/auth/_components/login-form.tsx - Login page
src/app/(frontend)/(auth)/auth/login/page.tsx - Auth service
src/app/(backend)/services/auth/index.ts
Admin workspace
- Dashboard layout
src/app/(frontend)/(dashboard)/layout.tsx - Admin dashboard
src/app/(frontend)/(dashboard)/admin/dashboard/page.tsx - Absence admin
src/app/(frontend)/(dashboard)/admin/absence/page.tsx - Absence page
src/app/(frontend)/absence/page.tsx - Employee management
src/app/(frontend)/(dashboard)/admin/management/employees/page.tsx - Department management
src/app/(frontend)/(dashboard)/admin/management/departments/page.tsx - Application management
src/app/(frontend)/(dashboard)/admin/management/applications/page.tsx - Role settings
src/app/(frontend)/(dashboard)/admin/setting/roles/page.tsx
Shared UI state
- Admin sidebar
src/components/layouts/admin-layouts/sidebar.tsx - Admin navbar
src/components/layouts/admin-layouts/navbar.tsx - Navigation config
src/config/site-config.tsx - UI state store
src/store/global-store.tsx - Loading view
src/components/partials/loading-view.tsx - Brand logo
src/components/partials/logo.tsx - Root layout
src/app/layout.tsx
Other components
- User
Connections 18
- User → Login page: opens login
src/app/(frontend)/(auth)/auth/login/page.tsx - Login page → Login form: renders
src/app/(frontend)/(auth)/auth/login/page.tsx - User → Dashboard layout: opens workspace
- Dashboard layout → Admin sidebar: renders
src/app/(frontend)/(dashboard)/layout.tsx - Dashboard layout → Admin navbar: renders
src/app/(frontend)/(dashboard)/layout.tsx - Dashboard layout → Loading view: uses fallback
src/app/(frontend)/(dashboard)/layout.tsx - Dashboard layout → Admin dashboard: hosts page
- Dashboard layout → Absence admin: hosts page
- Dashboard layout → Employee management: hosts page
- Dashboard layout → Department management: hosts page
- Dashboard layout → Application management: hosts page
- Dashboard layout → Role settings: hosts page
- Admin sidebar → Navigation config: reads links
src/components/layouts/admin-layouts/sidebar.tsx - Admin sidebar → UI state store: reads state
src/components/layouts/admin-layouts/sidebar.tsx - Admin sidebar → Brand logo: renders
src/components/layouts/admin-layouts/sidebar.tsx - Admin navbar → UI state store: reads state
src/components/layouts/admin-layouts/navbar.tsx - Root layout → Dashboard layout: wraps app
- Login form → Auth service: submits credentials