На днях познакомился с одним интересным проектом под названием strapi.io, который предлагает удобное и быстрое создания серверной части на Nodejs. На сайте указано, что можно сделать полноценный backend, но это похоже на преувеличение. Стоит отметить, что проект доступен как в бесплатной, так и платной версии. Платный функционал не блещет оригинальностью, поэтому на старте можно им пренебречь.
Что предлагает проект из коробки:
- Панель администратора
- Создание различных сущностей
- Поддержку множества разных баз данных
- Поддержку создания пользователей с различными ролями, бесплатная версия поддерживает всего 3 роли; супер-администратор, редактор и обычный пользователь.
- JWT авторизацию
- Поддерживает авторизацию через провайдеров, например, Google
- Управление контентом из панели
- Медиа библиотеку, хранилище файлов
- RESTful API
- GraphQL
- Хуки и middleware, например можно настроить CORS, Cron
Что он совсем не поддерживает, и это придется писать самому:
- Самое, на мой взгляд, критичное — не поддерживаются миграции баз данных. Если вы меняете структуру сущностей, например, удаляете поле, оно остается доступным в базе. Его придется оттуда удалять вручную.
- Нет поддержки почтовых рассылок, но этот функционал можно реализовать при помощи сторонних плагинов.
Что нужно, чтобы начать работать:
- Навыки программирования на JavaScript
- Понимание баз данных
- Представление об fullRest api
- Представление о серверах на Nodejs
Вывод:
Протестировав этот инструмент, я могу сказать — он не подходит для того, чтобы разворачивать на его базе большие проекты. Но он отлично подходит для быстрого прототипирования своего api и изготовления простейших блогов, не имеющих навороченного функционала. Strapi.io прекрасно подойдет для реализации сайта визитки bolshakov.vladimir.ru, который я сейчас делаю. Мало того, я решил, что недописанный сервер для angrybook.ru я выброшу и сделаю новый прототип на strapi.io. Так выйдет гораздо быстрее.