커피챗(Coffee Chat)은 선배-후배, 멘토-멘티가 편하게 만나서 이야기 나누는 시간이다.
취업 준비생들이 현직자에게 조언을 구하거나, 개발자들끼리 네트워킹하면서 많이 하는 그거.
나도 요즘 커피챗 신청이 꽤 많이 온다. 아래는 작년 10월에 커피챗 + 모각작 피크였던 한 달이었다. (물론 직장생활 병행했다)

고맙긴 한데... 진짜 귀찮은 게 한두 가지가 아니다.
신청자: "커피챗 언제 가능하실까요?"
나: "넵! 언제 괜찮으세요?"
신청자: "저는 평일 저녁이요!"
나: "몇 시쯤이요? 밥은 드시고 오세요?"
신청자: "7시요! 밥은... 같이 먹어도 될까요?"
나: "넵! 그럼 어디서 만날까요?"
신청자: "저는 아무데나 괜찮아요!"
나: (아무데나면 내가 정해야 하는 건데... 😇)
이게 한 사람당 최소 5~10번은 주고받는다.
그래서 아예 내가 시간/장소를 먼저 제시하면 어떨까 싶어서 해봤다.

시간이 안맞으면 바로 거절 이후에 답장이 안 온다. 🙃
아 그럼 다시 조율할 생각도 없이 그냥 조용히 사라지시는구나...

이렇게 갑자기 거절도 있다. (뭐 이해는 가는데... 그래도 허탈쓰...)
"이거 프로세스처럼 만들면 안 되나...?"
병원 예약하듯이, 미용실 예약하듯이
그런 시스템 있으면 얼마나 편할까?

기획에서 출시까지 FastAPI 개발 백서 책에 예약 시스템 예제 코드가 있었다!
원래는 FastAPI(Python)로 작성된 코드인데, 우리 팀은 이걸 Java + Spring으로 마이그레이션하기로 했다.

이렇게 cohiChat 프로젝트가 시작되었다. ☕✨
이번 주는 본격적인 개발보다는 기반 다지기에 집중했다.
- IDE: IntelliJ (Java/Spring), VSCode (React)
- API 문서: Swagger UI
- DB 도구: DBeaver (SQLite 연결)
특별히 복잡한 건 없었다. 내게는 익숙한 도구들이라 이 부분은 술술 넘어갔다.
브랜치 네이밍
이름_issuenum
예: chy_1, khs_1
처음엔 feature/기능명 같은 걸 쓸까 했는데, 우리 팀 규모가 작으니까 심플하게 가기로 했다.
브랜치 플로우
feature → qa → main
qa 브랜치에 mergemain에 PR커밋 메시지 규칙
feat : 데이터베이스 연결 설정 및 모델 관계 추가
- SQLAlchemy 비동기 엔진 및 세션 팩토리 설정 추가
- User 모델에 bookings 관계 추가 (게스트 예약)
- Calendar 모델에 TimeSlot 관계 주석 추가
깃모지를 쓰는 것을 좀 고려했는데 굳이 싶어서 뺐다.
이 부분에서 논의가 좀 길었다. "대기업 수준"이 뭔지 정의하기가 애매했는데, 일단 readable하고 maintainable한 코드를 목표로 하기로.
마일스톤은 이렇게 된다 히힛
2주차: 에러 수정 및 배포
3주차: CI/CD 구축 → Java Spring 마이그레이션 시작
일단 FastAPI 코드의 버그부터 잡고, 그 다음에 Java로 옮기는 게 순서다.
GitHub Projects에서 마일스톤 기능을 쓰면서 회의록도 거기에 정리하고 있는데, 이게 best practice인지 잘 모르겠다.
왜 깃프로젝트를 선택했냐면... 지라나 노션 등의
Git 전략도 세우고, 컨벤션도 정하고, 브랜치 규칙도 만들었는데
막상 시작하려니까 "이렇게까지 해야 하나?" 싶기도 하고
"이것만으로 충분한가?" 싶기도 하고...
첫 리더 역할이라 더 그런가보다. 🥲
FastAPI 예제 코드를 보면서 "이 부분이 왜 이렇게 짜여있지?" 싶은 게 많다.
단순히 Java로 옮기는 게 아니라, 왜 이렇게 설계되었는지 이해하고 넘어가야 할 것 같은데
시간이 좀 걸릴 것 같다.
첫 주라서 그런지 회의만 주구장창 했다.
그래도 팀원들이랑 방향성을 맞춰가는 과정 자체가 의미 있었던 것 같다.
리더는 처음이라 서툴지만, 일단 저벅저벅 가보려고 한다. 💪
다음 주부터는 본격적으로 코드 치는 시간이 늘어날 테니까
그때 진짜 실력이 드러나겠지...? 😅
같이 일하는 멋진 팀원의 1주차 회고록은 요기! 회고록
cohi-chat의 wiki는 요기!