A document management system with features including archiving, OCR processing, tagging, and full-text search.
- ASP.NET Core 8
- Swagger/OpenAPI (Swashbuckle.AspNetCore)
- API Controller(minimal api)
Option A: React maybe even with Fluent UI https://react.fluentui.dev/?path=/docs/concepts-introduction--docsOption B: Blazor WebAssembly (Microsoft.AspNetCore.Components.WebAssembly)- Option C: good old html and js
- Entity Framework Core (Microsoft.EntityFrameworkCore)
- PostgreSQL (Npgsql.EntityFrameworkCore.PostgreSQL) to persist
- BL(domainmodel) entities
- Unit Tests with a happy and unhappy path
- Mapping using Automapper
- Minimal API
- Docker working
- RabbitMQ using EasyNetQ version 7.8(7) https://github.com/EasyNetQ/EasyNetQ/wiki/Quick-Start
- Hangfire (Hangfire.AspNetCore)
- TesseractOCR (Tesseract)
- NEST (Elasticsearch.Net, NEST)
The best way to avoid failure is to fail constantly
- Logging: Serilog (Serilog.AspNetCore)
- Exception Handling: Global exception middleware
- Validation: FluentValidation
- Mapping: AutoMapper
- Dependency Injection: Microsoft
- Upload document
- Search for a document