Giter Club home page Giter Club logo

potenday's Introduction

image

개발기간

2024.01.26 ~

여름방학 기획 의도

Architecture

스크린샷 2024-02-18 오후 9 29 32

  • 백엔드 웹 어플리케이션 서버는 Node.js와 Nest.js로 설계
  • Nginx에 SSL인증을 도입하여 보안강화 및 리버스 프록시 설정을 통해 백엔드 서버에 직접적인 접근을 차단
  • github Action CI-CD를 통해 자동화 배포
  • 데이터베이스는 데이터의 무결성을 보장하기 위해 RDS의 MySQL과 TypeORM 사용
  • 이미지 데이터는 Multer 미들웨어를 통해 Multipart/form-data로 받아오고 NCP Cloud Stroge 버킷에 저장, 수정할 수 있도록 구현

ERD

스크린샷 2024-02-17 오후 2 05 46

주요기능

  1. 로그인 / 회원가입
  • 카카오 소셜 로그인
  1. 그림일기
  • PapagoTranslation API를 통한 영어번역
  • 번역된 문장을 Kalro AI에 그림 그리기 요청
  • 마음에 든 그림을 선택하여 저장/수정/삭제
  • 피드에는 최근에 작성된 일기를 볼 수 있음
  • 마음에 드는 다이어리에 '좋아요'와 읽고난 후 감정을 표현할 수 있음
  • 프로필 사진 변경
  • 일기 작성시 '나만 보기' 가능
  • 회원탈퇴

트러블 슈팅

문제점

  1. 메인 페이지는 서비스를 이용하는 모든 유저들이 방문하기 때문에 API 사용량이 매우 많다.
  2. DB에서 모든 게시글의 좋아요와 공감받은 감정의 갯수를 조회하고 정렬하는 로직을 매번 실행한다.
  3. 느린 로딩 속도로 유저가 느끼는 불편함을 개선하고 운영 측면에서도 서버 비용을 감축할 필요가 있다.

해결방안

  1. 해당 API service에서 중복된 코드를 찾아 수정하였다.

결과

스크린샷 2024-04-20 오후 6 10 26 스크린샷 2024-04-21 오후 5 45 52

Artillery quick test로 100명이 50번을 동시에 get 요청했을때의 테스트 결과 http.response_time.max값이 242에서 185로 약 23.5% 감소된것을 확인할 수 있었다.

기술 스택


TypeORM

potenday's People

Contributors

cjy00n avatar mj-song00 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.