update readme
This commit is contained in:
		
							
								
								
									
										41
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								README.md
									
									
									
									
									
								
							@@ -117,3 +117,44 @@ EXPOSE 3000
 | 
			
		||||
CMD ["node", "dist/index.js"]
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
###  Scraper OOP 
 | 
			
		||||
 | 
			
		||||
#### Entrypoint
 | 
			
		||||
- `scraper.ts`                     - Application entry point that initializes the scraping system
 | 
			
		||||
 | 
			
		||||
#### Core Services
 | 
			
		||||
- `ScrapingScheduler.ts`           - Orchestrates scraping cycles and timing
 | 
			
		||||
- `ContentScrapingService.ts`      - Handles web content scraping logic
 | 
			
		||||
- `FeedReaderService.ts`           - Manages newspaper extraction
 | 
			
		||||
- `ScrapingService.ts`             - Base scraping functionality
 | 
			
		||||
 | 
			
		||||
#### Utilities
 | 
			
		||||
- `WebScraper.ts`                  - HTML parsing and data extraction utility
 | 
			
		||||
- `logger.ts`                      - Logging utility
 | 
			
		||||
 | 
			
		||||
#### Extractors
 | 
			
		||||
- `BaseNewspaperExtractor.ts`      - clase Abstract Base
 | 
			
		||||
- `ElPaisExtractor.ts`             - especificación / extractor para El País 
 | 
			
		||||
- `ElMundoExtractor.ts`            - especificación / extractor para El Mundo
 | 
			
		||||
- `NewspaperExtractorFactory.ts`   - clase Factory  para crear extractors
 | 
			
		||||
 | 
			
		||||
#### Types & Interfaces
 | 
			
		||||
- `Feed.ts`                        - tipos y interfaces
 | 
			
		||||
- `NewspaperTypes.ts`              - configuración de las interfaces
 | 
			
		||||
- `FeedRepository.ts`              - abstracción interfaz de la base de datos
 | 
			
		||||
 | 
			
		||||
## Propiedades de OOP
 | 
			
		||||
 | 
			
		||||
- He intentado seguir las propiedades de OOP. Ejemplo:
 | 
			
		||||
  - separación de responsabilidades: con las capas de abstracción, y servicios dedicados
 | 
			
		||||
  - Factory de los extractors en NewspaperExtractorFactory, básicamente, patrón de diseño que nos ayuda a crear objetos de una clase específica, basados en ciertos parámetros, y así lo adaptamos a nuestros periodicos favoritos.
 | 
			
		||||
  - Herencia, desde BaseNewspaperExtractor a los extractors.
 | 
			
		||||
  - Utils, para tener DRY y poder usarlo desde diferentes classes.
 | 
			
		||||
  - He intentando poner tests donde sea necesario, y de forma que tenga sentido.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Obviamente cualquier propuesta está siempre abierta a debate y a mejoras. 
 | 
			
		||||
En mi caso, y dentro de las limitaciones, he intentado seguir las instrucciones y ver como lo podemos adaptar. 
 | 
			
		||||
Seguramente con más tiempo se puede simplificar más sin perder funcionalidades.
 | 
			
		||||
		Reference in New Issue
	
	Block a user