10000 GitHub - TimurRybakov/TerroristChecker: ASP .NET web api dockerised application for quick fuzzy search persons among terrorists
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ASP .NET web api dockerised application for quick fuzzy search persons among terrorists

License

Notifications You must be signed in to change notification settings

TimurRybakov/TerroristChecker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TerroristChecker

GitHub GitHub top language GitHub Repo stars

.Net Docker Postgres Redis

API that provides checks of a person enlisted as terrorist using fuzzy string indexed search of it's name(s) by input string.

Fuzzy matching is implemented individualy for every word in input string using Dice coefficient algorithm, where words are splitted in n-grams and indexed. Full name may include one or more words. Full name match is calculated as an average of each name coefficient. In complex cases when several input words matches several person's names best match is calculated using Hungarian algorithm.

diagram-export-14 06 2024-01_05_30

The solution uses docker compose for maintaining containers:

  • Web app (ASP .NET Core 8)
  • Database server (PostgreSQL 16.3)
  • Database maintenance (PgAdmin 4)
  • Response cache (Redis 7)

The solution is designed in the ideas of DDD and clean architecture. It uses MediatR ISender for CQRS pattern to execute commands for API and Integration tests under xUnit with Testcontainers.

Before statring the application ensure Docker desktop is installed and running.

0