0.12.6 • Published 7 months ago

@hirebus/academy v0.12.6

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

Project Structure & Code Organization

Package Manager

  • Use pnpm for all package installations and management

Core Libraries and Versions

  • React: ^18.x.x
  • React DOM: ^18.x.x
  • TypeScript: ^5.x.x
  • Tailwind CSS: ^3.x.x
  • shadcn/ui: Latest components
  • Zod: ^3.x.x
  • TanStack Router: ^1.x.x
  • Tanstack Query: ^5.x.x
  • Zustand: ^4.x.x

Naming Conventions

  • kebab-case - for all folders/files
  • _kebab-case - for feature domain's specific common modules
  • -kebab-case - for route domain's specific common modules
  • PascalCase - for classes and types
  • snake_case - for database tables and columns
  • camelCase - for functions, zod schemas and etc.

Common Modules

  • assets - for assets
  • components - for components
  • constants - for constants
  • contexts - for react context api
  • data - for data access layer (e.g. api, database)
  • hooks - for custom hooks, tanstack query and mutation
  • lib - for 3rd party integrations libraries
  • services - for business logic and orchestration of data access layer (Only if necessary)
  • stores - for stores (e.g. zustand)
  • types - for types
  • utils - for utilities

Domain Folders

  • src - main source code and shared common modules
  • src/routes - main router folder
  • src/features - main features folder (Only if necessary)

Shared Modules Structure

Shared modules follow this structure:

src/
├── assets/                 # Shared assets module
├── components/             # Shared dumb components module
│   └── ui/                 # UI components (button, input, etc.)
├── constants/              # Shared constants module
├── contexts/               # Shared react context api module
├── data/                   # Shared data access layer module (API, database)
├── hooks/                  # Shared custom hooks, tanstack query and mutation
│   ├── use-[custom].ts  # Shared custom hook
│   └── query/              # TanStack Query hooks
│       └── [entity]/  # TanStack Query entity folder
│           ├── use-[entity]-query.ts     # Shared react-query query (Only if necessary)
│           └── use-[entity]-mutation.ts  # Shared react-query mutation (Only if necessary)
├── lib/                    # Shared 3rd party integrations
├── services/               # Shared business logic (only if necessary)
├── stores/                 # Shared state stores (e.g., zustand)
├── types/                  # Shared types
└── utils/                  # Shared utilities

Routes Domain Structure - Default

When creating new page/route files, follow this structure:

src/routes/<route-name>/
├── index.tsx               # Route's entry point
├── -components/            # Route's components
├── -constants/             # Route's constants
├── -contexts/              # Route's react context API
├── -hooks/                 # Route's hooks
├── -types/                 # Route's types
└── -utils/                 # Route's utilities

Feature Domain Structure - Optional

When creating new feature files, follow this structure:

src/features/<feature-name>/
├── index.ts                # Feature's entry point
├── _assets/                # Feature's assets (only if necessary)
├── _components/            # Feature's components
├── _constants/             # Feature's constants
├── _contexts/              # Feature's react context API
├── _data/                  # Feature's data access layer (only if necessary)
├── _hooks/                 # Feature's hooks, tanstack query and mutation (only if necessary)
├── _lib/                   # Feature's 3rd party integrations (only if necessary)
├── _services/              # Feature's business logic (only if necessary)
├── _stores/                # Feature's state stores (e.g., zustand)
├── _types/                 # Feature's types
└── _utils/                 # Feature's utilities
0.12.6

7 months ago

0.12.5

7 months ago

0.12.3

7 months ago

0.12.1

7 months ago

0.12.0

7 months ago

0.11.6

7 months ago

0.11.5

7 months ago

0.11.4

7 months ago

0.11.3

7 months ago

0.11.2

7 months ago

0.11.0

7 months ago

0.10.6

7 months ago

0.10.5

7 months ago

0.10.3

7 months ago

0.10.2

7 months ago

0.10.1

7 months ago

0.10.0

7 months ago

0.9.9

7 months ago

0.9.8

7 months ago

0.9.7

7 months ago

0.9.5

7 months ago

0.9.4

7 months ago

0.9.3

7 months ago

0.9.2

7 months ago

0.9.1

7 months ago

0.9.0

7 months ago

0.8.10

7 months ago

0.8.9

7 months ago

0.8.8

7 months ago

0.8.7

7 months ago

0.8.6

7 months ago

0.8.5

7 months ago

0.8.4

7 months ago

0.8.3

7 months ago

0.8.2

7 months ago

0.8.1

7 months ago

0.8.0

7 months ago

0.7.6

7 months ago

0.7.5

7 months ago

0.7.4

7 months ago

0.7.3

7 months ago

0.7.2

7 months ago

0.7.1

7 months ago

0.7.0

7 months ago

0.6.7

7 months ago

0.6.6

7 months ago

0.6.5

7 months ago

0.6.4

7 months ago

0.6.3

7 months ago

0.6.2

7 months ago

0.6.1

7 months ago

0.6.0

7 months ago

0.5.10

7 months ago

0.5.9

7 months ago

0.5.8

7 months ago

0.5.7

7 months ago

0.5.6

7 months ago

0.5.5

7 months ago

0.5.4

7 months ago

0.5.3

7 months ago

0.5.2

7 months ago

0.5.1

7 months ago

0.5.0

7 months ago

0.4.4

7 months ago

0.4.3

7 months ago

0.4.2

7 months ago

0.4.1

7 months ago

0.4.0

7 months ago

0.3.16

7 months ago

0.3.15

7 months ago

0.3.14

7 months ago

0.3.13

7 months ago

0.3.12

7 months ago

0.3.11

7 months ago

0.3.10

7 months ago

0.3.9

7 months ago

0.3.8

7 months ago

0.3.7

8 months ago

0.3.6

8 months ago

0.3.5

8 months ago

0.3.4

8 months ago

0.3.3

8 months ago

0.3.2

8 months ago

0.3.1

8 months ago

0.3.0

8 months ago

0.2.18

8 months ago

0.2.17

8 months ago

0.2.16

8 months ago

0.2.15

8 months ago

0.2.14

8 months ago

0.2.13

8 months ago

0.2.12

8 months ago

0.2.11

8 months ago

0.2.10

8 months ago

0.2.9

8 months ago

0.2.8

8 months ago

0.2.7

8 months ago

0.2.6

8 months ago

0.2.5

8 months ago

0.2.4

8 months ago

0.2.3

8 months ago

0.2.2

8 months ago

0.2.1

8 months ago

0.2.0

8 months ago

0.1.6

8 months ago

0.1.5

8 months ago

0.1.4

8 months ago

0.1.3

8 months ago

0.1.2

8 months ago

0.1.1

8 months ago

0.1.0

8 months ago