nextjs-data-access-layer
maintained by HoangNguyen0403
star
143
account_tree
48
verified_user
MIT License
name: Next.js Data Access Layer description: Secure, reusable data access patterns with DTOs and Taint checks. metadata: labels: [nextjs, dal, architecture, security] triggers: files: ['/lib/data.ts', '/services/*.ts', '/dal/'] keywords: [DAL, Data Access Layer, server-only, DTO]
Data Access Layer (DAL)
Priority: P1 (HIGH)
Centralize all data access (Database & External APIs) to ensure consistent security, authorization, and caching.
Principles
-
Server-Only: Must include
import 'server-only'to prevent Client bundling. -
Auth Co-location: Auth checks (
session.role) must be inside the DAL function. - DTO Transformation: Return plain objects (DTOs), never raw ORM instances.
-
No Internal Fetch: Call DAL functions directly. Do not
fetch('localhost/api').
Implementation
| Approach | When to use | Reference |
|---|---|---|
| API Gateway (BFF) | Enterprise apps with separated Backend (NestJS). | Pattern A |
| Direct DB | Fullstack apps or Admin Panels. | Pattern B |
Limitations
- Client Components: Cannot import DAL files. Must use Server Actions or Route Handlers as bridges.
chat Comments (0)
Sign in to join the discussion and leave a comment.
Skill Details
GitHub Stars
143
GitHub Forks
48
Created
Jan 2026
Last Updated
il y a 8 mois
tools
tools architecture patterns
Related Skills
Build your own?
Join 12,000+ developers contributing to the Claude ecosystem.
No comments yet. Be the first to share your thoughts!