Skip to content

develop-pix/dump-in-Admin-BE

Repository files navigation

Dump-in

Dump'in Admin Server

배포 버전 API 문서 링크


목차 📋


개요

덤핀 어플리케이션은 사용자 주변의 다양한 포토부스를 소개하고 프레임 및 진행 중인 이벤트 정보를 제공하는 플랫폼입니다. 사용자들은 덤핀 어플을 통해 지역 내 포토부스의 다양한 특징과 프레임을 확인할 수 있으며, 현재 진행 중인 이벤트에 참여할 수 있습니다.

덤핀 어드민은 어플리케이션의 관리 백오피스로서, 포토부스 정보의 업데이트, 이벤트 관리, 사용자 데이터 분석 등을 수행합니다. 어드민을 통해 쉽게 어플리케이션의 콘텐츠를 관리하고 최신 정보를 반영할 수 있습니다.

이를 통해 사용자들은 항상 다양하고 흥미로운 포토부스 경험을 즐길 수 있으며, 어플리케이션은 지속적인 업데이트와 새로운 이벤트를 통해 사용자들을 유지하고 확장할 수 있습니다.


사용 기술


NestJS TypeScript TypeORM PostgreSQL Swagger GitHubActions EC2 Route53


프로젝트 진행 및 이슈 관리

GitHub

Project-Calander Project-Kanban


ERD

modeling

아키텍처

app-architecture

구현 과정 및 설명

  • 세션 인증 및 인가

    • express-session을 이용해서 서버 메모리가 아닌 postgresql로 세션 스토어 사용
    • 쿠키 세션 적용
    • Guard로 인가 기능 적용
    • Rate Limiting으로 무작위 대입 방지
  • 대시보드 기능

    • 날짜별 가입자수, 리뷰수 보기 적용

    • TypeORM 쿼리빌더에서 groupBy를 이용

        countUsersByDate(): Promise<RawCountByDate[]> {
        return this.createQueryBuilder('user')
          .select(['DATE(created_at) as created', 'COUNT(id) as user'])
          .where('deleted_at IS NULL')
          .groupBy('created')
          .orderBy('created', 'DESC')
          .getRawMany();
      }
    • 통합 대시보드 보기

  • 포토부스 관리 기능

    • 포토부스 업체를 생성, 수정할 수 있는 기능 적용
    • 어플리케이션 내의 지도에 표시 지역별 포토부스 지점관리 기능 적용
  • 이벤트 관리 기능

    • 어플리케이션에서 포토부스 업체별 시행하고있는 이벤트나 한정 기간동안 프레임을 볼 수 있는 이벤트 생성 기능
    • 이벤트를 수정하면서 관련 이미지, 해시태그를 테이블로 정규화해서 관리
  • 리뷰 관리 기능

    • 유저가 작성한 리뷰를 확인하고 부적절한 내용은 삭제할 수 있게 조회 및 삭제기능 적용
  • 유저 관리 기능

    • 가입한 유저의 정보를 확인 (수정 불가)
  • 로그 모니터링

    • Sentry, Winston을 이용해 로그 레벨에 따라 알림
      • info 레벨: 이미 예외처리를 작성한 내용은 Winston으로 파일로 만들어서 관리
      • error 레벨: 내부 서버 에러나 예상치 못한 에러는 Sentry로 보내 이메일로 알림
    • Sentry의 Cron 모니터링과 NestJS 스케쥴링으로 주기적으로 서버 상태 모니터링

Did You Know

📌 API 요청 시도 횟수 제한하기

📌 트랜잭션 롤백 해결하기

📌 sh: 1: nest: not found 해결

📌 응답 객체 직렬화하기

📌 요청 객체 역직렬화하기

📌 서버 상태 모니터링하기

📌 외부 로거로 효율적으로 모니터링하기


API Endpoint

API-endpoint-notion


테스트 케이스

이벤트

test-event

포토부스

test-photobooth

리뷰

test-review

해시태그

test-hashtag

API Reference

https://admin.dump-in.co.kr/api/swagger

Swagger 이미지

1 2


About

포토부스 정보를 모아볼 수 있는 서비스 (어드민)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages