Skip to content

space-symbol/prisma-express-ts-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект Prisma Express TypeScript Api

Этот проект - шаблон для создания веб-приложений на TypeScript с использованием фреймворка Express.js и ORM Prisma для работы с базой данных.

Описание проекта

Проект уже содержит настройки для аутентификации через JWT токены (для доступа и обновления).

Настройка проекта

Требования

Для работы с проектом вам понадобится:

  • Node.js (минимальная версия 20.11.1)
  • Доступ к интернету для установки зависимостей

Шаги по настройкеv

  1. Установите Node.js:

    Если у вас еще нет Node.js или ваша версия устарела, скачайте и установите актуальную версию с официального сайта Node.js.

  2. Клонируйте репозиторий:

    Откройте терминал (командную строку) и выполните следующую команду:

   git clone https://github.com/space-symbol/prisma-express-ts-api.git

Перейдите в директорию проекта:

1. Перейдите в каталог проекта, который вы только что склонировали:

cd prisma-express-ts

2. Установите зависимости:

Выполните следующую команду для установки всех необходимых зависимостей проекта:

npm install

3. Создайте необходимые директории:

Перед запуском проекта убедитесь, что у вас есть следующие директории: public/images. Если нет, то создайте с помощью следующей команды:

mkdir public public/images

4. Настройте переменные окружения:

Создайте файл с именем .env в корневой директории проекта. Откройте этот файл в текстовом редакторе и добавьте следующие строки:

PORT=3000  
DATABASE_URL=mysql://пользователь:пароль@localhost:3306/название_базы_данных
JWT_ACCESS_SECRET=ваш_секретный-ключ_для_acess_токенов
JWT_REFRESH_SECRET=ваш_секретный-ключ_для_refresh_токенов
CLIENT_URL=http://localhost:3000
STATIC_DIRNAME=public
IMAGES_DIRNAME=images
  • PORT - порт, на котором будет запущен сервер (например, 3000)
  • DATABASE_URL - URL для подключения к базе данных
  • JWT_ACCESS_SECRET - секретный ключ для создания и верификации JWT access-токенов
  • JWT_REFRESH_SECRET - секретный ключ для создания и верификации JWT refresh-токенов
  • CLIENT_URL - URL клиентского приложения (если используется)
  • STATIC_DIRNAME - путь к статическим файлам (если используется)
  • IMAGES_DIRNAME - путь к папке с изображениями (если используется)

Замените ваш_секретный_ключ_для_access_токенов и ваш_секретный_ключ_для_refresh_токенов на собственные секретные для генерации токенов JWT. Ими могут быть произвольные строки

Подробнее о настройке Prisma

Создание таблиц и заполнение их данными

Для генерации схем базы данных пропишите следующую команду:

   npx prisma db push

или

   npx prisma migrate dev --name init

Далее её можно заполнить тестовыми значениями с помощью следующей команды:

   npx prisma db seed

5. Запуск сервера

После настройки всех переменных окружения можно убедитесь, что база данных запущена и доступна. Далее запустите проект с помощью следующей команды:

npm start

После успешного запуска, сервер будет доступен по адресу http://localhost:(PORT)/api, где PORT - указанный порт в переменной окружения PORT.

Проверка API

API можно протестировать с помощью Postman или curl, обращаясь к URL http://localhost:3000/api и используя указанные endpoints.

Пример использования curl для получения списка продуктов:

curl http://localhost:3000/api/product

Пример использования curl для получения списка тегов:

curl http://localhost:3000/api/tag

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published