Необходимо на базе данного проекта реализовать АПИ, который предоставляет CRUD-интерфейс для работы с компаниями и связанными с ними контактами.
- В качестве БД нужно использовать PostgreSQL.
- Автоматические тесты
- Документация к API
- К проекту должна быть приложена инструкция по запуску, а также дамп БД, содержащий несколько записей о компаниях/контактах.
- Результат выполнения задания должен быть выложен в любой открытый репозиторий.
- Реализовать авторизацию по логин/паролю.
- Реализовать методы получения/сохранения данных компаний и контактов. Пример форматов данных есть в "заглушках" в коде проекта.
- Реализовать дополнительно методы получения списка компаний. Должна быть возможность отфильтровать по статусу и/или типу компании, отсортировать по имени и/или дате создания. Также метод получения списка должен предлагать параметры для реализации пагинации.
- Реализовать метод удаления контакта.
- Добавить компании новое свойство "адрес".
# копируем файл настроек
cp ./.env.dev ./.env
- создаем базу данных
test-app
Для инициализации пустой базы данных и заведения тестовых данных:
npm db:init
Для простой генерации тестовых данных:
npm db:seed
# устанавливаем зависимости
npm i
# Запускаем проект
npm dev
# Запускаем проект
npm start
сервер доступен по адресу: http://localhost:5000
# Запуск
docker-compose -f docker-compose.yml up -d --build
# Останов
docker-compose -f docker-compose.yml down
# Удаление остановленных контейнеров
docker system prune -a
Документация доступна в запущенном проекте по адресу: http://localhost:5000/doc
Доступен в ./test_data.sql