Этот проект представляет собой сервис для управления пользователями.
- Регистрация пользователя
- Авторизация пользователя (JWT)
- Получение пользователя по ID (для админа или самого пользователя)
- Получение списка пользователей (только для админа)
- Блокировка/разблокировка пользователя (для админа или самого пользователя)
- Node.js
- Express.js
- PostgreSQL
- Prisma ORM + zod-prisma-types
- Zod
- TypeScript
- bcryptjs
- jsonwebtoken
Следуйте этим шагам, чтобы поднять и запустить проект локально:
git clone https://github.com/GreenBabyBorn/express-users.git
cd express-usersnpm installСоздайте файл .env в корневой директории проекта и добавьте следующие переменные:
DATABASE_URL="postgresql://user:password@localhost:5432/express_users?schema=public"
JWT_SECRET="your_super_secret_jwt_key"
PORT=3000Замените user, password, localhost:5432 и express_users на данные вашей базы данных PostgreSQL.
JWT_SECRET должен быть длинной и сложной строкой.
Убедитесь, что ваш сервер PostgreSQL запущен и доступен по адресу, указанному в DATABASE_URL.
Затем сгенерируйте Prisma Client и выполните миграцию базы данных:
npx prisma generate
npx prisma migrate dev --name initnpm run devСервер будет доступен по адресу http://localhost:3000 (или на порту, указанном в .env).
Сначала скомпилируйте TypeScript код:
npm run buildЗатем запустите скомпилированный код:
node dist/index.jsВы можете использовать коллекции запросов для Hoppscotch или Postman, которые были предоставлены ранее, для тестирования эндпоинтов API.
При необходимости создайте пользователя-администратора вручную в базе данных (например с помощью npx prisma studio), чтобы протестировать эндпоинты, доступные только администраторам.