Общие организационные требования к работе над проектами
В рамках курса необходимо выполнить 2 небольших проекта:
Проект A: Распределенное приложение на MongoDB, ElasticSearch и Hazelcast на предложенном шаблона Spring Boot. Язык программирования - Java. Можно делать на аналогичном стеке на C# или другой платформе, при условии использования MongoDB, ElasticSearch и сохранении всех функциональных требований.
В рамках проекта, нужно разработать web-приложение на Spring Boot с необходимым функционалом, которое подключается к MongoDB, ES и поднимает внутри себя узел Hazelcast. Приложение будет разворачиваться в кластере из 4 узлов и работать через Load Balancer, согласно референсной архитектуре.
Проект B: Приложение на Ethereum (Blockchain). Разработка в частной сети с использованием реализации Ethereum Go (geth). Наиболее удобный язык программирования - JavaScript (NodeJS), но можно использовать любой другой, для которого есть клиентская библиотека к Ethereum API.
В рамках проекте необходимо разработать один или более смарт контрактов на языке Solidity под Ethereum, скрипты создания аккаунтов, экземпляра контракта, вызова методов контракте и генерации отчета. Скрипты могут быть на JavaScript (NodeJS) и работать в консольном режиме. Генерация отчета - в текстовом виде на консоль. Оформление функционала проекта в виде веб-страниц - по-желанию.
Общий план работы:
- Собрать мини-команду и выбрать один из предлагаемых проектов
- Совместно обсудить постановку задачи, задать вопросы преподавателю
- Совместно разработать модель предметной области в коде в виде классов
- Завести репозиторий в GitHub или BitBucket и закоммитить туда код модели
- Договориться о распределении задач между участниками, ввести задачи в трекер GitHub или BitBucket
- Раз в неделю, во время занятия, рассказывать преподавателю статус работы над проектом, возникшие проблемы и план на следующую неделю.
Работа над обоими проектами должна быть завершена в течение семестра/зачетной сессии и является основным оцениваемым результатом (засчитывается как экзамен).
Оценка складывается из полноты и общего качества выполнения проекта, а также личного вклада участника. Каждый участник должен знать весь исходный код, уметь запускать и демонстрировать работу системы самостоятельно, независимо от того, какую часть работ он выполнял.
Проекты A и B на выбор:
Отображение дочерних |
---|