/DaxtraService

.NET Core service to send CVs to Datxra's API. See http://cvxdemo.daxtra.com/cvx/

Primary LanguageC#MIT LicenseMIT

DaxtraService

.NET Core service to send CVs to Datxra's service.

See Daxtra's API documentation here.

Daxtra provide a reference .NET implementation, but this is compatible with .NET Core's dependency injection model.

This also serialises the result to .NET structured objects, see Model.

Installation

This package is available on NuGet:

PM> Install-Package Evolution.Daxtra -Version 1.0.0

Startup Injection

To add this service:

string url = $"https://{yourService}.daxtra.com";
string api = "/cvx/rest/api/v1"; // Or whatever version you want to use
string key = "your secret password";

services.AddDaxtraParser(url, api, key);

Using the CV Parsing Service

Then this service is available as IDaxtraParser, for instance as a Web API action:

[HttpPost("parseCV")]
public async Task<IEnumerable<Resume>> ParseCV(
    [FromServices] IDaxtraParser parser,     // Get the parser from the injected services 
    [FromForm] IEnumerable<IFormFile> files) // CV files posted from an HTML form
{
    var result = new List<Resume>();
    foreach (var f in files)
    {
        if (f.Length == 0)
             continue;

        using (var s = new MemoryStream())
        {
            await f.CopyToAsync(s);
            var parsed = await parser.Parse(s.ToArray());
            result.Add(parsed);
        }
    }

    return result;
}

Exceptions

Any errors are thrown as DaxtraException, and this contains the body of the CSERROR from the Daxtra service and the HTTP Status.

Request Details

Requests to the Daxtra service are sent as multipart/form-data and GZIP compression, as per best practice recommendation. Content are send and parsed as JSON.

Roadmap

Currently only the profile service to parse CVs is supported. We plan to introduce batch parsing next.