Skip to content
tax1116 edited this page Oct 20, 2020 · 9 revisions

Social Network Service Project

  • Instagram, Facebook 과 같이 평소 사용하던 SNS를 직접 제작하여보기
  • 실행만 되는 서비스가 아닌 대규모 트래픽을 처리할 수 있는 성능적으로 우수한 서비스 제작하기
  • 프로젝트 진행에 따라 ReadMe 업데이트 예정

사용 기술 및 개발환경

Spring Boot, Maven, MyBatis, Redis, MySQL, Java, IntelliJ, Jenkins, Naver Cloud Platform

주요 기능

AGORA 구성도

agora_system_structure2

코딩 컨벤션

  • 코딩 컨벤션은 예쁜 코드를 위해서도 필요하지만, 협업시, 장기 프로젝트를 운영할 때 등 유용합니다.

  • 해당 프로젝트에서는 Google CheckStyle을 적용하였습니다. (최대한 코딩 컨벤션을 신경쓰려하였으나, 수정 중에 일부 적용이 누락된 부분이 있을 수 있습니다.)

브랜치 관리 전략

  • AGORA는 Git-Flow 를 이용하여 브랜치를 관리하였습니다.
git_flow
  • master : 배포시 사용할 브랜치. 초기 시행착오에 의하여 몇몇 기능이 merge 되어 있으나, 원래 사용 용도는 완벽히 배포가 가능한 상태에만 merge가 되어야만 합니다.
  • develop : 다음 버전을 개발하는 브랜치, 완전히 배포가 가능하다고 생각되면 master 브랜치에 merge 합니다.
  • feature : 기능을 개발하는 브랜치
  • release : 배포를 준비할 때 사용할 브랜치
  • hotfix : 배포 후에 발생한 버그를 수정 하는 브랜치

참고 사이트

프로젝트 중점사항

자세한 내용을 확인하시려면 Wiki에서 확인하실 수 있습니다. 현재는 작업 중으로 일부 내용이 누락되어 있을 수 있습니다.

대규모 트래픽을 고려한 설계 및 성능 튜닝 작업

Wiki 주소 : https://github.com/f-lab-edu/sns-project/wiki/04.-Large-Traffic-Handling-Task

리펙토링을 통한 코드 개선 작업

Wiki 주소 : https://github.com/f-lab-edu/sns-project/wiki/05.-Refactoring-Task

프로젝트 디자인 설계

ERD

API

API에 대한 자세한 내용을 확인하시려면 Wiki를 참고해주세요.

https://github.com/f-lab-edu/sns-project/wiki

CD 적용

cd

ngrinder 성능 테스트

https://github.com/f-lab-edu/sns-project/wiki/07.-nGrinder-Test-Scenario-&-Analysis

Clone this wiki locally