Dwinzo_dev/app/docs/documents/projectStructure.md

3.4 KiB
Raw Blame History

Project Folder Structure

This document provides a detailed description of the purpose of each folder in the project by root level, along with the folder hierarchy.

Folder Hierarchy

📁 src
├── 📁 assets
├── 📁 components
├── 📁 functions
├── 📁 hooks
├── 📁 modules
│   ├── 📁 builder
│   ├── 📁 simulation
│   └── 📁 visualization
├── 📁 services
├── 📁 store
├── 📁 styles
├── 📁 tests
├── 📁 types
├── 📁 utils
├── App.css
├── App.tsx
├── index.css
├── main.tsx
└── vite-env.d.ts

Description of Each Folder

📁 src

The root directory for all source code related to the application.

📁 assets

  • Purpose: Contains static assets such as images, icons, fonts, or other resources.
  • Example:
    • react.svg: A static SVG file used in the project.

📁 components

  • Purpose: Contains reusable React components, serving as building blocks for the user interface.
  • Example:
    • Buttons, modals, headers, and forms.

📁 functions

  • Purpose: Stores pure functions or logic that can be reused across the application.
  • Example:
    • Utility functions for data transformation or computation.

📁 hooks

  • Purpose: Holds custom React hooks for managing specific logic or behaviors.
  • Example:
    • Hooks for state management, API calls, or reusable effects.

📁 modules

  • Purpose: Organizes high-level, feature-specific code into subdirectories.
    • 📁 builder: Manages functionalities and components related to building or configuring features.
    • 📁 simulation: Handles processes or logic related to simulations or dynamic scenarios.
    • 📁 visualization: Focuses on displaying data visually, such as charts, graphs, or interactive UI elements.

📁 services

  • Purpose: Encapsulates external service interactions, such as API calls or library integrations.
  • Example:
    • REST API clients or authentication handlers.

📁 store

  • Purpose: Contains state management logic and configurations for tools like Redux or Zustand.
  • Example:
    • Redux slices, context providers, or global state stores.

📁 styles

  • Purpose: Includes global CSS, SCSS, or theming resources.
  • Example:
    • Global styles, theme variables, or resets.

📁 tests

  • Purpose: Stores test files for unit testing, integration testing, and mock data.
  • Example:
    • Test files (*.test.tsx, *.spec.ts) or mock utilities.

📁 types

  • Purpose: Contains shared TypeScript type definitions and interfaces.
  • Example:
    • Type declarations for props, data models, or API responses.

📁 utils

  • Purpose: Includes general-purpose utility files that dont fit into other specific folders.
  • Example:
    • Helper functions like debouncers or date formatters.

Root-Level Files

App.tsx

  • Purpose: The root React component, initializing the main application layout and logic.

index.css

  • Purpose: Contains global styles applied throughout the application.

main.tsx

  • Purpose: The entry point of the app, rendering the React application and setting up the React DOM.

vite-env.d.ts

  • Purpose: TypeScript environment configuration file for Vite.