📁 utils/ - Purpose: General-purpose helper functions. - Characteristics: - Pure functions (no side effects). - Reusable across the app. - Examples: - formatDate() - validateEmail() - generateRandomId() 📁 lib/ - Purpose: Library wrappers or core logic modules. - Characteristics: - Handles I/O or integrates with external services. - Application-specific logic (e.g., DB, mail). - Examples: - lib/prisma.js (Prisma client) - lib/redis.js (Redis connection) - lib/sendMail.js (Nodemailer wrapper) 📁 config/ - Purpose: Centralized application settings. - Characteristics: - Environment/config values. - No logic, just definitions/settings. - Examples: - config/database.js (DB credentials) - config/jwt.js (JWT secret, expiration) - config/app.js (port, app name)