Ambaha it-solutions
Ищем .NET программиста
в офис или удаленно

На новый проект:
Последние технологии: ASP.NET Core, Angular 5
Общение с носителями языка
SCRUM
Продолжительность проекта: 6+ месяцев
Команда: 6 человек

Скучно не будет :)
Requirements
Must have
· ASP.NET Core, ASP.NET MVC
· Angular 2+
· Entity Framework
· Unit testing
· Git
· Intermediate to high English skills

Good to have
· AngularJS 1.x
· Azure
· Scrum
· JIRA
· Bitbucket
· Isolation frameworks (Moq, FakeItEasy, NSubstitute, etc.)

Great to have
· Microservices
· MongoDB or Azure CosmosDB
· Azure Service Fabric


What we can give
— Interesting projects and tasks
— Professional growth all together with the company (your contribution will be appreciated)
— Competitive salary twice a month
— Modern standards and methodologies (SCRUM, etc.)
— Democratic and comfort atmosphere
— Work remotely or in the office in the centre of Saint-Petersburg.
О проекте
DescriptionI
It's a complex web application with micro services for well-known USA travel company.

Approximate duration of the project is 6+ months

Challenges
The challenge is to build a new platform using the cutting edge technologies

Technologies
Angular 5, ASP.NET Core, MongoDB, Microservices

Team
3 Developers
1 QA
1 Product Owner
1 SCRUM Master
+ Probably you :)

Communication
Daily Skype Meetings

Required English
Intermediate and higher


О нас
//да, нам 5 лет)
var companyAge = 5;

//нас 8 человек в команде
var amazingTeamSize = 8;

//мы делаем web-проекты для компаний из США
var whatWeDo = "Software Development Services for US companies";

//мы выплачиваем 100% зарплаты на бенче / в  idle
var idleSalary = "100%";

//Пилим на .NET'е )
var technologies = [".NET", "ASP.NET Core", "ASP.NET MVC","Angular", "Xamarin"]; 

var Ambaha = companyAge + amazingTeamSize + whatWeDo + idleSalary + technologies;
Процесс отбора
1
Отправьте CV нам или HR'у
.
2
Собеседование и тестовое задание
3
Interview с командой заказчика
4
Добро пожаловать в команду!
Следующие шаги
Свяжитесь с человеком, который дал вам ссылку на страницу или отправьте CV по адресу: r.skvortsov@ambaha.com
Тестовое задание
Технологии
- Back-end: ASP.NET Core, Entity Framework, MS SQL (или любая другая СУБД)
- Front-end: Angular 2+

Предисловие:
Структуру исходного приложения необязательно делать с нуля, можно скачать любой доступный шаблон и доработать его. Необходимые компоненты для UI можно брать готовые (например из Angular Material), но можно сделать и самому, если есть такое желание. HTML разметка и код не должны быть идеальными, тут главное соблюсти основные подходы к построению и разработке подобных приложений :)

Необходимо:
1. Создать базу данных при помощи Entity Framework. Структура базы и связей должна быть следующая - есть список туристов, есть список стран. У туриста должно быть имя. У страны - название и короткое описание. Каждый турист мог побывать в одной и той же стране несколько раз в разные даты (скажем, он мог быть в Германии три раза в этом году, и два раза в предыдущем). Даты посещений фиксируются. Базу можно заполнить любыми данными, сама база должна быть в локальном файле (развертывать где-то на сервере необязательно, но если решите делать так, то будет необходим бэкап базы и инструкция по установке).
2. На UI создать две странички - "Список стран" и "Отчет о посещаемости". Переход между страничками желательно сделать через меню с роутингом.
3. "Список стран" - отображает список стран.
4. "Отчет о посещаемости" - здесь должно быть поле выбора туриста по имени (можно просто заполнять одним списком), а также поле выбора года (с доступным списком годов). Пользователь выбирает туриста, выбирает год, нажимает кнопку "Получить данные", и ему отображается таблица, в которой перечислены страны, где побывал турист в заданный год и количество раз, сколько раз он там побывал. Например - Германия - 2, Финляндия - 1. Если турист не был в какой-либо стране, нулевые значения отображать не нужно.
5. Структуру серверной части, формат обмена данными и прочее вы проектируете самостоятельно в соответствии с собственными предпочтениями.

ВАЖНО:
1. Помните, что проект должен без проблем запускаться на чужой машине. Поэтому уделите особое внимание запуску "с чистого листа". Если необходимо, приложите инструкцию по запуску и сборке.
2. Всегда можно задавать вопросы, если что-то непонятно. Лучше потратить две минуты на лишний вопрос, чем потратить час на лишний труд :)

КАК БУДЕТ ОЦЕНИВАТЬСЯ ЗАДАНИЕ:
1. Приложение собирается и запускается без проблем (без инструкции, или с инструкцией).
2. Приложение выполняет все заданные функции (меню работает, странички выдают необходимую информацию, ничего нигде не зависает и не падает с ошибками).
3. Код в приложении более-менее читаемый, структура понятная, копи-паста отсутствует, или же ее мало.

Результат можно прислать либо архивом, либо выложить на GitHub и прислать ссылку.

Удачи! :)