Простой сервер на 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 test
docker/.env
MYSQL_USERNAME=root
MYSQL_ROOT_PASSWORD=root
MYSQL_DATABASE=prisma
DATABASE_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