Простой сервер на Express с тестами на Jest 👋
Для примера реализован тестовый маршрут по адресу localhost/api/v1/test/item с уже готовой тестовой средой.
Документация находиться по маршруту localhost/docs.
Файл /docs/test-api.paw необходим для удобства разработки через приложение 🦊 Paw
MODE=dev
PORT=3000
DATABASE_URL="mysql://root:root@localhost:3306/prisma"
При dev моде - логирование ведётся в консоль, для prod в файл /logs/test.log по умолчанию.
Модуль логирования находится в /logs/logger.js, в нем можно настроить вывод за основу взят morgan
Создание базы данных
$ npx prisma migrate dev --name initЗаполнение тестовыми данными (необязательно)
$ npx prisma db seedСоздание документации
$ npm run docs$ npm run devПри запуске тестов автоматически задается MODE=test
$ npm run test-dev
$ npm run testdocker/.env
MYSQL_USERNAME=root
MYSQL_ROOT_PASSWORD=root
MYSQL_DATABASE=prismaDATABASE_URL="mysql://root:root@database:3306/prisma"Основные команды 🔫
// Создает и запускает контейнер
$ docker-compose up --detach
// Выполнить команду из контейнера
$ docker exec -it <app_container_id> npx prisma db seed
// Запустить/остановить контейнер
$ docker-compose start/stop
// Остановить контейнер и удалить образы
$ docker-compose down --rmi all/local -vМиграция из prisma/schema.prisma в базу данных
$ npx prisma migrate dev --name initПроанализировать свою базу данных и записать схему в prisma/schema.prisma
$ npx prisma db pull
// Обновить клиент для отправки запросов
$ npx prisma generateВизуальный редактор данных в вашей базе данных
$ npx prisma studioЗаполнить базу данных образцом данных prisma/seed.js
$ npx prisma db seed$ npm run docs- 💅 Преобразить
/public/index.html - 💪 Добавить
express-cluster+ pm2 - 🗃 Добавить работу с бд через
prisma - 🐳 Добавить
docker - ✋ Добавить
express-rate-limitиexpress-slow-down - 🕯 Добавить
express-redis-cache - 👅 Добавить локализацию
i18n - 📦 Модульные тесты
- 🧑💻 Интеграционные тесты
- ✍️ Добавить eslint
- 💂 TypeScript

