Giter Site home page Giter Site logo

chu-chu's Introduction

chu-chu

이건 어때요? 저건 어때요? 세상 모든 것에 대한 추천을 하는 커뮤니티

프로젝트 목표

  • 커뮤니티 서비스의 기능들을 구현함으로써 Back-End 구조를 학습
  • 대규모 트래픽에도 안정적인 서비스 운영
  • 나쁜 코드에 대해 지속적으로 리팩토링
  • Github, Slack을 통한 활발한 소통을 바탕으로 효율적인 협업을 추구

프로젝트 서버 구조도

프로젝트 중점사항

  • 인증/인가를 위한 JWT
  • Redis Cache를 이용한 조회 성능 개선
  • Jenkins를 이용한 CI/CD 자동화
  • Mysql에서 인덱스 설정 쿼리 튜닝
  • 네이버에서 개발한 오픈소스 플랫폼인 nGrinder를 이용해 성능테스트를 진행

프로젝트 정보

프로젝트 환경

  • Java 17
  • Gradle 7.4
  • Springboot 2.7.4
  • Jenkins
  • Mysql 5.6
  • Redis
  • Naver Cloud Platform

Code Convention

Git-Flow 브랜치 전략

initial

  • master : 제품으로 출시될 수 있는 브랜치를 의미
  • develop : feature에서 리뷰완료한 브랜치를 Merge
  • feature : 기능을 개발하는 브랜치
  • release : 이번 출시 버전을 준비하는 브랜치
  • hotfix : 출시 버전에서 발생한 버그를 수정하는 브랜치

CI/CD

  • Jenkins을 이용하여 pr시 자동 Build 및 Test 적용

기술적 issue 해결과정


화면 설계

figma를 이용하여 설계

main화면

게시판화면

상세 게시글 화면

로그인 화면


DB ERD

initial

chu-chu's People

Contributors

changhwani avatar yht0827 avatar korea3611 avatar f-lab-bot avatar

Stargazers

 avatar 이현주 Hyeonju Lee avatar  avatar  avatar hotamul avatar 불타는고구미 avatar Kangbeen avatar  avatar KimJaeWon avatar 이은비 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

zz6331300zz

chu-chu's Issues

회원 기능 구현

  • 회원가입
  • 로그인
  • 토큰 재발급
  • 로그 아웃
  • 전체 회원 조회
  • 회원 정보 수정

인증 기능 구현

  • Jwt 설정 추가
  • redis 연동 작업
  • spring security 설정
  • 회원정보 캐싱 처리 작업

API 문서 작업

  • Spring rest doc 설정
  • 테스트 코드 작성 및 api 문서 생성

로그 추가 작업

  • EntityListner 설정
  • DB 로그 테이블 추가작업
  • CRUD 및 사용자 에러 로그 추가 처리

프로젝트 생성 및 설정

  • 프로젝트 생성하기 및 의존성 라이브러리 설정하기(Java, Spring boot 버전)
  • 브랜치 전략 설정
  • 코드 컨벤션 정리
  • 프로젝트 구조 정리
  • 스프링 환경 설정(application.yml) 작업

Validation 작업

  • validation 스펙 정리
  • customValidation 처리
  • 에러메세지 global설정

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.