Folder Structure

This document outlines a clean and organized folder structure for a Next.js project, centered around the @wieldy core system, which provides the foundation for reusable components and utilities.


Folder Structure:

WIELDY-4.X

Root directory of the project.

  • @assets

    • Contains static assets such as images, icons, and fonts used across the application.

  • @wieldy

    • Core Description: The backbone of the application, offering modular and reusable components for consistent functionality.

    • components

      • WieldyContainer: Container component for managing layout spacing.

      • WieldyLayout: Base layout component for structuring pages.

      • WieldyTheme: Theme provider for applying consistent styles.

      • index.ts: Entry point for exporting all @wieldy components.

    • utils

      • Utility functions and helpers to enhance reusability.

  • public

    • Static files accessible via direct URLs, such as images or static assets.

  • src

    • _components

      • Shared UI components reused across the project.

    • _config

      • Centralized configuration files for themes, layouts, and application settings.

    • _dictionaries

      • Files supporting multilingual translations and text dictionaries.

    • _hooks

      • Custom React hooks for logic reuse.

    • _middleware

      • Middleware logic for handling routing and API operations.

    • _themes

      • Theme objects, such as dark and light mode configurations.

    • _utilities

      • Helper functions and constants shared throughout the application.

    • app

      • Dynamic routes, layouts, and API handlers for the application.

    • types

      • TypeScript type definitions to ensure type safety across the project.

  • middleware.ts

    • Custom middleware logic for advanced request handling.


Root Files:

  • .eslintrc.json: Configuration for ESLint to enforce code quality.

  • .prettierrc.json: Configuration for Prettier to maintain consistent formatting.

  • next.config.mjs: Configuration file for customizing Next.js behavior.

  • package.json: Defines project dependencies and scripts.

  • postcss.config.js: Configuration for PostCSS.

  • README.md: Project documentation and guidelines.

  • tailwind.config.js: Tailwind CSS customization file.

  • tsconfig.json: Configuration file for TypeScript.


Key Highlights:

  • Scalable: Modular organization ensures scalability for larger projects.

  • Reusability: system facilitates consistent and reusable components.

  • Maintainability: Clear separation of concerns simplifies project maintenance.