1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hlshare-express_mongoDB

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Node.js бэкенд-система управления

Введение

Это бэкенд-часть системы управления, основанная на Express и MongoDB. Фронтенд-часть (Vue бэкенд-система) доступна по ссылке: https://gitee.com/hlshare/express_mongodb_web.

Замечания

  1. Поскольку это открытый исходный код, пароли пользователей не зашифрованы. Пользователи могут самостоятельно зашифровать пароли при добавлении новых пользователей.

  2. В этом проекте операция удаления является реальным удалением, в то время как в обычных бизнес-сценариях удаление обычно является логическим удалением, то есть изменением состояния данных в базе данных, а не реальным удалением. При запросе данные фильтруются по состоянию без удаления.

  3. Существует два способа загрузки изображений: облачное хранилище Qiniu и традиционный файловый сервер. При использовании традиционного файлового сервера база данных хранит путь к файлу без указания домена (IP-адреса). При использовании изображения необходимо добавить префикс сервиса, например:

    const imgPrefix = 'http://localhost:6166/'
    const imgUrl = imgPrefix + '/static/img/tudousi.jpg'
    // Окончательный результат: 'http://localhost:6166/static/img/tudousi.jpg'

Архитектура программного обеспечения

  1. Это система управления бэкендом, основанная на Express и MongoDB, которая включает следующие функции:

    • проверка электронной почты;
    • регистрация;
    • вход в систему;
    • JWT-аутентификация;
    • управление пользователями;
    • список разрешений;
    • список ролей;
    • добавление, изменение, удаление и поиск товаров;
    • управление интернационализацией (добавление, изменение и удаление, пакетное добавление, импорт и экспорт Excel, экспорт файлов JavaScript);
    • загрузка изображений двумя способами (облачное хранилище Qiniu, файловый сервер).
  2. API-документы генерируются с помощью apidoc. Пример генерации документов: http://hlshare.gitee.io/express_mongodb.

  3. ORM базы данных использует Mongoose.

  4. Используемые зависимости:

    "archiver": "^5.0.0",
    "cors": "^2.8.5",
    "express": "^4.17.1",
    "jsonwebtoken": "^8.5.1",
    "mongoose": "^5.9.25",
    "multer": "^1.4.2",
    "nodemailer": "^6.4.10",
    "qiniu": "^7.3.2",
    "xlsx": "^0.16.6"
  5. Структура каталогов:

    .
    ├── apidoc                   # Команда для создания документов API
    ├── db                       # Файлы, связанные с базой данных
          ├── model              # Определение структуры таблицы
          └── connect.js         # Подключение к базе данных
    ├── output                   # Временное хранение экспортированных многоязычных файлов JS (для загрузки на фронтэнд)
    ├── router                   # Интерфейсные маршруты (для выполнения операций CRUD с базой данных)
    ├── sql                      # Файлы SQL, используемые в этом проекте (импорт в базу данных MongoDB)
          └── mongoDB команды.txt
    ├── static                   # Статические ресурсы (доступны извне)
          ├── excel              # Временное хранилище экспортированных файлов Excel (для загрузки на фронтэнд)
          ├── img                # Ресурсы изображений
          └── rar                # Временное хранилище экспортированных сжатых файлов RAR (для загрузки на фронтэнд)
    ├── utils                    # Общие методы или переменные JS
          ├── counter.js         # Автоматическое увеличение идентификатора для таблиц базы данных
          ├── exportXlsx.js      # Методы экспорта Excel
          ├── mail.js            # Отправка проверочных кодов по электронной почте
          ├── qiniu.js           # Метод загрузки в облако Qiniu
          ├── rar.js             # Сжатие RAR
          └── token.js           # Генерация и проверка токенов
    ├── Многоязычные файлы.xlxs # Используется для тестирования массового импорта многоязычных шаблонов
    ├── apidoc.json              # Файл конфигурации apidoc
    ├── package.json
    └── serve.js                 # Файл входа в проект

Инструкция по установке

# Просмотр источника
npm config get registry
# Смена источника
npm config set registry https://registry.npmjs.org
# Источник Taobao
npm config set registry https://registry.npm.taobao.org

npm install

Использование

  1. Запустите MongoDB.

  2. Импортируйте файлы SQL в папке json в базу данных expressdbs MongoDB.

  3. Запустите npm run dev, порт по умолчанию — 6166.

  4. Выполните npm run doc для генерации документов API, которые будут сохранены в папке apidoc (если вы хотите использовать apidoc, вам необходимо установить его глобально с помощью npm install apidoc -g).

  5. Рекомендуется использовать pm2 для развёртывания на сервере. Например, выполните следующую команду:

    D:\Projects\node\gitee\express_mongoDB>pm2 start serve.js --name express_mongoDB

    Для управления процессом можно использовать следующие команды pm2:

    • pm2 list — показать состояние всех процессов.

    • pm2 start serve.js --name my-api — запустить процесс с именем my-api.

    • pm2 stop 0 — остановить указанный процесс (0 — это идентификатор процесса).

    • pm2 stop my-api — остановить процесс с указанным именем.

    • pm2 restart 0 — перезапустить указанный процесс.

    • pm2 restart all — перезагрузить все процессы.

    • pm2 stop all — остановить все процессы.

    • pm2 reload all — перезагрузить процессы (используется для сетевых процессов).

    • pm2 logs — отобразить журналы всех процессов.

    • pm2 monit — отслеживать все процессы.

    • pm2 startup — создать скрипт инициализации для поддержания работы процессов.

    • pm2 delete 0 — завершить указанный процесс.

    • pm2 delete all — завершить все процессы.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Набор систем для управления бэкендом, использующий express и MongoDB. Реализованы функции: * проверка электронной почты; * регистрация; * вход в систему; * JWT-проверка; * управление пользователями; * список прав доступа; * список ролей; * создание, изменение и удаление товаров; * интернационализация (создание, изменение, удаление, паке... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/hlshare-express_mongoDB.git
git@api.gitlife.ru:oschina-mirror/hlshare-express_mongoDB.git
oschina-mirror
hlshare-express_mongoDB
hlshare-express_mongoDB
master