Статьи

Создайте свою собственную социальную сеть, игровой сервер или базу знаний! — Sourcehunt

Пришло время для нашей ежемесячной охоты на новые библиотеки с открытым исходным кодом, чтобы использовать и вносить свой вклад !

Если вы новичок в Sourcehunt, это наш ежемесячный пост, посвященный продвижению проектов с открытым исходным кодом, которые кажутся интересными или многообещающими и могут использовать помощь с точки зрения звезд Github или запросов запросов.

Это наш способ дать отпор — продвигать проекты, которые мы используем (или могли бы использовать), чтобы они получили достаточно информации, чтобы привлечь более широкую аудиторию, мощное сообщество и, возможно, новых спонсоров или спонсоров.

Sourcehunt логотип


Lulco / Phoenix [16 ★]

Phoenix, альтернатива очень популярному Phinx , — это способ настроить простую и автоматическую миграцию базы данных для любого приложения. Вы можете быть удивлены «почему»? А почему бы не? Изобретать колесо не обязательно плохо, если новое колесо прочнее, прочнее и легче того, которое мы использовали раньше.

Phoenix проще в использовании, имеет более простой API и поддерживает модули, как объяснил автор:

Мы создаем одно приложение для нескольких клиентов, поэтому нам нужны модули. У каждого клиента установлены разные модули. С Phinx (в более старой версии) нам пришлось запускать все миграции, которые, например, также создают ненужные таблицы. В Phoenix каждый модуль имеет свою собственную папку миграции, которая регистрируется в конфигурации миграции, только если модуль установлен.


зеешану / опус [502 ★]

Opus — это приложение с открытым исходным кодом для команд. Ваша команда теперь также может иметь внутреннюю коллекцию руководств, описаний, правил и документов о том, как и почему вы делаете то, что делаете, облегчая прием новых членов команды или решение уже решенных проблем.

Идеально подходит для практики кодирования, решения общих проблем клиентов, руководств, вики-записей для установки конкретного программного обеспечения и многого другого. Он немного неуклюже разработан без учета лучших практик (без тестов, контроллеры делают все, опечатки в именах методов), но, как гласит старая поговорка: тот, кто отправляет, побеждает. Кроме того, эти ошибки — прекрасная возможность внести свой вклад в проект!


разум / двигатель [50 ★]

Если Mastodon — это «чистый Твиттер», Minds — это противоположность. Это Google-Плюс выглядящей социальная сеть упор на свободу слова и позволяет любому сказать что — либо (в разумных пределах — не детского порно и т.д.) является полностью открытым исходным кодом и ( возможно , ошибочно так ) имеет шифрование и полную конфиденциальность для всех пользователей.

Проверьте репо, если вы хотите узнать, как на самом деле выглядит серверная часть социальной сети с высоким трафиком. Они могут определенно использовать помощь в отделе качества кода, так что, если вам не терпится внести свой вклад в следующую важную вещь, это может быть только то, что связано с миграцией Twitter / Youtube в более открытые сети из-за цензуры.


MazeChaZer / без звука [3 ★]

Soundless — наше первое в истории репозиторий Gitlab с исходным кодом, функциональный движок шаблонов для PHP. Это совершенно другой способ написания ваших шаблонов, который, хотя и может быть бесконечно более запутанным для разработчиков и разработчиков из вашей команды, имеет свое применение. Как говорит сам репо:

Беззвучный дает вам

  • Автоматический выход
  • Простое форматирование исходного кода, без проблем с синтаксисом HTML / пробелами
  • Полная и безопасная интеграция с другими частями вашего приложения
  • Все функции PHP для композиции, абстракции, безопасности типов …

Возможные недостатки

  • Синтаксис немного неуклюжий
  • Инструменты, связанные с HTML (т.е. автозаполнение / проверка вашей IDE) не будут работать
  • Производительность должна быть в порядке, но это не было проверено

Лично для меня это слишком запутанно — я никогда не пишу сложные шаблоны на бэкэнде, поскольку все мои представления теперь VueJS, если это необходимо. Но я вижу людей, использующих их в очень сложных приложениях, которые еще не являются одностраничными, и могу представить, что они особенно мощны в контексте, таком как социальная сеть, которая на самом деле работает без JavaScript (это было бы незначительным чудом сегодня).


Птеродактиль / Панель [169 ★]

В некоторой степени нишевая панель Pterodactyl представляет собой автономную панель управления с открытым исходным кодом для пользователей, сетей и поставщиков игр. Он позволяет вам управлять играми и серверами, такими как Minecraft, Counterstrike, TF, Teamspeak, Mumble и другими. Если вы когда-нибудь хотели разместить свой собственный сервер для любого из них, эта панель просто необходима.

Панель, которая использует Docker для управления серверами и сохраняет масштабируемость, показывает использование ЦП / ОЗУ каждого сервера, их текущее заполнение, позволяет использовать различные темы и даже предоставляет API для простого доступа API ко всем управляемым серверам.

Сообщество сильное и здоровое, с официальными дискуссионными каналами на Discord и форумах, подробными инструкциями по установке и т. Д., Но оно все еще может использовать больше тестеров и игроков для получения обратной связи. Кроме того, есть немало вопросов, которые необходимо решить .


povils / phpmnd [31 ★]

Пакет, который обнаруживает жестко запрограммированные числа в классах и методах, которых, вероятно, не должно быть. Например:

if (mb_strlen($password) > 7) { throw new InvalidArgumentException("password"); } 

Цифра 7 — это магическое число, и его не должно быть — длина пароля не должна определяться произвольно в середине класса, а скорее через конфигурацию или константы. Как проект определяет это:

[a] магическое число — это числовой литерал, который не определен как константа, которая может измениться на более позднем этапе, но поэтому может быть трудно обновить. Это плохая практика программирования — использовать числа прямо в исходном коде без объяснения причин. В большинстве случаев это затрудняет чтение, понимание и поддержку программ.

Это похоже на отличное дополнение к любому набору для тестирования. Есть несколько PR и проблем для дополнительной функциональности, поэтому, пожалуйста, погрузитесь и помогите улучшить этот хорошо разработанный и уже достаточно стабильный инструмент качества кода.


Вот и все за апрель. Нашли что-нибудь, во что вы могли бы погрузить зубы?

Как всегда, пожалуйста, напишите нам свои ссылки с хэштегом #sourcehunt ! Если вы создаете что-то с помощью проектов, о которых мы упоминали, или если вы отправляете сложный запрос на извлечение, о котором хотите поговорить, напишите нам, и мы позаботимся о том, чтобы об этом знал весь мир!

Как и в прошлый раз (кстати, этот вызов остается невостребованным — у вас есть 500 долларов, если вы это сделаете!), Мы используем вышеуказанные пакеты для вдохновения при создании потенциально полезного приложения или двух:

Приложение + Учебное пособие идеи месяца:

  • реализовать поддержку пользовательского игрового сервера в Pterodactyl
  • разместить свой собственный клон социальной сети Minds
  • исправить Opus, запустив его через некоторые основные инструменты качества кода, и помочь выявить наиболее серьезные автоматически обнаруженные проблемы

Свяжитесь, чтобы узнать, сколько это стоит для нас!

Удачного кодирования!