-
Notifications
You must be signed in to change notification settings - Fork 209
News Feed
Выполнено 128 коммитов, 44 пуллреквеста.
31 декабря, в преддверие Встречи нового 2018 года, прошла тестовая игра CodeBattle. Для этого сделано следующее.
- В работу чата внесены изменения:
- добавлен список пользователей
- реализована/исправлена логика работы чата
- добавлены/исправлены тесты
- отображение автора сообщения
- Доработка страницы рейтинга игроков и отображения игр.
- Настроено логирование ошибок
- Добавлена возможность изменения синтаксиса языка в редакторе.
- Внесены изменения команд в makefile
- Добавлен конфиг для credo
- Добавлены/исправлены тесты livereload, hotswapping
- Добавлен вывод alert при проверке кода
Проведя анализ выявленных проблем и недоработок, а также новых идей для реализации в игре, Новогодние каникулы не остались без новой порции хорошего кода!
Январский код содержит следующие изменения.
- Показ имени игрока
- Добавлено окно вывода результатов проверки кода и показом задания в разных табах
- Добавлена возможность выбора языка
- Внесены изменения в работу редактора кода
- Удалена возможность копирования кода из окна редактора
- Возможность сдаться в игре и соответствующая кнопка в интерфейсе
- Добавлены всплывающие сообщения о результате проверки и выигрыше игрока
- Добавлены версии используемых языков
- Реализация на react
- Обновление при создании новой игры
- Добавлен статус игры
В целом изменения которые коснулись проекта.
- Обновлен webpack
- Использование Gon интерфейса
- Рефакторинг fsm, начало реализации функционала "бота"
- Внесены изменения в работу докера, докер композ, доработка работы докера для rybu, javascript
- Добавлен Vim в докер файл
- Появилась возможность добавления других языков в редактор кода
- Улучшена установка окружений с помощью Ansible
- Добавлена поддержка языков программирования: ruby, elixir,python
- Исправления в докер javascript
- Изменения окна чата, направления скролла сообщений
- Исправления в проверке кода
- Добавлен Эло расчет рейтинга
- Проверка кода js используя node9
- Добавлена страница ожидания игрока.
- Большой рефакторинг кода, необходимых тестов. как фронта так и бэкенда,
- Добавлен список в игр в модуль ETS
- Актуализированы версии используемых зависимостей в проекте
Дальнейшие планы и список существующих задач для разработки находится в issues.
Выполнено 57 коммитов, 18 пуллреквестов.
По прошествии 2 месяцев наиболее активными и результативными являлись две последние недели:
- реализован игровой процесс (находится в стадии альфа тестирования),
- настроена работа через sockets,
- отображение статуса игры,
- возможность игры с ботом.
- проверка решения с использованием docker
- проект переехал с хероку на vps, теперь игра доступна по адресу Codebattle.hexlet.io
- добавлена возможность выбора уровня сложности задачи, доступны 4 сложности: elementary, easy, medium, hard.
На этапе разработки и в дальнейших планах добавление нескольких языков программирования (elixir, ruby, python, php).
Выполнено 9 коммитов, 6 пуллреквестов.
Реализовано создание игрового канала и синхронизации клиентов. Поставлены задачи для 4 этапа.
Выполнена задача - реализация отображения состояния игры. К проекту, частично, подключен сервис мониторинга ошибок - rollbar.
Выполнено 5 коммитов, 3 пуллреквеста.
Реализовано:
- внесены изменения в тесты контроллеров
- обновлен gettext
- подключен i18next для javascript
Практикуя парное программирование, активно выполняется реализация создания игрового канала и синхронизации клиентов (используются платформы Hangouts, Appear).
Выполнено 3 коммита, 2 пуллреквеста.
Добавлены тесты контроллеров, исправлена проверка пользователей.
Выполнено 25 коммитов. Слито 9 пулл реквестов.
Реализовано:
- в проект добавлен redux
- исправление логики игры
- дополнены тесты игрового процесса
- выведен рейтинг пользователей
- установлен редактор Ace
Внесены мелкие поправки в код проекта. Закрыто 4 проблемы.
Для завершения 3 этапа остаются 3 задачи:
- настроить работу Sockets
- добавить тесты контроллеров.
- подключить и настроить работу редактора Ace
Запланирована часть задач следующего этапа:
- API для chrome extension (со страницы списка игр)
- реализация chrome extension
- переезд на AWS (или другой хостинг для опенсурс проекта)
За четвертую неделю 6 разработчиков выполнили 23 коммита, сделано 18 пулл реквестов.
Выполнены задачи 2 этапа.
Реализовано:
- отдельный чат для каждой игры,
- подключения спектаторов к игровому процессу,
- завершение игры.
Добавлен рейтинг пользователей, который можно увидеть по ссылке. Настроена проверка покрытием тестами.
Исправлено:
- сборка webpack,
- ошибки после обновления bootstrap.
Поставлены цели 3 этапа:
- Дополнить тесты игрового процесса,
- Настроить работу Sockets,
- Исправление логики игры,
- Добавить тесты контроллеров,
- Подключить редактор Ace.
Всего 4 разработчиками сделан 21 коммит, 11 пулл реквестов.
В проекте реализован процесс создания игры, и возможность присоединения второго игрока.
Также перенастроен webpack, обновлен Node.js.
Следующие задачи для реализации:
- Подключение спектаторов к игровому процессу,
- Реализация чата для каждой игры.
За прошедшую неделю 9 разработчиков выполнили 38 коммитов, реализовано 27 пулл реквестов, закрыто 8 задач.
Реализовано:
- оформлена главная страница
- реализована авторизация через github
- исправлен процесс локального развертывания проекта
- добавлен общий чат, который стал доступен после авторизации
- подключен Eslint
- оформлены демонстрационные видео процессов компиляции, запуска, тестирования проекта на локальной машине
- удалены css custom style
Добавлено 5 новых задач.
- добавить тесты контроллеров
- подключение спектаторов к игровому процессу
- реализовать чат для каждой игры
- создать страницу со списком игр
- дополнить процесс создания игры
Остается не выполненными часть задач включенных во второй этап реализации проекта “Code Battle”.
Во время реализации первого этапа разработки выполнена подготовка необходимой инфраструктуры рабочего окружения:
- подключен сервис Travis CI, необходимый для непрерывной интеграции кода
- используя Docker - compose настроена автоматизация среды разработки
- сборщик модулей Webpack 2 заменил brunch
- в качестве шаблонизатора настроен phoenix_slime
- используя ansible написан playbook для настройки окружения и управления конфигурациями
- в качестве инструмента проверки кода подключен linter credo
- начата разработка модуля авторизации через Github
- добавлена возможность интернационализации ( i18n)
- проект развернут на облачной платформе Heroku
- подключен bootstrap
- выполнен апгрейд фреймворка Phoenix до версии 1.3.0
- начата разработка игрового процесса
- выполнено обновление Elixir с версии 1.45 до 1.5
Для реализации 1 этапа за 7 дней 14-ю разработчиками выполнено 103 коммита, а мейнтейнерами принято 29 пуллреквестов, закрыто 13 проблем. Всего в команде разработчиков 27 человек
Следующей целью является написание упрощенного, но работоспособного прототипа игрового процесса. Можно выделить наиболее главные текущие задачи проекта:
- завершить реализацию автризации через гитхаб
- упростить развертывания проекта на локальной машине (Ubuntu, Mac)
- создать предыгровую страницу и страницу со списком игр
- реализовать роутинг между предыгровой страницей и игрой с созданием Pid'а
- создать общий чат, а затем уникальный чат для каждой игры
- создать возможность для спектаторов подключаться к игровому процессу
Разработчиками являются активные участники Slack сообщества образовательной платформы Hexlet.
Для реализации проекта в качестве основы взят стандартный проект на фреймворке Phoenix, который в свою очередь написан на функциональном языке Elixir. Для фронтэнда задействован ReactJs, для стилей - фреймворк Bootstrap, а для тестов используется язык программирования Clojure.
name: Основы JavaScript description: | JavaScript – один из самых популярных языков программирования в мире. Он используется для создания интерактивных веб-страниц и мобильных приложений, а также в серверной разработке.
Изучать JavaScript мы будем с нуля. Первый модуль — это фундамент, который поможет писать осмысленные программы. В нем мы разберем, как написать свой первый код на JavaScript. Мы расскажем, что такое комментарии и зачем они нужны. На примере проверки ваших решений вы увидите, что такое тестирование и как читать вывод тестов.