How seri0720/shop works
This is a web application with a React client and NestJS API for account registration/login, refresh-token sessions, a protected account area, and an admin-only area. The main flow is browser routes and forms → client auth state/API calls → auth controller/service → user and refresh-token persistence; guarded user/admin endpoints provide protected results. README content is absent, so capabilities and links are based on the tree and shown excerpts; unsampled page, guard, and JWT behavior is represented conservatively.
Main entry points: router.tsx App routes · auth.controller.ts Auth endpoints · api.ts API client · app.module.ts Nest app
Components 19
Web client
- Client bootstrap
frontend/src/main.tsx - App routes
frontend/src/router.tsx - Auth screens
frontend/src/pages/login-page.tsx - Auth context
frontend/src/features/auth/auth-context.ts - API client
frontend/src/lib/api.ts - Account page
frontend/src/pages/account-page.tsx - Admin dashboard
frontend/src/pages/admin/dashboard-page.tsx
Backend API
- Nest app
backend/src/app.module.ts - User endpoints
backend/src/user/user.controller.ts - Admin endpoint
backend/src/admin/admin.controller.ts
Identity and access
- Auth endpoints
backend/src/auth/auth.controller.ts - Auth workflows
backend/src/auth/auth.service.ts - JWT strategy
backend/src/auth/jwt.strategy.ts - Access control
backend/src/common/auth/roles.guard.ts - Refresh tokens
backend/src/auth/refresh-token.service.ts
Persistence
- User operations
backend/src/user/user.service.ts - Prisma service
backend/src/prisma/prisma.service.ts - PostgreSQL
Other components
- Browser user
Connections 23
- Browser user → Client bootstrap: uses
- Client bootstrap → App routes: mounts
frontend/src/main.tsx - App routes → Auth screens: routes to
frontend/src/router.tsx - App routes → Account page: protects route
frontend/src/router.tsx - App routes → Admin dashboard: routes to
frontend/src/router.tsx - Auth screens → Auth context: uses
- Auth context → API client: requests
- API client → Auth endpoints: HTTP calls
- Account page → API client: requests
- Admin dashboard → API client: requests
- Nest app → Auth endpoints: registers
backend/src/app.module.ts - Nest app → User endpoints: registers
backend/src/app.module.ts - Nest app → Admin endpoint: registers
backend/src/app.module.ts - Auth endpoints → Auth workflows: delegates
backend/src/auth/auth.controller.ts - Auth workflows → User operations: checks and creates users
backend/src/auth/auth.service.ts - Auth workflows → Refresh tokens: issues and revokes
backend/src/auth/auth.service.ts - Auth endpoints → User endpoints: returns session/user data
- User endpoints → User operations: loads current user
backend/src/user/user.controller.ts - Admin endpoint → Access control: applies guards
backend/src/admin/admin.controller.ts - Access control → JWT strategy: validates token
- User operations → Prisma service: queries users
backend/src/user/user.service.ts - Refresh tokens → Prisma service: stores token hashes
backend/src/auth/refresh-token.service.ts - Prisma service → PostgreSQL: reads and writes