Search
Write a publication
Pull to refresh

Что такое Spica Engine? Альтернатива Firebase!?

Это моя первая статья на Хабре, и в этой статье, я хотел бы рассказать вам о такой технологии как 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.

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

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

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.