Skip to content

Belozertsev-av/authorization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Авторизация

Это Fullstack приложение, разработанное для реализации авторизации пользователей. Проект состоит из двух частей: backend и frontend. Backend реализован на TypeScript с использованием NestJS, Sequelize и PostgreSQL. Frontend разработан на Vue.js с TypeScript.

Функциональность

CRUD операции для пользователей:

  • Create: Создание нового пользователя.
  • Read: Получение списка всех пользователей или конкретного пользователя.
  • Update: Обновление данных пользователя.
  • Delete: Удаление пользователя.

Авторизация:

Реализована с использованием JWT (JSON Web Tokens).

Используются два типа токенов:

  • Access Token: Короткоживущий токен для доступа к защищенным ресурсам.
  • Refresh Token: Долгоживущий токен для обновления Access Token.

После успешной авторизации, токены сохраняются в браузере.

Заполнение базы данных:

Используются seeds для заполнения таблицы пользователей тестовыми данными через Sequelize.

Стек технологий

Backend

  • TypeScript
  • NestJS
  • Sequelize
  • PostgreSQL

Frontend

  • TypeScript
  • Vue.js
  • Vue-router
  • Pinia
  • i18n
  • Storybook

Установка и запуск

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

git clone https://github.com/Belozertsev-av/authorization

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

cd authorization

4. Запустите сервер разработки из корня проекта:

docker compose up --build

3. В отдельном терминале. Перейдите в проект backend и выполните скрипт для запуска сидов

cd auth-backend
npx sequelize-cli seeds:all

Будут созданы несколько пользователей. Можно использовать их для тестирования приложения

{
        login: 'admin',
        tabel: 12345,
        password: 'password123',
      },
      {
        login: 'user',
        tabel: 67890,
        password: 'password123',
      },
      {
        login: 'tester',
        tabel: 13579,
        password: 'password123',
      },
      {
        login: 'prostoVanya',
        tabel: 24680,
        password: 'password123',
      }

4.Откройте браузер и перейдите по адресу http://localhost:80.

Запуск Storybook

1. Перейдите в директорию с фронтендом:

cd auth-frontend

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

yarn install

3. Запустите storybook:

yarn storybook

Также есть возможность импортировать коллекцию для Bruno

1. Откройте Bruno, в верхнем меню выберите Collection -> Open collection и выбероите каталог auth-api-client

2. Готово. Вме переменные окружения и запросы должны импортироваться автоматически

About

Fullstack demo app made with Nest.js and Vue.js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors