Skip to content

Vue/Express application for serve persons data in a database (MySQL), search people through the database records and add comments.

Notifications You must be signed in to change notification settings

buravlev-arthur/persons-database

Repository files navigation

example workflow Maintainability Test Coverage

База данных лиц

Демо: http://blacklist-rk.ru

Проект включает в себя API-сервер, фронтенд-часть и парсер данных из старой базы данных с генерацией новой нормализованной БД.

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

  • Бэкенд: Express (NodeJS), Typescript
  • Фронтенд: Vue 3, Typescript, Quasar Framework 2
  • Тестирование: Jest, Supertest
  • Качество кода: ESLint, Prettier, Husky

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

# Сервер
node dist/bin/server.js
# Запуск сервера в pm2
pm2 start --name Persons-DB ./dist/bin/server.js

# Парсер
node dist/bin/parser.js

Разработка (backend)

Установка проекта

make install

В корне проекта необходимо создать файл .env со следующим содержимым:

OLD_DB_HOST="<ip or domain>"
OLD_DB_USER="<user name>"
OLD_DB_PASSWORD="<password>"
OLD_DB_NAME="<database name>"
NEW_DB_HOST="<ip or domain>"
NEW_DB_USER="<user name>"
NEW_DB_PASSWORD="<password>"
NEW_DB_NAME="<database name>"
NEW_DB_PORT="<port>"
MAIL_USER="<sender email address>"
MAIL_PASSWORD="<mail service password>"
MAIL_TO="<reciever email address>"

Линтинг и форматирование кода

make lint
make prettier

Тестирование

# прогон тестов
make test
# тестовое покрытие кода
make test-coverage

Сборка

# js-файлы компилируются в директорию "/dist"
make build

Процесс разработки

# Консоль 1: Пересборка проекта при изменении .ts-файлов
make watch
# Консоль 2: Запуск скрипта проекта через nodemon
npm i --global nodemon # Если nodemon не установлен глобально в системе
nodemon dist/bin/server.js

Разработка (frontend)

# директория с кодом фронтенд-части приложения
cd frontend
# установка
npm install
# запуск dev-сервера
quasar dev
# сборка проекта (в директорию dist)
quasar build
# линтинг кода
npm run lint
# форматирование кода
npm run format

About

Vue/Express application for serve persons data in a database (MySQL), search people through the database records and add comments.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published