Skip to main content

개요

User Service는 VPMS(Vendit Property Management System) 클러스터의 사용자 관리 서비스로, 인증, 사용자 관리, 게시글, 알림 및 외부 연동을 위한 주요 기능을 제공합니다.

주요 기능

인증 및 보안

  • SMS 인증 및 이메일 인증
  • OTP(일회용 비밀번호) 관리
  • 익명 로그인 및 서드파티 연동
  • 토큰 기반 인증 시스템

사용자 관리

  • 회원가입 및 로그인
  • 사용자 정보 관리
  • 직원 계정 관리
  • 사용자 연락처 관리
  • 사용자 활동 로그

게시글 및 알림

  • 공지사항 및 게시글 관리
  • 사용자 알림 시스템
  • 파일 첨부 기능

검색

  • Elasticsearch 기반 로그 저장

외부 연동

  • 서드파티 시스템 통합
  • PMS, CMS, 도어락, 주차 시스템 등 연동

API 도메인

기술 스택

  • API 타입: GraphQL (Apollo Federation)
  • 프레임워크: Fastify + TypeScript
  • 데이터베이스: PostgreSQL + Prisma ORM
  • 인증: JWT 기반
  • 검색: Elasticsearch

GraphQL Endpoint

POST https://development.vpms.io/graphql
GraphQL 공통 설정 및 인증 방법은 GraphQL 설정 가이드를 참고하세요.

시작하기

User Service API를 사용하려면 먼저 인증이 필요합니다.
1

회원가입

signUp을 호출하여 계정 생성
2

로그인

signIn으로 인증 토큰 획득
3

API 호출

발급받은 토큰으로 다른 API 엔드포인트 호출

예제 코드

import { ApolloClient, InMemoryCache, gql } from '@apollo/client';

const client = new ApolloClient({
  uri: 'https://development.vpms.io/graphql',
  cache: new InMemoryCache(),
  headers: {
    authorization: `Bearer ${YOUR_TOKEN}`,
  },
});

const SIGN_IN = gql`
  mutation SignIn($input: SignInInput!) {
    signIn(input: $input) {
      token {
        accessToken
        refreshToken
      }
    }
  }
`;

const { data } = await client.mutate({
  mutation: SIGN_IN,
  variables: {
    input: {
      identity: '[email protected]',
      password: 'password123'
    }
  },
});

관련 서비스

지원

문의사항이 있으시면 [email protected]로 연락주세요.