https://github.com/f-lab-edu/sns-agora
[넥슨 & 랜딧 합격 / 초봉 4,500 이상] 소셜 네트워크 서비스 AGORA입니다.
https://github.com/f-lab-edu/sns-agora
fitz
Last synced: 2 months ago
JSON representation
[넥슨 & 랜딧 합격 / 초봉 4,500 이상] 소셜 네트워크 서비스 AGORA입니다.
- Host: GitHub
- URL: https://github.com/f-lab-edu/sns-agora
- Owner: f-lab-edu
- Created: 2019-12-31T09:08:36.000Z (over 5 years ago)
- Default Branch: develop
- Last Pushed: 2024-12-02T20:04:45.000Z (7 months ago)
- Last Synced: 2025-04-23T01:13:01.349Z (2 months ago)
- Topics: fitz
- Language: Java
- Homepage:
- Size: 472 KB
- Stars: 61
- Watchers: 3
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# :clapper: AGORA
## :pushpin: 개요
: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## :pushpin: 사용 기술 및 개발환경
[](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.2-Release-Notes) [](https://maven.apache.org/) [](https://mybatis.org/mybatis-3/ko/index.html) [](https://lettuce.io/) [](https://dev.mysql.com/doc/refman/8.0/en/)   [](https://checkstyle.sourceforge.io/google_style.html) [](http://27.96.135.12:8080/job/agora-ci/job/develop/) [](https://hub.docker.com/r/tax1116/agora) 
## :pushpin: 프로젝트 중점사항
: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를 적용하고 자동화된 빌드와 배포를 통해 개발의 생산성을 높히기 위해 노력했습니다.## :pushpin: 주요 기능
1. 피드 기능
2. 파일 기능
3. 인증 및 인가 기능
4. 친구 기능
5. 좋아요 기능
6. 댓글 기능
7. 피드 추천 기능(현재는 등록된 최신 피드들을 추천합니다. 추후 추천 알고리즘을 공부해보고 확장할 예정입니다.)
8. 푸시 메시지 기능## :pushpin: AGORA 구성도
![]()
## :pushpin: 브랜치 관리 전략
:heavy_check_mark: 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, 나동호
:bookmark_tabs: https://woowabros.github.io/experience/2017/10/30/baemin-mobile-git-branch-strategy.html