SSAFY 8기 2학기 자율프로젝트
2023.04.10 ~ 2023.05.19
Github의 사용자는 나날이 증가하는 가운데, 프로젝트의 지표를 설명할 도구들은 마땅치 않은 상황입니다.
"레포몬"은 이러한 프로젝트의 정보를 분석 및 요약하여 레포지토리를 대표하는 캐릭터와 함께 한 장의 카드로 만들어 나타낼 수 있게 하는 서비스입니다.
먼저 레포지토리 분석 기능에서는 레포지토리의 정보를 가져와 커밋, 머지, 이슈, 리뷰, 포크, 스타를 점수화 시켜 총 경험치를 나타내줍니다. 또한 컨벤션을 등록하여 준수율을 확인하고, 각 커밋의 기여도를 유저 별로 나타낼 수 있습니다.
다음으로 정보 카드 생성입니다. 사용자의 정보를 요약한 유저 카드, 레포지토리의 정보를 요약한 레포 카드, 해당 레포지토리에서 본인의 기여도 및 언어를 선택하여 제작할 수 있는 퍼스널 레포 카드 세 가지를 생성할 수 있습니다.
마지막으로 레포몬 배틀입니다. 앞서 획득했던 경험치를 토대로 레포몬을 진화 및 성장시킬 수 있으며, 나만의 레포몬과 다른 사람의 레포몬을 배틀을 통해 경쟁시킬 수 있습니다.
이러한 기능을 통해 프로젝트를 활성화하고, 레포지토리의 분석 결과를 리드미에 작성해보세요 ✨
- 메인 페이지
- 레포몬과의 상호작용을 통해 Git 사용법 툴팁 출력
- 캐러셀을 통해 서비스에 대한 간단한 설명 제시
- 레포지토리 조회
- 각 사용자의 레포지토리 정보 조회
- 각 레포지토리의 정보는 Redis에 저장하여 이후 조회 시간을 줄임
- 레포몬 생성
- 세 가지의 랜덤 레포몬 제시 및 선택
- 닉네임 중복 확인 및 설정
- 초기 컨벤션 등록
- 주사위를 통한 랜덤 능력치 선택 기능
- 레포몬은 ThreeJS를 사용하여 구현
- 레포지토리를 선택하여 상세 레포지토리 정보 확인 가능
- 선택한 레포몬과 경험치에 따른 현재 레벨 출력
- 기간 설정 버튼으로 프로젝트의 시작일과 종료일 설정 가능
- 성장, 컨벤션, 기여도, 배틀 탭으로 이동 가능
- 레포지토리 분석 및 경험치 산출
- 6가지 지표(커밋, 머지, 이슈, 리뷰, 포크, 스타)를 통해 각 레포지토리 분석 및 경험치 산출
- 일자별 성장 그래프와 누적 성장 그래프 확인 가능
- 등록된 전체 레포지토리를 대상으로 각 레포의 경험치 순위 반환
- 해당 지표는 Chart.js를 사용
- 등록한 컨벤션을 기준으로 각 커밋의 준수율 확인 가능
- 어떤 컨벤션을 얼마나 준수했는지를 차트를 통하여 나타냄
- 해당 지표는 Chart.js를 사용
- 해당 레포지토리의 커밋 내역을 확인하여 기여자의 순위를 나타냄
- 해당 지표는 Chart.js를 사용
- 정보 카드 생성
- 분석된 레포지토리의 정보를 토대로 정보 카드 생성
- 레포지토리의 정보를 요약한 레포지토리 카드 생성 가능
- 레포지토리의 본인의 기여도와 사용 언어를 설정한 퍼스널 레포지토리 카드 생성 가능
- 사용자의 전체 레포 정보를 종합한 유저 카드 생성 가능
- Django를 통해 SVG 형태로 카드 생성
- Redis에 카드 정보를 저장하여 이후의 조회 시간 단축
- 레포몬 스탯
- 레포지토리 분석 결과 획득한 경험치 100포인트 당 능력치 포인트 1 제공
- 포인트를 통해 공격, 방어, 치명타, 회피, 명중 스테이터스 설정
- 각 레포몬의 레이팅에 따라 레포몬 매칭
- 선∙후공 랜덤 설정
- 레포몬의 스테이터스 및 난수에 따른 데미지 설정
- 공격 측의 공격∙치명타∙스킬 및 방어측의 피격∙회피 모션
- 레이팅 및 스테이터스에 따라 획득하거나 손실되는 레이팅 변화
- 각 레포지토리의 경험치에 따른 레포 순위 반환
- 각 레포몬의 레이팅에 따른 배틀 순위 반환
- 각 유저의 총 레포지토리 경험치에 따른 유저 순위 반환
- 크롬 익스텐션
- 마이페이지에서 발급받은 Key를 통해 크롬 익스텐션 사용 가능
- 레포몬 배틀 기능 스크립트 형식으로 지원
🐂 안명수 |
|
🐂 김승섭 |
|
🐓 류승태 |
|
🐀 백준봉 |
|
🐅 양은진 |
|
🐖 최권민 |
|