What problem does it solve?
NewsParser project-specific conventions for where code should live, how layers interact, and how naming patterns are applied, guiding developers when adding a new class or evaluating architecture decisions.
Core Features & Use Cases
- Layer boundaries and allowed/forbidden placements per Core/, Infrastructure/, Api/, and Worker/.
- Constructor injection and worker architecture patterns to ensure consistent DI and lifecycle.
- Repository naming patterns (GetByIdAsync, UpdateXxxAsync, etc.) to standardize data access.
- Update patterns using SQL constants and Dapper ExecuteAsync rather than in-memory mutations.
- Enum storage as strings and parsing with TryParse for safety.
- Mapper conventions for Entity↔Domain and Api/ DTO conversions.
- Exception handling contract: mapping exceptions to HTTP status in middleware.
- Configuration via the Options pattern with SectionName constants and defaults.
- Interface organization and Domain model conventions.
- Single Responsibility, DRY boundaries, and clear base controller usage.
Quick Start
Apply these conventions whenever you introduce a new class to the codebase to ensure proper layer placement, naming, and dependency usage.