:heavy_check_mark: Instagram, Facebook 과 같이 평소 사용하던 SNS를 직접 제작하여보기
:heavy_check_mark: 실행만 되는 서비스가 아닌 대규모 트래픽을 처리할 수 있는 성능적으로 우수한 서비스 제작하기
:heavy_check_mark: 프로젝트 진행에 따라 ReadMe 업데이트 예정입니다.
:heavy_check_mark: Jenkins 주소 : http://27.96.135.12:8080/
:heavy_check_mark: 보다 자세한 내용을 알고 싶으시다면 Wiki를 참고해주시길 바랍니다.
❔ Wiki : https://github.com/f-lab-edu/sns-agora/wiki
:heavy_check_mark: 확장성 있는 시스템을 구현하고자 노력했습니다.
:heavy_check_mark: 쿼리 튜닝을 통해 Full-Table Scan이 발생하는 상황을 줄이고자 노력했습니다.
:heavy_check_mark: Batch 작업을 통해 잦은 Connection과 RTT를 줄이고자 노력했습니다.
:heavy_check_mark: 캐싱을 적용하여 메모리 기반 작업의 비율을 높혀 성능을 개선하고자 노력했습니다.
:heavy_check_mark: nGrinder를 활용하여 성능테스트를 진행하고 성능 개선에 참고했습니다.
:heavy_check_mark: pinpoint(APM)를 활용하여 성능 모니터링을 하고, 성능 개선에 참고했습니다.
:heavy_check_mark: Junit 프레임워크를 활용하여 코드 신뢰성을 높이고자 단위테스트를 작성했습니다.
:heavy_check_mark: CI/CD를 적용하고 자동화된 빌드와 배포를 통해 개발의 생산성을 높히기 위해 노력했습니다.
1. 피드 기능
2. 파일 기능
3. 인증 및 인가 기능
4. 친구 기능
5. 좋아요 기능
6. 댓글 기능
7. 피드 추천 기능(현재는 등록된 최신 피드들을 추천합니다. 추후 추천 알고리즘을 공부해보고 확장할 예정입니다.)
8. 푸시 메시지 기능
✔️ AGORA는 Git-Flow 를 이용하여 브랜치를 관리하였습니다.
:heavy_check_mark: master : 배포시 사용할 브랜치. 초기 시행착오에 의하여 몇몇 기능이 merge 되어 있으나, 원래 사용 용도는 완벽히 배포가 가능한 상태에만 merge가 되어야만 합니다.
:heavy_check_mark: develop : 다음 버전을 개발하는 브랜치, 완전히 배포가 가능하다고 생각되면 master 브랜치에 merge 합니다.
:heavy_check_mark: feature : 기능을 개발하는 브랜치
:heavy_check_mark: release : 배포를 준비할 때 사용할 브랜치
:heavy_check_mark: hotfix : 배포 후에 발생한 버그를 수정 하는 브랜치
- 우린 Git-flow를 사용하고 있어요, 우아한 형제들 기술 블로그, Oct 30, 2017, 나동호
📑 https://woowabros.github.io/experience/2017/10/30/baemin-mobile-git-branch-strategy.html