최근에 직장에서 개인적인 업무의 불편함을 느껴서,
계정 관리 도구를 하나 만들었다.
남들은 돈주고 사기도 하는 툴이지만,
나는 간단한 도구가 필요했고, 안만들어도 별로 안불편하지만,
남들과 업무를 공유하고싶었고, 손이 덜 가게 만들고 싶었다.
- 기술 스텍을 생각한다. 커서가 도와주지면 결국 내가 만들어야하니까 아는 스텍들을 고른다. NextJS + FastAPI + MongoDB로 간다.
- 일단 기능이 있어야하니까 기능별로 API들을 만든다.
- 웹 기반으로 만들고싶었으니까 프론트를 만든다.
- 작은 MongoDB를 하나 붙여서 행위 로깅이 되게 한다.
- 작업하다보니 배치 잡으로 실행해야하는 부분이 생겼는데, 그럼 로그인 없이도 인증된 호출을 만들어야 하니까 미뤄뒀던 API 키 인증을 앞당겨서 붙였다.
- 아무리 인하우스로 쓸거지만 글자만 있으면 안되니까 간단한 MUI를 적용했다.
- 배포를 고민하다가 일단은 Docker로 패키징하고 Docker compose로 띄웠다.
- 코드 내 시크릿 관리는 우선은 env로 하고, 나중에 파라미터 스토어나 시크릿 매니저로 개선 코드를 만들었다.
커서와 함께 한 이 작업물,
사실 중간에 멀쩡히 돌아가는 코드를 커서가 몇번을 부셨는지 모른다. 처음부터 한번에 요구사항 설계를 잘해서 모든 요소가 고려되서 코딩되었으면 좀 더 매끄러웠을까 싶지만 그래도 그 과정에서 고민의 경험들이 쌓였다 .
조금씩 고민하는 즐거움과 함께 금방 그럭저럭 쓸만한 산출물을 만들 수 있었다.
오늘도 또 생각해 둔 다른 것을 조금씩 만들기 시작하고 있다.
지금 무언가 만들 것을 고민하고 있다면,
일단 시작하자.