Фриланс
Web developer/.NET developer
Задача №1 - Разработка интернет-магазина на WordPress.
Роль: Web developer
Функционал: Базовый, который предоставляет WordPress и плагин WooCommerce.
Решение: Ничего особенно сложного, сначала подобрал тему, потом немного дописал функционал с помощью php, подправил интерфейс, используя CSS и JS.
Возникшие сложности: При реализации авто-обновления корзины было необходимо изучить и разобраться в jQuery и AJAX, ушло пара дней, и задача была решена.
Затраченное время на задачу: 2 недели на реализацию и еще неделя на правки.
Задача №2 - Разработка ПО для получения заказов с интернет-магазина на WordPress.
Роль: .NET Desktop developer;
Функционал: Вывод списка заказов, вывод содержимого определенного заказа, изменение статуса заказа, звуковое уведомление о поступлении нового, выбор мелодии уведомления.
Решение: Т.к. программа должна была запускаться на слабом пк, я решил использовать .NET Framework WinForms. После, изучил варианты, которые предоставляет WordPress для получения данных. Тогда я познакомился с REST API. Научился получить и читать json, используя C#, асинхронные операции (async, await) и библиотеку WordPressPCL. Для воспроизведения уведомлений использовал библиотеку WMPLib, могу ошибаться, исходников проекта не осталось.
Возникшие сложности:
1. Я не знал, как получать только что поступивший заказ, и поэтому решил отправлять запрос на сервер каждые N секунд, и проверять полученный результат на наличие нового заказа (Плохое решение).
Сейчас я понимаю, что надо было создать событие на стороне сервера, а на клиенте слушатель.
2. При запросе к серверу интерфейс программы вис до получения ответа – тут я понял для чего асинхронное функции, и решил использовать конструкцию async await.
Затраченное время на задачу: неделя на реализацию и еще неделя на фикс багов.
Подзадача: Из любопытства попробовал перенести функционал на Android используя Xamarin. Были реализованы вывод списка заказов и вывод подробностей заказа. Этот эксперимент был для себя и после получения успешного результата, удалил приложение и исходники.
Итог: Реализация проекта заняла месяц и одну неделю. Это были первые сайт и ПО решающие бизнес-проблемы. Научился работать с REST API, познакомился с php, AJAX, jQuery и js, улучшил навыки верстки и WinForms.