В прошлых статьях на JavaRush, посвященных “прокачке” скиллов и поиску работы для начинающих Java-программистов, мы уже говорили о важности работы над независимыми open source проектами для наработки практического опыта, возможности добавить эти проекты в свое резюме и хвастаться ими на собеседованиях. Качаем скиллы. Оpen source проекты на Github для начинающих джавистов - 1Как отмечают опытные разработчики, участие в открытых проектах — это один из лучших способов получить практический опыт в Java (или любом другом языке программирования). Коллективная работа над open source проектами дает новичкам возможность поучаствовать в создании реальных продуктов вместе с другими кодерами и прочими специалистами. А это, в свою очередь, существенно повышает шансы найти хорошую работу, особенно для джуниор-программистов, резюме которых еще не изобилует опытом реального трудоустройства. Поэтому сегодня мы подготовили подборку наиболее интересных и популярных open source Java-проектов на GitHub, к которым может присоединиться начинающий разработчик.

1. Elasticsearch

Elasticsearch — это распределенная поисковая система на основе REST архитектуры, разработанная для использования в облачных платформах. Качаем скиллы. Оpen source проекты на Github для начинающих джавистов - 2ElasticSearch базируется на Apache Lucene, бесплатной библиотеке программного обеспечения для поиска информации с открытым исходным кодом, и умеет обрабатывать полнотекстовые поисковые запросы, а также поддерживает лингвистический поиск по документам. Поисковик ElasticSearch ориентирован прежде всего на документы, которые представлены в виде JSON-объектов. Индексирование создает или обновляет документы, после чего их можно искать, сортировать и фильтровать. Сайт проекта: https://www.elastic.co/ Количество звезд на GitHub: 46,7 тыс.

2. Strongbox

Strongbox — это современный менеджер репозиториев артефактов с открытым исходным кодом, написанный на Java. “Мы стремимся предоставить простую и надежную платформу для размещения различных типов бинарных артефактов независимо от вида вашего хранилища,” — отмечают авторы проекта. Благодаря хорошо развитой архитектуре, Strongbox предоставляет собственные реализации для различных форматов пакетов, таких как Maven, NPM, NuGet и Raw. Все реализованные форматы пакетов написаны изначально на Java. Цель проекта — внедрить универсальный менеджер репозиториев, который может размещать и обслуживать артефакты в любом из основных форматов. Strongbox включает в себя поисковую систему и язык поисковых запросов для поиска артефактов. Сайт проекта: https://strongbox.github.io/ Количество звезд на GitHub: 260

3. TEAMMATES

TEAMMATES — это бесплатный онлайн-инструмент, который позволяет пользователям оставлять анонимные отзывы о своих коллегах или, в случае со студентами, преподавателях. В первую очередь TEAMMATES предназначен как раз для студентов и преподавателей. С помощью этого инструмента пользователи могут устраивать опросы (анонимные или нет), члены одной группы имеют возможность оценивать вклад друг друга в работу над проектами, преподаватели могут оставлять отзывы студентам и т.д. Инструментарий TEAMMATES обладает довольно обширным функционалом, включая личные профили пользователей и поисковик. Сайт проекта: https://teammatesv4.appspot.com/ Количество звезд на GitHub: 966

4. JabRef

JabRef — это графическая система управления библиографической информацией, написанная на Java, которая использует BibTeX (BibTeX — программное обеспечение для создания форматированных списков библиографии) в качестве основного внутреннего формата. Предоставляет графический пользовательский интерфейс для редактирования файлов BibTeX, импорта данных из научных баз данных, а также для поиска и управления BibTeX-файлами. JabRef позволяет исследователям, ученым и писателям создавать и повторно использовать библиографические ссылки. Созданные ссылки используются для создания библиографии, списка библиографических ссылок в научных статьях, монографиях, книгах и других работах. В JabRef реализован полнотекстовый поиск по всей библиографии, поддерживается группировка по любым полям BibTeX, ключевым словам, обеспечено автоматическое создание BibTeX-ключей и т.д. Сайт проекта: https://www.jabref.org/ Количество звезд на GitHub: 1,5 тыс. Качаем скиллы. Оpen source проекты на Github для начинающих джавистов - 3

5. Wikimedia Commons Android App

Данный проект посвящен созданию приложения Wikimedia Commons Android App, которое позволяет пользователям загружать в Wikimedia Commons изображения со своего смартфона или планшета на основе мобильной операционной системы Android. Wikimedia Commons — это онлайн-хранилище изображений, звуков, других медиа-файлов, а также JSON файлов, которые распространяются под свободной лицензией и могут использоваться всеми желающими без ограничений. Сайт проекта: https://commons.wikimedia.org/wiki/Commons:Mobile_app Количество звезд на GitHub: 546

6. XWiki

XWiki — это бесплатная программная вики-платформа, написанная на Java, с акцентом на расширяемость и возможностями структуризации информации и программного доступа к базе вики. По сути, XWiki — это Вики-движок, который позволяет создавать приложения на вики-страничках. Сами создатели проекта называют XWiki вики-платформой второго поколения. “Вики первого поколения предназначена для совместной работы над контентом. Вики второго поколения подходит для совместного создания веб-приложений, с использованием парадигмы вики и подхода к редактированию страниц. XWiki можно применять как вики второго, так и первого поколений,” — поясняют они. XWiki располагает достаточно богатым функционалом, включая системы управления страницами и правами доступа, экспорт страниц в PDF, статистику, блоги, горячие клавиши, RSS и многое другое. Сайт проекта: https://www.xwiki.org/

7. Zerocode

Zerocode — это разрабатываемый сообществом бесплатный и открытый фреймворк для автоматизации API и нагрузочного тестирования, созданный с использованием основных компонентов Java JUnit. Позволяет разработчикам максимально просто и быстро создавать и поддерживать тест-кейсы. “Zerocode позволяет создавать тест-кейсы для ваших функций и легко поддерживать их, избегая большинства типичных проблем. Тестирование становится легкой задачей благодаря простым форматам YAML/JSON и нативной поддержке популярных IDE, таких как Eclipse, IntelliJ и NetBeans, без необходимости установки дополнительных плагинов,” — говорят разработчики проекта. Сайт проекта: https://zerocode.io/ Количество звезд на GitHub: 304 Качаем скиллы. Оpen source проекты на Github для начинающих джавистов - 4

8. SirixDB

SirixDB — это временная NoSQL система управления базами данных, которая сохраняет полную историю каждой ревизии, хранящейся в ресурсах базы данных. Позволяет делать быстрое восстановление любых изменений, а также сравнения. Имеется функционал обработки запросов, который поддерживает комплексные запросы, относящиеся к разным временным периодам. Что такое временная система баз данных? Этот термин используется для описания системы, которая способна быстро восстанавливать прошлые состояния данных до внесения определенных изменений. “Поскольку большинство современных баз данных по-прежнему просто хранят текущие или прошлые данные в одной большой таблице, мы начали исследовать производительность таких систем с целью улучшить текущее состояние дел. С нуля мы создали систему с открытым исходным кодом под названием Sirix, которая хранит записи небольшого размера, а также поддерживает сложные временные запросы, эффективно конкурируя с невременными системами баз данных,” — объясняют разработчики из сообщества создателей SirixDB. Сайт проекта: https://sirix.io/ Количество звезд на GitHub: 498
Что почитать еще: