[웹노트 개발] 2. 우선 완성해서 사용해보자!
이번 이야기는 웹노트 개발 두 번째 이야기이다. 결과적으로 완성해서 서버까지 올려둔 상태이다. 물론 처음 기획했던 것과는 다른 부분이 있지만 dockerhub 에 이미지도 올리고 react-nextjs 와 fastapi 를 이용한 첫 서비스가 설레는 경험이었다.
fastapi 는 자유로운 구조라 어떻게 짜야할 지 막막했다. 그러다 clean architecture 를 떠올리게 되었고, 자동으로 그 구조를 생성해주면 좋겠다는 생각도 들었다. django 에 익숙한 나는 명령어를 통해 작업을 했으면 좋을 것 같았다. 그래서 django 를 참고하여 fastapi-clean-archi 를 만들게 되었다. 프로젝트 세팅을 시작으로 DB 마이그레이션 및 DB 연결, 기본 settings 등 프로젝트를 시작하기 위한 스타터 킷처럼 만들어보았다. 물론 아직 완전하진 않다고 생각하여 0.7 버전으로 머물러 있지만 사용해보면서 개선점을 찾아가보려한다.
nextjs 를 이용해보면서 예전의 리액트와는 다르다고 느꼈다. 그땐 router 나 상태관리 같은 게 꽤나 복잡하고 어려웠던 기억이 있는데 내가 성장한 것인지, 툴이 쉽게 발전했던 것인지 개발하면서 흥미를 느꼈다. 프론트 개발자가 아니다보니 또, node 개발자가 아니다보니 구조나 코드의 복잡성이나 많은 것이 마음에 들게 짜지 않고 기능 구현에 중점을 두었던 거 같다 (변명일 수 있지만... ).. 개발하다보면 이 기능, 저 기능 추가해보고 싶은 마음이 상당히 컸지만 2025년이 가기 전에 실행해보겠노라고 다짐하여 과감히 기능 추가의 욕심을 떨쳐냈다. 그 속에는 pdf 다운로드나 기본 템플릿 기능 등이 있었다...
아무튼 야심차게(?) 개발하고 공부하여 완성해서 github 과 dockerhub 에 올려서 서버에 올려 실행해보았다. 생각보다 수정해야할 부분이 많고 dockerhub 에 이미지를 올리는 건 처음이라서 조금 헤매긴 했지만, 많은 생각이 드는 프로젝트였다. 자동 로그인을 구현하거나 인증 토큰이 만료되었을 때는 어떻게 동작해야하는지 등 여러모로 도움이 되는 프로젝트였다.