Guide
Development
Folder Structure

Folder Structure Documentation

Overview

The folder structure of the AMRO admin template organizes the project's files and directories in a systematic manner, ensuring clarity, organization, and maintainability throughout the development process.

Folder Structure

Below is the folder structure of the AMRO admin template:

📦 project-root
 ┣ 📂 .vscode
 ┣ 📂 @core
 ┃ ┗ 📜 ... (Core module files)
 ┣ 📂 @json-data
 ┃ ┗ 📜 ... (JSON data files)
 ┣ 📂 app
 ┃ ┣ 📂 components
 ┃ ┃ ┗ 📜 ... (Application-specific components)
 ┃ ┣ 📂 context
 ┃ ┃ ┗ 📜 ... (Application context providers and hooks)
 ┃ ┣ 📂 dictionary
 ┃ ┃ ┣ 📜 en
 ┃ ┃ ┣ 📜 es
 ┃ ┃ ┗ 📜 ar
 ┃ ┣ 📂 layout
 ┃ ┃ ┗ 📜 ... (Layout components)
 ┃ ┣ 📂 lib
 ┃ ┃ ┗ 📜 ... (Utility functions or libraries)
 ┃ ┣ 📂 public
 ┃ ┃ ┗ 📜 ... (Public assets)
 ┃ ┣ 📂 types
 ┃ ┃ ┗ 📜 ... (TypeScript type definitions)
 ┃ ┗ 📂 UI
 ┃   ┗ 📜 ... (UI components)
 ┣ 📂 .gitignore
 ┣ 📜 .env.example
 ┣ 📜 .eslintrc.json
 ┣ 📜 .prettierignore
 ┣ 📜 .prettierrc
 ┣ 📜 i18n-config.ts
 ┣ 📜 middleware.ts
 ┣ 📜 next.config.js
 ┣ 📜 package.json
 ┣ 📜 postcss.config.js
 ┣ 📜 README.md
 ┣ 📜 tailwind.config.js
 ┣ 📜 theme.settings.tsx
 ┗ 📜 tsconfig.json

Folder Structure Details

  • @core: Contains core module files that provide fundamental functionality for the application.
  • @json-data: Contains JSON data files used by the application.
  • app: Contains application-specific files and directories.
    • components: Houses reusable React components used throughout the application.
    • context: Contains context providers and hooks for state management.
    • dictionary: Holds language-specific dictionary files for internationalization.
    • layout: Stores layout components defining the structure of different pages.
    • lib: Contains utility functions or libraries utilized by the application.
    • public: Houses public assets such as images, fonts, etc.
    • types: Stores TypeScript type definitions used in the application.
    • UI: Contains UI components specific to the application's design system.
  • .gitignore: Specifies intentionally untracked files to ignore in version control.
  • .env.example: Example environment variable configuration file.
  • .eslintrc.json: ESLint configuration file defining linting rules.
  • .prettierignore: Specifies files and directories to ignore by Prettier.
  • .prettierrc: Prettier configuration file defining code formatting rules.
  • i18n-config.ts: Configuration file for internationalization settings.
  • middleware.ts: Middleware configuration file for Next.js application.
  • next.config.js: Next.js configuration file for customizing webpack behavior.
  • package.json: npm package configuration file containing project metadata and dependencies.
  • postcss.config.js: PostCSS configuration file for processing CSS files.
  • README.md: Readme file providing project documentation and instructions.
  • tailwind.config.js: Tailwind CSS configuration file for customizing the framework.
  • theme.settings.tsx: Theme configuration file defining application-wide theme settings.
  • tsconfig.json: TypeScript configuration file defining compiler options and project settings.

Conclusion

The structured folder layout of the AMRO admin template promotes code organization, clarity, and maintainability, facilitating efficient development and collaboration. Each directory serves a specific purpose, allowing developers to locate and manage files effectively throughout the project lifecycle.

For detailed information on each component, configuration file, or directory, refer to the respective documentation or comments within the codebase.