책 나눔 후기
책 나눔
책을 사는 만큼 버리는 것또한 필요하다.
하지만 매년 그냥 버려지는 책들이 아까웠다.
그런 안타까움이 항상 마음 어딘가에 남아 있었다.
크리스마스 분위기에 취해서 였을까?
생활코딩에 책나눔을 위한 글을 작성했다.
스무명 즈음 신청할 거라 예상했다.
아니나 다를까, 예상치보다 열배 많은 분들이 신청해주셨다.
규모가 커지자, 나름의 공정성과 투명성이 필요하겠단 생각이 들었다.
책나눔 과정을 공유할 웹 사이트를 만들기로 결정.
어떻게 만들까?
'해야 한다면 간략하게'
쉽게 개발과 배포가 가능해야 했다.
또한 비용은 최대한 아끼고 싶었다.
서버 유지 비용이라든가 도메인비용 같은 것들을.
Next.js
React framework로는 Next.js를 채택했다.
React를 사용해보고 싶었기 때문이다.
또한 Nuxt.js 사용 경험이 즐거웠기 때문이기도 하다.
Next.js 또한 그렇지 않을까 하는 기대감.
처음 써보았지만 즐거운 개발 경험이었다.
추상화가 잘 되어 있어서 초보자도 어렵지 않게 개발할 수 있다.
다만 SSR 기능을 고려해서 코드를 작성하는 게 조금 어려웠다.
다음에 사용하게 된다면 docs 꼼꼼히 읽어보고 개발해야될 거 같다.
Ant Design
UI framework로는 Ant Design을 채택했다.
난 디자인 잘 못하니까...
갖다 쓴다는 마인드
문서 보고 접합하니까 잘 동작하더라.
데이터 관리
'Simple is best'
단순함은 최고다.
엄밀히는 JSON 말고, JS object로 데이터를 관리했다.
도메인이 단순해서 js object만으로도 부족함은 없었다.
사실 Prisma + SQLite 조합으로 다 작업해놨는데
서버에서 제대로 동작이 안 되는 바람에
황급히 js obejct로 변경했다.
눈물의 새벽 코딩...
인프라
Vercel로부터 배포, CI/CD 그리고 호스팅 등 거의 모든 기능을 제공 받았다.
말도 안 되게 편리하다.
편리한데 뛰어나기까지 하다.
사실 Vercel을 몰랐었다.
그래서 AWS S3에 SPA 빌드된 거 올리고,
Route 53 도메인 연결하고,
Cloud Front 붙일 생각에 어질어질 했었다.
좀 더 간단한 방법이 없을까 방황하던 찰나에
Vercel을 알게 되었다.
Vercel 하나로 인해 이 모든 노동이 사라졌다.
다음에도 Vercel 써야징!
나눔 후 느낀 점
나눔이 내게 가져다 주는 보람은 꽤나 컸다.
하지만 나눔의 과정에서 발생하는 노동은 꽤나 불쾌했다.
노동 자체가 불쾌한 것은 아니었다.
노동의 불편함이 불쾌한 감정을 초래했다.
나눔 신청을 별도의 규격화된 폼으로 받은 것이 아니기 때문에
내가 일일이 데이터 전처리를 해주어야만 했다.
200건이 넘는 신청을 일일이 이벤트에 매핑하는 건 고된 노동이었다.
추첨, 당첨 고지 그리고 수령인 정보 관리 또한 품이 많이 갔다.
으아, 너무 불편해!!!
(21권의 우편 처리도 쉽지는 않았다. ^^;)
왜 공적 재산의 관리가 어려운 지 조금은 알 것 같다.
분배가 어려운 일이기 때문일 거다.
세상 모든 봉사활동 조직 및 조직원들에게 존경을 표합니다!
책나눔 사이트
나눔 목록
book-sharing.vercel.app
책나눔 사이트 코드
github.com/kakaru1331/book-sharing
kakaru1331/book-sharing
Contribute to kakaru1331/book-sharing development by creating an account on GitHub.
github.com