Skip to content
/ SWEN3 Public

Document management system for archiving documents in a FileStore, with automatic OCR (queue for OC-recognition), tagging and full text search (ElasticSearch).

Notifications You must be signed in to change notification settings

ANcpLua/SWEN3

Repository files navigation

Alexander Nachtann, Jasmin Mondre and Stephanie Rauscher

2024/2025 SWKOM

A document management system with features including archiving, OCR processing, tagging, and full-text search.

Sprint Overview and Technologies

Sprint 1: REST Service API

  • ASP.NET Core 8
  • Swagger/OpenAPI (Swashbuckle.AspNetCore)
  • API Controller(minimal api)

Sprint 2: Web-UI Integration

Sprint 3: DAL (Persistence)

  • 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

Sprint 4: Message Broker

Sprint 5: Worker Services

  • Hangfire (Hangfire.AspNetCore)
  • TesseractOCR (Tesseract)

Sprint 6: ElasticSearch

  • NEST (Elasticsearch.Net, NEST)

Sprint 7: Integration-Test

The best way to avoid failure is to fail constantly

Cross-Cutting Concerns

  • Logging: Serilog (Serilog.AspNetCore)
  • Exception Handling: Global exception middleware
  • Validation: FluentValidation
  • Mapping: AutoMapper
  • Dependency Injection: Microsoft

Key Use Cases

  1. Upload document
  2. Search for a document

About

Document management system for archiving documents in a FileStore, with automatic OCR (queue for OC-recognition), tagging and full text search (ElasticSearch).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published