SWM-Codection / gitea

https://codection.org
MIT License
1 stars 0 forks source link


Contribute with Gitpod

목차

  1. 프로젝트 개요

  2. 개발 결과물

  3. 수행 방법 및 프로젝트 관리

프로젝트 개요

프로젝트 소개

Codection은 코드리뷰 효율성의 향상을 돕는 소프트웨어로서, 오픈 소스 프로젝트인 Gitea를 기반으로 동작하고 있습니다.

시스템 구성도

![system-archiecture](https://github.com/user-attachments/assets/a31c67a3-3fa2-4eb6-abe6-db4d9f9b889e)
![application-architecture](https://github.com/user-attachments/assets/bef5d209-5538-4d96-b74f-d11123c1e04c)

주요 기능

![main-feature](https://github.com/user-attachments/assets/a6c3bbd0-80ee-4f1a-bb73-8821609713fe)

개발 환경

개발 결과물

백엔드 아키텍처

WIP

API 서버 개발 및 API 문서화/테스트

![api-documentation](https://github.com/user-attachments/assets/7acffc5a-e7bf-4169-ae4b-a52e08f8f898)

OpenAPI 3.0 Spec을 준수하는 Swagger를 사용하여 API 문서화를 진행하였습니다.

API 서버 리팩토링

WIP

API 서버 CI/CD 파이프라인

![ci](https://github.com/user-attachments/assets/70019a62-5669-4cdc-892e-694c1a8240e2)

Github Actions 를 이용하여, CICD 파이프라인을 구축하였습니다.
또한 Branch Protection Rule 을 통해 반드시 CICD 파이프라인을 통과하고, 코드 리뷰가 이루어진 Pull Request에 대해서만 Merge 를 허용하도록 정책을 설정하여, 보다 안전하고 효과적인 통핣 및 배포 프로세스를 구축할 수 있었습니다.

수행 방법 및 프로젝트 관리

개발 프로세스

![jira-kanban](https://github.com/user-attachments/assets/5397cd52-7082-47a6-9e5b-e3db872733df)

저희 팀에서는 Jira 의 칸반 기능을 이용하여, 팀원 간 역할 분담을 명확히 하여, 효율적인 협업 프로세스를 이룰 수 있었습니다. 또한 Jira 에서 발급한 티켓을 기반으로, 풀 리퀘스트의 연동을 진행하였습니다.

KPT 회고 및 데일리 스크럼

하루의 시작을 데일리 스크럼을 통해 작업 일정을 공유하였고 주간 KPT 회고를 진행하여 작업 효율성 향상을 위한 방법론을 찾아갔습니다.

형상 관리 프로세스

![gitflow](https://github.com/user-attachments/assets/f89b2815-0add-4011-bc02-a7362a7f2438) git-flow 전략

저희 프로젝트 Codection에서는 효율적인 협업 방식을 위해 Git Flow 전략을 적극적으로 도입하였습니다. Git Flow 전략을 통해 팀 전체의 작업 흐름을 명확히 하고, 릴리스와 빠른 버그 수정을 이룰 수 있었습니다. 이를 통해 코드 관리의 복잡도를 줄이고, 협업 속도와 품질을 높일 수 있었습니다.

오픈 소스 컨트리뷰트

![issue-32080](https://github.com/user-attachments/assets/18ef0089-1f16-4e51-aa4e-b88776e17bfc)

저희 팀에서는 프로젝트를 진행하던 중 기반이 되는 gitea에서의 버그를 발견하고 이를 제보 및 해결 방안을 제시하여, gitea 1.23 마일스톤에 등록하게끔 하는 성과를 이루었습니다.

![pr-32081](https://github.com/user-attachments/assets/cb5a8c8a-6880-4640-bc24-6134beb8d081)

또한 gitea 메인테이너와 효율적인 의사소통을 통해, 기존의 제안을 개선 및 보강하였습니다.

라이센스

이 프로젝트는 MIT 라이센스를 따릅니다.
전체 라이센스 원문을 보기 위해서는 라이센스 파일을 참고하세요