Это моя первая статья на Хабре, и в этой статье, я хотел бы рассказать вам о такой технологии как Spica Engine. Что это такое и с чем его едят ?

Предыстория

Группа разработчиков занимающие аутсорс проектами обратила внимание, что практически все проекты разрабатываемые ими имеют схожую структуру. Тогда им в голову пришла идея, создать технологию с открытым исходным кодом, которая облегчит процесс создание проектов для себя и для других разработчиков в целом. Так в 2019 году и началась история Spica.

Что это такое?

Spica - это технология для создания бэкенда проекта и взаимодействия с ним на основе REST API с открытым исходным кодом. Благодаря этому, как начинающий так и опытный  разработчик может сэкономить свое время и ресурсы.

Spica предоставляет пользователю такие модули как:

  • Моделирование данных

  • База данных реального времени

  • Облачные функции

  • Управление идентификацией и доступом

  • Хранилище (CDN)

  • Панель индикаторов

Стек технологий

Spica состоит из клиентской и серверное частей. Клиентская сторона основана на фреймворке Angular. Серверная же часть, на одном из фреймворков NodeJs, NestJs. Также используется документно-ориентированная база данных NoSQL, MongoDb. И все это упаковано в контейнер Docker.

Также у Spica есть свои библиотеки о которых поговорим в следующих статьях.


Немного о модулях

Моделирование данных

Вы можете легко моделировать данные используя панель Spica. Для примера я создал сущность под названием Article и добавил к нему несколько полей (title, description, create_at, thumbnail). Как вы заметили, возможно добавлять типы данных для полей. Также, есть возможность добавлять правила доступа для сущностей и каждого поля по отдельности в целях безопастности.

Облачные функции

Используя язык программирования Javascpipt мы можем писать облачные функции и при помощи REST API триггеров взаимодействовать с ними.

Контроль версий

Как же без всеми любимого Git. Используя эту фичу, мы можем контролировать процессы проектирования касающиеся наших сущностей и функции.

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


Перейдем наконец-то к установке

Я буду устанавливать Spica Engine на свою локальную машину.

Для этого в первую очередь нам потребуется установить платформы NodeJs и менеджер пакетов npm устанавливающийся вместе с ней, а также Docker. (Вы можете найти в открытом доступе как это сделать)

Для того чтобы развернуть проект на Spica и для дальнейшего взаимодействия с ним, нам потребуется установить Spica CLI. (На момент написания статьи актуальная версия 0.9.21)

$ npm install @spica/cli -g

После успешного установления всех необходимых технологий мы можем развернуть проект введя в терминал следующую команду

$ spica project start <instance name>

Если все пройдет успешно, то в терминале в должны увидеть следующую запись

Здесь нам сообщается о том, что проект был развернут и запущен на порту 50125. (По умолчанию проект запускается на порту 4500, так как на моем компьютере он занят, для этого проекта выделился другой порт)

Теперь, в браузере перейдя по указанному адресу http://localhost:50125, у вас откроется логин панель Spica. По умолчанию имя пользователя и пароль spica

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


Подробно вы можете изучить англоязычную документацию на официальном сайте Spica Engine.

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

Желаю всем хорошего дня.