Parcorpus is a Web API for working with a parallel corpus of translated texts. With the use of Parcorpus, you can search for translations of a word along with its usage examples.
A parallel corpus is a bilingual corpus containing texts simultaneously both in its original language and in some other language [Khosla, 2018].
Today, the parallel corpus has become an integral part of the translation process. The translator needs resources that offer him options for interpreting the source text to confirm his own hypotheses. In practice, more than half of the time spent on translation is spent on helping materials such as dictionaries [Rura, 2008]. Thus, using a parallel corpus can significantly speed up the translator's work.
Contrary to most of the research suggesting storing the corpus as a set of XML files, this project proposes the implementation of a parallel corpus using a relational data model.
- Word search with its translation and usage examples
- Add new texts for aligning
- Manage your texts
- Navigate through your search history
- JWT-based authorization
- Nginx load balancing
- Database replication
- Producer-consumer pattern for aligning new texts
- C#, .NET 7.0, ASP.NET Core
- PostgreSQL / bitnami image for replication
- xUnit, Testcontainers, Respawn and FlueFlame for tests
- NGINX
- RabbitMQ
- Python & gRPC
Documentation can be found in docs folder. It contains database schemes, UML diagrams, OpenAPI specification and some domain analysis in Russian.