Refactor and enhance document and recipe import functionality

- Removed the QuickImport module and service to streamline the codebase.
- Introduced DocumentImport module, service, and controller for handling PDF uploads and conversions to Markdown.
- Added PdfParser for parsing PDF files and extracting text.
- Implemented DocumentParser as an abstract class for future document parsers.
- Created a new GenericRecipeParser and IcaRecipeParser for handling recipe data from various sources.
- Developed QuickImportService to manage recipe scraping from URLs.
- Enhanced error handling and validation for file uploads and input processing.
- Updated project documentation with a structured plan for future development and improvements.
This commit is contained in:
Nils-Johan Gynther
2026-04-23 15:54:14 +02:00
parent e18bf79395
commit 409d0b6b06
15 changed files with 127 additions and 6 deletions
+4 -4
View File
@@ -1,12 +1,12 @@
import { Module } from '@nestjs/common';
import { QuickImportModule } from './quick-import/quick-import.module';
import { WebScrapingModule } from './web-scraping-service/web-scraping.module';
import { RecipesModule } from './recipes/recipes.module';
import { DocumentImportModule } from './document-import/document-import.module';
import { DocumentServiceModule } from './document-service/document-service.module';
@Module({
imports: [
DocumentImportModule,
QuickImportModule,
DocumentServiceModule,
WebScrapingModule,
RecipesModule,
],
})
@@ -6,7 +6,7 @@ import {
BadRequestException,
} from '@nestjs/common';
import { FileInterceptor } from '@nestjs/platform-express';
import { DocumentImportService, DocumentImportResult } from './document-import.service';
import { DocumentImportService, DocumentImportResult } from '../services/document-import.service';
@Controller('api/document-import')
export class DocumentImportController {
@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { DocumentImportController } from './controllers/document-import.controller';
import { DocumentImportService } from './services/document-import.service';
@Module({
controllers: [DocumentImportController],
providers: [DocumentImportService],
})
export class DocumentServiceModule {}
@@ -1,5 +1,5 @@
import { Controller, Post, Body } from '@nestjs/common';
import { QuickImportService, QuickImportResult } from './quick-import.service';
import { QuickImportService, QuickImportResult } from '../services/quick-import.service';
@Controller('quick-import')
export class QuickImportController {
@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { QuickImportController } from './controllers/quick-import.controller';
import { QuickImportService } from './services/quick-import.service';
@Module({
controllers: [QuickImportController],
providers: [QuickImportService],
})
export class WebScrapingModule {}