NextJS 14+ - App directory architecture.
All the pages can be found in the app/[locale] directory.

Multi-Language support (next-intl)
New languages can be added by creating a new file in the src/app/i18n directory. The file should be similar to the following:

The language switcher component can be found in the src/app/components/lang-switcher.tsx file.
Dark mode & Light mode support
You can change the theme colors by changint the file mentioned in the following image.

Database and state management
This project uses TypeORM for database management and Zustand for state management. The database connection can be found in the src/app/database directory. The state management can be found in the src/app/store directory. The models can be found in the src/app/models directory.

Components & style management
The components can be found in the src/app/components directory. When style is needed, for each component, there is a dedicated file that is imported in the component file.
