https://github.com/rustkas/profinansy_nestjs_test_task
Реализация тестового задания
https://github.com/rustkas/profinansy_nestjs_test_task
bcrypt jwt nestjs postgres redis typeorm
Last synced: about 2 months ago
JSON representation
Реализация тестового задания
- Host: GitHub
- URL: https://github.com/rustkas/profinansy_nestjs_test_task
- Owner: rustkas
- Created: 2023-11-18T06:14:49.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-18T06:43:00.000Z (over 2 years ago)
- Last Synced: 2023-11-18T07:28:35.003Z (over 2 years ago)
- Topics: bcrypt, jwt, nestjs, postgres, redis, typeorm
- Language: TypeScript
- Homepage: https://profinansy.net/
- Size: 117 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Реализация тестового задания
## Описание задания:
Сделать простую систему авторизации/регистрации/получение информации о пользователе на Node.js.
☝🏾Обязательно, чтобы фигурировал jwt токен из-за микросервисной архитектуры. Чтобы потом любые другие сервисы, зная публичный сертификат, могли валидировать токен, не обращаясь к базам.
База данных для хранения пользователей - postgresql. База данных хранения сессий - Redis.
☝🏾Обязательно использовать nest.js.
Для запуска веб-сервиса в командой строке необходимо ввести "yarn start".
## Описание резации:
Релизована простая систему авторизации/регистрации/получение информации о пользователе на Nest.js.
Хранение данных пользователей в Postgres (предварительно созданной базе данных).
Хранение данных ссей в Redis.
### Пути сервиса`SITE/users`:
- Post `SITE/users` - создание пользователя
- Get `SITE/users/:email` - получение данных о пользователе. Например, `http://localhost:3000/users/example@example.com`
- Put `SITE/users/:email` - внесение изменений в данные пользователя
- @Delete `SITE/users/:email`- удаление данных о пользователе
- Post `SITE/users/login`) - в пользователе в сервис
- Post `SITE/users/logout` - завершение сессии пользователя.
Реализовано хэширование паролей (bcrypt).
Создана стратегия, которая использует passport-jwt для извлечения и валидации JWT-токенов.
Реализована защита маршрутов с помощью Guard.
[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
[circleci-url]: https://circleci.com/gh/nestjs/nest
A progressive Node.js framework for building efficient and scalable server-side applications.
## Description
[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.
## Installation
```bash
$ yarn install
```
## Running the app
```bash
# development
$ yarn run start
# watch mode
$ yarn run start:dev
# production mode
$ yarn run start:prod
```
## Test
```bash
# unit tests
$ yarn run test
# e2e tests
$ yarn run test:e2e
# test coverage
$ yarn run test:cov
```
## Support
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).
## Stay in touch
- Author - [Kamil Myśliwiec](https://kamilmysliwiec.com)
- Website - [https://nestjs.com](https://nestjs.com/)
- Twitter - [@nestframework](https://twitter.com/nestframework)
## License
Nest is [MIT licensed](LICENSE).