Cтруктура файлов проекта для API на NestJS с использованием Prisma, который включает модель Documents:

Вот пример структуры файлов проекта для API на NestJS с использованием Prisma, который включает модель Documents:

javascript

project-root/
├── prisma/
│   ├── schema.prisma          # Файл Prisma-схемы, описывающий модели и связи
│   ├── seed.ts                # Скрипт для заполнения базы данных тестовыми данными
│   └── migrations/            # Папка с миграциями Prisma
├── src/
│   ├── app.module.ts          # Главный модуль приложения
│   ├── main.ts                # Точка входа в приложение
│   ├── prisma/
│   │   ├── prisma.module.ts   # Модуль Prisma для подключения к базе данных
│   │   └── prisma.service.ts  # Сервис Prisma для взаимодействия с базой данных
│   ├── documents/
│   │   ├── documents.module.ts       # Модуль для работы с моделью Documents
│   │   ├── documents.controller.ts   # Контроллер для обработки HTTP-запросов
│   │   ├── documents.service.ts      # Сервис для бизнес-логики
│   │   └── dto/
│   │       └── create-document.dto.ts # DTO для создания документа
│   └── folder/                       # (Опционально) Модуль для работы с папками
│       ├── folder.module.ts
│       ├── folder.controller.ts
│       ├── folder.service.ts
│       └── dto/
│           └── create-folder.dto.ts
├── .env                          # Файл с переменными окружения (например, DATABASE_URL)
├── package.json                  # Файл с зависимостями и скриптами проекта
├── tsconfig.json                 # Конфигурация TypeScript
└── README.md                     # Документация проекта

Объяснение структуры:

  1. prisma/:
    • Содержит файл schema.prisma, где описаны модели базы данных.
    • seed.ts используется для заполнения базы данных тестовыми данными.
    • Папка migrations/ содержит миграции, созданные Prisma.
  2. src/:
    • Основная папка с исходным кодом приложения.
    • app.module.ts: Главный модуль приложения, где подключаются все остальные модули.
    • main.ts: Точка входа в приложение, где запускается сервер.
  3. src/prisma/:
    • Модуль Prisma для подключения к базе данных.
    • Сервис Prisma предоставляет методы для работы с базой данных.
  4. src/documents/:
    • Модуль для работы с моделью Documents.
    • documents.controller.ts: Обрабатывает HTTP-запросы (например, GETPOST).
    • documents.service.ts: Содержит бизнес-логику и взаимодействие с базой данных.
    • dto/: Содержит DTO (Data Transfer Object) для валидации входящих данных.
  5. src/folder/ (опционально):
    • Модуль для работы с папками (Folder), если требуется.
  6. Корневые файлы:
    • .env: Хранит переменные окружения, такие как DATABASE_URL.
    • package.json: Содержит зависимости и скрипты для запуска проекта.
    • tsconfig.json: Конфигурация TypeScript.

Эта структура соответствует стандартам NestJS и позволяет легко масштабировать проект.