/BiblioFetch

Repository created for the coding exercise as part of the job selection process for Parallel Staff.

Primary LanguageC#

Content

General info

This is a Console Application project designed to read an input file containing ISBN numbers. Using this information, the program checks if the corresponding book is already present in the database/cache. If not, it retrieves the book details from the OpenLibrary API. Subsequently, the program generates an output CSV file that includes the following information for each book: Row Number, Data Retrieval Type, ISBN, Title, Subtitle, Author Name(s), Number of Pages, and Publish Date.

You can find the architectural scheme of the project in the repository.

Tecnologies

  • C#;
  • ASP.NETCore;
  • EntityFramework;
  • XUnit;
  • MySql;

Setup

To run this project, you have two options:

1

Run the project with the "InMemoryDb" flag set to true (default) in the appsettings.json file. This enables the project to utilize an InMemoryDb generated by EntityFramework.

2

Set the "InMemoryDb" flag to false. In this case, you will need to set up a MySqlDb by executing the createDb.sql file provided in the repository. Afterward, configure your connection string in the appsettings.json file located in the BiblioFetch.AppSettings project.
Please note that the appsettings.json file holds the necessary configuration settings.