Виноваты звезды: как мы разрабатывали сервис построения Астро-карт
Делимся историей разработки веб-сервиса «Астропроцессор Maya» — программы, которая по дате, времени и месту рождения строит индивидуальную астродизайн-карту.
Что такое астродизайн-карта или введение в Астродизайн
Есть понятия — Натальная карта и Бодиграф. Первая описывает человека с точки зрения астрологии, вторая — Дизайна человека. Если объединить в одной плоскости, они формируют астродизайн-карту и индивидуальный гороскоп человека. Вычислить его можно по дате, времени и месту рождения.
Наш Клиент — Школа Астродизайна в лице основателя, ее деятельность напрямую зависит от построения астро-карт. В интернете можно найти множество онлайн-сервисов, которые выполняют эту функцию, и Клиент пользовался сразу несколькими, сравнивал, но так и не нашел подходящий.
Все испробованные версии оказались ограничены по функционалу:
Натальная карта и Бодиграф составляются по отдельности,
нельзя строить карты для нескольких людей одновременно,
в личном кабинете можно сохранить ограниченное количество карт, что важно, если вы работаете с несколькими клиентами.
Задача
Разработать онлайн-сервис, который по дате, времени и месту рождения будет строить индивидуальную карту человека, включающую Натальную карту и Бодиграф. Карта строится на основе положения планет в указанные дату и время для указанного места.
Реализовать разные варианты доступа для пользователей: бесплатный — с ограниченным функционалом, и PRO — максимальные возможности сервиса доступны после оплаты.
Сделать кабинет администратора сервиса для добавления статей на сайт, создания промокодов на скидку и просмотра базы клиентов.
Есть одна проблема
Мы мало что понимали в Астродизайне. Из всей команды в теме разбирался только менеджер проекта.
На тот момент, когда мы начали проект «Астропроцессор Maya», я работала в IT Brick около месяца. Это был мой первый самостоятельный проект в качестве аналитика. И связь с астрологией меня не напугала, даже наоборот. На прошлой работе я как раз увлеклась построением Натальных карт, изучала расшифровку индивидуальных гороскопов, составила такие карты всем своим коллегам. А тут я могла заниматься своим увлечением не в свободное время, а прямо на работе! Плюс получила возможность разобраться, как устроены эти карты и глубже их понять.
Чулпан Галлямова, аналитик и менеджер проекта
Как выглядела вводная информация в наших глазах: по дате, времени и координатам рождения рассчитать положение планет, разместить их определенным образом на карте, найти связь между планетами, достроить карту и заполнить таблицы. В сутках 24 часа, дней в году 365, возможных координат планет бесчисленное множество. Количество комбинаций параметров стремится к бесконечности.
Это был вызов.
Решаем проблему и выполняем задачи
Главный функционал сервиса
Всей командой погрузились в космические дела, выявили логику и системность:
существует алгоритм вычисления результата, нужно только его настроить;
карты строят на круге, который олицетворяет купол неба. На нем располагают планеты так, как если смотреть на них в момент и с точки рождения человека.
Самым трудоемким процессом оказалось настроить алгоритм расчетов
Определить координату места рождения, часовой пояс и рассчитать время рождения человека по Гринвичу.
С помощью Швейцарских эфемерид (таблицы положения планет на каждый день XIX-XXIV века) получить расположение нужной планеты на полночь по Гринвичу для указанной даты.
Определить скорость движения планеты.
Вычислить путь, который прошла планета от полуночи до времени рождения человека (все по Гринвичу).
Прибавить последний результат к положению планеты на начало дня рождения и вуаля — получить нужную нам координату!
Разместить планеты на круге, рассчитать координаты недостающих и мнимых планет: например, у нас есть данные для Северного узла, но нет для Южного. Известно, что угол между ними 180°, этого достаточно, чтобы расположить Южный узел на карте.