템플릿 프로젝트

smart Seo (Seo smart)·2023년 12월 5일
0

템플릿 프로젝트

목록 보기
1/18

프로젝트를 하면서 항상 쫓기면서 하는게 일상이라 최소한 일을 최대한 효율적이게 할 수 있도록 최대한 템플릿화 시켜서 하는게 좋을거라 판단되고 지금까지 사용했던 기술도 쭉 정리할 수 있는 기회라고 생각되어 템플릿 프로젝트를 진행

project-template

  • 필요한 기술에 대한 템플릿을 정의해 놓은 레퍼지토리

개요

  • 프로젝트 시작시에 기본적으로 세팅 및 작업해 놓는 부분을 자동화 시키기 위한 템플릿
  • react, next, express, nest 에 대한 기본 세팅이 전체적으로 정의되어 있고 브런치로 나눠서 관리

프론트세팅 필요 사항

react

nocra + 웹팩 + swc + typescript + tailwindcss

빌드 및 이미지 정적 파일로 뽑아서 적용

nextjs

빌드 및 이미지 정적 파일로 뽑아서 적용

vercel 사용 다이렉트로 배포

위와 같이 세팅해 두고 기본적인 header, main, footer / login 폼까지만 구현해 놓은 틀 구성

컴포넌트에 대한 작업 프로세스

백엔드 세팅 필요 사항

express && nestjs

https://hudi.blog/layered-architecture/
https://velog.io/@kisuk623/Layered-Architecture-Pattern-%EB%AA%A8%EB%93%88%ED%99%94

layered 아키텍처 구조적인 설계

Layered Pattern은 백엔드 API에 가장 널리 적용되는 패턴 중 하나다.
논리적 부분, 역할에 따라 독립된 모듈이 층층히 쌓듯이 연결 되어 레이어를 쌓아놓은 것 같은 구조가 된다고 하여 레이어 패턴이라고 한다.

  • Presentation Layer

    시스템을 사용하는 사용자, 클라이언트 시스템과 연결되는 레이어다.
    백엔드 API의 엔드포인트에 해당하며, HTTP 요청을 읽는 로직을 구현한다. 그 이상의 역할, 로직은 다음 레이어로 전달 한다.

  • Business Layer

    시스템이 구현해야 하는 로직, 역할을 구현하는 레이어다.
    회원가입시 비밀번호에 조건을 거는등 운영에 필요한 로직이 들어 있는 레이어다.

  • Persistence Layer

    DB와 관련된 로직을 구현하는 레이어다.
    DB의 데이터 생성, 수정, 읽기를 처리하는 역할을 한다.

단방향 의존성, 관심사 분리

Layered Pattern의 핵심 요소는 단방향 의존성과 관심사 분리이다.
단방향 의존성은 레이어는 자기보다 하위에 있는 레이어에만 의존하고 있음을 의미한다.
관심사 분리는 레이어는 역할이 명확히 구분되어 있어 역할의 중첩이 없음을 의미한다.

https://velog.io/@kisuk623/Layered-Architecture-Pattern-%EB%AA%A8%EB%93%88%ED%99%94

각 디비별로 연결 하는 부분 다르게 모듈 연결 설정

TDD jest 코드 적용

로깅

장애대응

  • 장애가 발생할 수 있는 포인트
  • 애플리케이션 에러 발생 통계 / 모니터링을 구축
  1. 장애 탐지 (시스템 알람, 고객센터, QA팀, 사내제보)
  2. 장애 공지 (Slack, KakaoTalk 등 실시간 알람을 받을 수 있는 SNS 활용)
  3. 장애 전파 (사내 내부 조직, 팀원, 고객 등)
  4. 장애 복구
  5. 장애 후속 조치
  6. 장애 회고
  • 예상 병목지점에 대한 부하테스트 시나리오를 작성

ci/cd 로 깃허브 액션

react

nextjs(vercel, aws)

express

nestjs

기본적인 깃 세팅

profile
꾸준히 발전하는 풀스택 개발자!!

0개의 댓글