/sample-project

Primary LanguageC#MIT LicenseMIT

Linnworks тестовое задание

Требования для запуска:

  1. dotnet --version // 3.1.402
  2. node --version // 12.18.3
  3. npm --version // 6.14.6

Скорей всего запустится и на других билдах. Главное требование ASP.NET Core 3.1 и версия Node.js с которой работает Angular CLI 10.2.0

Перед запуском проекта надо восстановить все зависимости. Для восстановления из nuget можно воспользоваться Visual Studio 2019 или dotnet restore. Для восстановления из npm перейдите в директорию с ClientApp (src/ui/Linnworks.Web/ClientApp) или выполните npm install или yarn.

Для запуска проекта можно воспользоваться или Visual Studio 2019 и как обычно (запускать надо проект Linnworks.Web.csproj), или можно воспользоваться dotnet CLI:

    cd '<solution_dir>'
    dotnet run -p ./src/ui/Linnworks.Web/Linnworks.Web.csproj

Проект поддерживает документацию Swagger. После старта приложения можно перейти по пути localhost:5000/api.

В качестве базы данных я взял SQLite, база лежит прямо в репозитории в корне проекта (Linnworks.db). В эту базу по умолчанию записан 1000000 тестовых записей. В проекте есть утилита Linnworks.DatabaseSeederUtility, которая может закинуть в базу данных из .csv файлов. В папке с утилитой есть два файла sales.csv - использованный файл с 1000000 строк и sales_100.csv - такой же файл с 100 строк. 1000000 строк вставляется в базу примерно 1,5 часа на средненьком ноуте.

Важно. Из-за того, что база данных и самплы идут прямо в репозитории приходится использовать плагин для Git (на Github ограничения на размер файла 100 МБ).