This project follows the Conventional Commits specification for commit messages. This leads to more readable messages that are easy to follow when looking through the project history.
the project follows a modular architecture organized as follows:
src/
├── modules/
│ ├── core/ # core functionality
│ │ ├── components/
│ │ ├── services/
│ │ ├── types/
│ │ └── utils/
│ ├── home/
│ │ ├── components/
│ │ ├── services/
│ │ ├── types/
│ │ └── utils/
│ ├── search/
│ │ ├── components/
│ │ ├── services/
│ │ ├── types/
│ │ └── utils/
│ └── movie/
│ ├── components/
│ ├── services/
│ ├── types/
│ └── utils/
└── app/
├── (routes)/
│ ├── popular/
│ │ └── page.tsx
│ ├── search/
│ │ └── page.tsx
│ └── movie/
│ └── [id]/
│ └── page.tsx
├── layout.tsx
modules/: Contains all feature-specific modules and the core core.
core/: Houses core components, services, and utilities used across multiple modules.
Other directories (e.g., home/, search/, movie/) contain feature-specific code.
(routes)/: Contains route-specific pages.
[!NOTE] This architecture is particularly beneficial for large-scale applications or projects expected to grow significantly over time.
You can find the API documentation here (development).