stg34 / azalo

MIT License
4 stars 3 forks source link

azalo opensource #1

Open stg34 opened 7 years ago

stg34 commented 7 years ago

Выложить в открытый доступ и начать приводить проект в чувство усилиями желающих

stg34 commented 7 years ago

На данный момент в репозитории есть две ветки. prod - текущая версия кода, который работает на серваке. master - попытка обновить рельсы до 3 версии (продуктовая ветка - Rails 2).

slanj commented 7 years ago

Предварительные планы по проекту

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

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

По предварительной оценке - в проект отлично встраивается метод функциональных точек для оценки программных продуктов http://citforum.ru/SE/project/arkhipenkov_lectures/12.shtml . Полезной также будет возможность оценки рисков по каждому элементу, их взаимодействию, а также по проекту в целом.

stg34 commented 7 years ago

По поводу выложенного кода и дальнейших действий.

Ветка prod - это рабочая версия с сервера. Единственное отличие, это то, что изначально Rails 2 не имели Gemfile и в выложенный код добавлен Gemfile с соотв. зависимостями. Не факт, что эти гемы на 100% совпадают с тем набором, что есть на сервере, поэтому могут быть тонкости.

Ветка master - это попытка перевести проект на Rails 3. На данный момент это не сделано полностью, и видимо, нет смысла и делать. Не удалось перевести потому что:

  1. Фронт использует prototype.js, который выпилен из Rails 3, впиливать его назад, как-то не хочется.
  2. Если проект развивать, то развитие видится в разделении backend и frontend на два отдельных проетка, работающих через API. Из этого вытекает что нужно полностью выкинуть фронт.
  3. Следующая проблема в ядре. Работа сервиса выявила ряд принципиальных проблем в ядре. Наворачивать новые функции поверх косого ядра - тоже не хочется.
  4. В проекте есть ряд гемов на которых держится очень многое и которые перестали развиватся или требуют замены на что-то более новое (хотя, наверное, с этими гемами можно и мириться).

В результате для развития проекта нужно выкинуть фронт, выкинуть ядро, повыкидывать ряд старых гемов (опционально). Если всё выкинуть останется не так уж и много от проекта. Остается всяческая периферийная функциональность (хотя её и много)

Для развития проекта я бы выбрал следующие первые шаги :

  1. Провести исследование на предмет устранения косяков ядра (это отдельная большая тема для обсуждения)
  2. Найти фронтендщика, который бы был готов поучаствовать
stg34 commented 7 years ago

По результатам беседы. Крупноузловая структура проекта

structure

ivanscm commented 6 years ago

Какая помощь требуется?

slanj commented 6 years ago

Думаю, не помешает попрактиковаться в установке на чистый Линукс и потом написании инструкции по этому делу.