node-elm (bailicangdu/node-elm)
Searching Database…
Что это такое?
Это серверная часть API на Node.js, Express и MongoDB, которая повторяет официальный API Ele.me (饿了么), китайской платформы доставки еды, и охватывает как приложение для клиентов, так и систему управления для администраторов.
Это библиотека или полноценное серверное приложение?
Это готовый бэкенд-сервис, а не библиотека: сервер на Express и MongoDB, который предоставляет более 60 REST-эндпоинтов, разделённых между клиентским API и отдельным API для административного управления.
Как запустить сервер?
Восстановите предоставленный файл резервной копии MongoDB, установите зависимости через npm и запустите сервер скриптом dev (nodemon --harmony index.js); отдельный фронтенд-проект использует этот API.
Что нужно установить перед запуском?
Нужны Node.js и MongoDB; проект создан с использованием Node 6.10.0 и MongoDB 3.4.2, а для поддержки синтаксиса ES6/7 применяются Express, Mongoose и Babel.
Подходит ли это для работы в продакшене?
Нет: автор описывает проект как чисто личный, не предназначенный для коммерческого использования, а для доступа к живому превью и его API также нужен HTTPS.
Какие функции охватывает клиентский API?
Он покрывает весь путь заказа еды: вход и регистрацию, определение города по IP, поиск адресов, списки магазинов и блюд, поиск, фильтрацию и сортировку по расстоянию или рейтингу, отзывы, корзину, оформление заказа, заказы и купоны (так называемые «красные пакеты»).
Есть ли панель администратора?
Да, есть отдельный API для администрирования: управление магазинами и блюдами, управление заказами, проверка прав администратора, роль суперадминистратора и статистика трафика. Он рассчитан на работу с административным фронтендом на Vue + Element UI.
Какой стек технологий используется?
На бэкенде используются Node.js, Express, MongoDB и Mongoose; код написан на ES6/7 и транспилируется через Babel. Рядом работает отдельный фронтенд-проект на Vue + Element UI.
Можно ли получить тестовые данные, чтобы попробовать?
Да, в репозитории есть файл резервной копии базы MongoDB, который можно восстановить, чтобы заранее заполнить магазины, блюда и заказы для тестирования.
What are similar projects?
parse-server, directus, gin-vue-admin, sails, habitica, newbee-mall, eladmin, keystone-classic
Which topics is it in?
authorization, nosql, gpl, ecommerce, express, admin-dashboard, gplv2, mongodb, node, authentication, china, rest-api
