https://jaehee831.tistory.com/4
카이스트 몰입캠프 3주차 후기
나는 몰입캠프 3주차에 "힐링"의 의미를 부여했다.우선 저번 주 내내 기본 3시 퇴근을 하면서 몸도 마음도 지쳐있었다. 또한 그동안 만든 게 "기능 위주"의 "앱"이었다면, 이번에는 고정된 프레임
jaehee831.tistory.com
어느새 몰캠 마지막 주차이다.
이번 주에는 백엔드를 경험해보고 싶었다.
우리 앱은 알바생과 사장님의 협업 플랫폼이다.
알바생의 경우 구직 플랫폼은 많아도 알바가 된 이후 가게 공지는 카톡방으로 운영되는 경우가 많은데, 알바생과 사장님이 소통하는 가게 특성을 잘 반영한 협업 툴이 있으면 좋을 것 같았다.
깃허브 링크를 첨부하니 한 번씩 구경해보시길~
https://github.com/jaehee831/gighub-fe
GitHub - jaehee831/gighub-fe: 사장님과 알바생의 협업 툴 GigHub
사장님과 알바생의 협업 툴 GigHub. Contribute to jaehee831/gighub-fe development by creating an account on GitHub.
github.com
기능 구상
협업툴답게 있어야 하는 기능을 꼽자면 끝도 없었다. 슬랙, 플로우 등을 레퍼런스로 삼았는데 여기 있는 기능을 전부 구현하는 건 불가능했다.
그래서 우리는 '가게 공지'라는 특징을 잘 살리기 위한 기능들, 가령 월급 정산이나 출석봇 기능을 살리되 그 외 기능은 단순화하기로 했다.
백엔드 기술 스택은 mysql과 nodejs를 사용하기로 했다. 앱 특성상 관계형 db가 맞는 것 같았다. (다음에는 django도 써보고 싶다.)
기능 명세서... 끝도 없었다.(•᷄- •᷅ ;)
ERD나 api 명세서 작성도 처음 해봤기 때문에 버벅거렸다. 프-백이 협업할 때 왜 문서 작성이 필수라고 하는지 느끼면서...
백엔드 개발자는 누구보다 유저 플로우에 섬세해야 한다는 걸 깨달았다.
그리고 mysql만 그런 건지 모르겠는데 db 수정할 때 참조 키가 있으면 관련 참조를 모두 지우고, db 수정 후에 재생성해야 하는 게 참 불편했다. 이래서 처음에 만들 때 잘 만들라고 하는 거구나...
추가로 깃 브랜치 전략을 써서 깔끔한 브랜치 히스토리를 유지하고자 했다. 거대 프로젝트는 아닌 관계로 전략이 비교적 간단한 github flow면 될 것 같았다. 도움이 되었던 글이다.
https://hudi.blog/git-branch-strategy/
Git 브랜치 전략 (feat. Git Flow, Github Flow)
브랜치 우리는 왜 브랜치를 사용할까? 브랜치를 별도로 생성하지 않고 메인 브랜치에서만 작업하면 어떤 일이 벌어질까? 메인 브랜치는 출시되고 배포된 코드를 위한 브랜치이다. 이 곳에 기능
hudi.blog
추가할 기능, 삭제할 기능
개발 과정에서 기술 구현 가능 여부에 따라 앱의 방향성이 달라지기도 한다. 우리 팀의 경우 사장님이 직원에게 월급을 정산해 줄 때 시스템 상에서 가능하도록 만드려고 했는데, 그러려면 유저의 계좌 이체내역 api를 가져와야 했다. 찾아보니까 가능은 한 것 같은데, api 요청에 며칠이 소요될지 모르겠어서 포기했다.
앱의 특징은 유저 타입이 둘로 나뉜다는 것이다. 가게 점주의 경우 admin, 알바생의 경우 user로 구분된다.
admin과 user는 접근할 수 있는 서비스에 차이가 있다.
가령 출첵봇 기능은 user에게는 출첵도장을 찍을 수 있는 탭이 제공되지만 admin은 그렇지 않다. 대신 해당 가게에 등록된 직원들의 출퇴근 로그를 열람 가능해야 한다.
프론트 단에서 유저 플로우 구상할 때, 코드 짤 때 이것 때문에 조금 머리 아팠다...
기능에서 고려사항이 많아서 디자인에는 상대적으로 힘을 덜 줬다.
배포
결론적으로 배포까지 성공하지는 못했다. 4주차의 패착이라고 할까... 마감일이 가까워지니까 흐게늉 마인드가 장착돼서 배포가 귀찮아졌다... 우리가 시연만 할 수 있으면 되지 모...
좀 더 정신 차리고 했으면 배포도 할 수 있었는데ㅠㅠ 정말 아쉽다.
4주 간의 여정을 마무리하며
짧고 굵었던 몰입캠프가 끝나고 느낀 점은 이렇다.
- 우선 새로운 언어를 배우는 데에 거부감이 없어졌다. 새로운 기술을 항상 배워나가야 하는 IT 직종의 특성상 필요한 능력을 얻은 기분!
- 수많은 시행착오와 실패를 통해, 문제해결능력을 기를 수 있었다. 트러블슈팅 과정에서 이 문제를 어떻게 접근해야 할지 계속 생각해 보는 연습이 도움이 많이 됐다. 개발 말고 다른 영역에서도 적용할 수 있을 것 같다.
- 네트워킹. 한 반에 20명, 전체 80명(사실 다른 분반과 접촉할 일은 거의 없음ㅠ)이나 되는 또래 친구들과 같은 일을 하면서 한 달 동안 동고동락한다? 이건 말로 할 수 없는 큰 자산임. 몰캠 가는 사람들이 있다면 무엇보다 좋은 친구들을 사귀는 데에 집중하라고 조언하고 싶다. 개인적으로 개발보다 이게 더 중요한 것 같다.
- 다양한 개발 경험. 특정 분야의 전문가가 되긴 어려워도, 개발의 여러 분야를 경험해 보기엔 충분한 시간이다. 예전에 나는 웹/앱 개발에 대한 막연한 갈증으로 스트레스를 받곤 했는데, 그 갈증이 해소되어서 좋다. 프/백/디자인 안 해본 게 없으니까! 몰캠 이후 대학원 진학 쪽으로 마음을 굳히긴 했지만, 개발 경험이 있다는 건 나에게 큰 메리트가 될 것 같다.
이외에도 글로 표현할 수 없는 많은 것을 느낄 수 있다. 예를 들어 대전은 하늘이 정말 예쁘다. 그리고 사람들이 왜 성심당 성심당 하는지 알게 됨(˶> <˶)♡
몰입캠프 지원을 고민하는 사람이 있다면 내 글이 도움이 되면 좋겠다.
'Event' 카테고리의 다른 글
2024 대통령과학장학금 최종합격 후기 (1) | 2024.08.26 |
---|---|
SPARCS AI 스타트업 해커톤 2024 참가 후기 (0) | 2024.08.24 |
카이스트 몰입캠프 3주차 후기 (0) | 2024.08.23 |
카이스트 몰입캠프 2주차 후기 (0) | 2024.08.23 |
카이스트 몰입캠프 1주차 후기 (0) | 2024.08.22 |