[사이드 프로젝트] 사내용 💻 업무 포탈 서비스, 마무리를 앞두고..

April·2022년 10월 9일
0

Project👍

목록 보기
10/13
post-thumbnail

:: 계기

스스로의 성장

2021년 회고

2022년을 시작하며 세운 목표 중 하나는 분기별 개발서적 완독하기였다

  • 1분기: 인강으로 TS 공부
    • 이직 준비로 인해 새로운 회사에서 사용하게 될 기술 스택 공부로 인강으로 공부..😅
  • 2분기: 모던자바스크립트 Deep Dive
    • 2월부터 시작해서 6월까지.. 어렵고.. 일단 읽긴 읽었는데..

2분기까지 책만 읽다보니 실제 적용은 언제 해? 적용해봐야 진짜 내것이 되는게 아닌가.. 책만 읽는다고 성장하고 있는건가.. 싶은 마음에
3분기에는 책이 아닌 실제 프로젝트를 해보기로 했다
그리고 프론트엔드의 진도가 빨라서 개인 공부를 하던 시기였는데, 그 시기에 2개월 정도 진행한 프로젝트!


실제 서비스 개발

실습하며 실전에 적용할 수 있는 공부를 하기로 했는데, 어떤 공부를 해야 할까에 대한 고민이 많았다.
새로운 분야(백엔드)를 공부해볼까, 프론트엔드 전문성을 좀 더 넓혀 볼까..
그러던 중 어떤 글을 읽고 프론트엔드 전문성을 넓히며 새로운 기술 습득으로 방향을 잡을 수 있었다.

프론트엔드의 성장세에 따라 Best Practice가 정립이 되기도 전에 새로운 것들이 나오는 형국입니다. 열린 마음으로 새로운 것들을 받아들이고 끊임없는 탐색을 통해서 최근의 트렌드를 쫒아가는 감각이 매우 중요합니다.

그렇게 현 팀원들과 사내용 업무 포탈을 개발하게 되었다.



:: 프로젝트 소개

총 3명(🎨디자인/기획 1명, 🌈프론트엔드 1명, 🧩백엔드 1명) 약 두달 간 진행한 프로젝트

설명

> 소개

  • Easywork는 사내용 업무 포탈 서비스다.
    • 연차 등 휴가 관리, 복지 포인트, 구매요청 등

> 기술 스택

  • 🌈Frontend: vuejs, JS, graphql, apollo, sass
  • 🧩Backend: nestjs, TS, postgresql, aws, nginx, Docker

> 구현 기능

권한에 따라 사용자, 관리자로 구분. 모바일 우선으로 개발

🔷 알림

  • 휴가 승인/반려, 휴가/포인트 발급, 물품 구매요청 승인/반려/구매완료 등에 대한 메시지 알림

🔷 휴가 관리

  • 개인별 휴가 기능
  • 특별휴가, 여름휴가 등 유급 휴가 발급 등

🔷 복지 포인트

  • 개인별 포인트 기능
    • 기록, 삭제, 포인트 주고받기 등
  • 포인트 레포트 기능
  • 포인트 발급 등

🔷 물품 구매요청

  • 개인별 구매요청 기능
  • 구매요청 승인/반려/완료 등

🌈 나의 역할

  • 고객과 서비스가 가장 먼저 맞닿는 영역부터 유저가 눈으로 보는 모든 것을 개발
  • 작업된 디자인을 실제로 구동할 수 있게 구현하고
  • 백엔드 API에서 가져온 데이터의 출력, 입력을 통한 로직 구성과
  • 사용자 인터페이스에 대한 작업을 수행.

기억에 남는 일?!

Keep

  • 디자이너와의 협업은 처음인데, 디자인 조정 등 본 프로젝트 전 좋은 경험이 되었다.👍

  • 평소 라이브러리를 사용해 우선 구현하기 보다 스스로 구현해보고 비교 후 채택하는 편인데, 이번에도 스스로 구현한 코드가 더 많아 뿌듯했다. 다만 어디까지 라이브러리를 사용해야 하나? 등의 라이브러리 사용에 대한 고민은 항상 있다.

  • 새로운 기술 습득 후 바로 적용한 사례인데 중간 중간 어려움도 있었지만 기한 내에 구현해내어 뿌듯하다!

    • 코드의 질도 놓칠 수 없기에 TS 적용 및 리팩토링하면서 올려야겠다.. 🥲

Problem

  • 예외처리의 중요성을 새삼 느꼈다. 기능 구현은 당연하고 실제 운영을 했을 때 프로그램이 멈추지 않도록 예외처리를 잘 해야겠다.

    • 테스트 기간 예외처리를 하지 않아 부랴부랴 했던 기억.. 아쉬움..
  • 오픈일 오전까지도 테스트 및 버그 수정을 해야하는 상황. 기한을 맞추치 못한 것 같아 아쉽다. 추 후 테스트 및 버그 수정 기간을 넉넉히 고려하여 진행해야 겠다.

  • pwa 또한 처음 적용한 사례인데 iso 적용할 때 어려움이 있었다.

    • 런치 스크린은 아직 가져가야 할 사항..

Try

  • pwa를 처음 적용해 본 프로젝트인데 iossplash screen은 아직 적용되지 못해 오픈 후 까지 가져갸야 할 사항이 되었다.

  • 이번에도 웹서버 배포는 어려웠고 개발하는 동안 netlify의 도움을 받았다. 최종 배포는 백엔드의 도움을 받았고..🥲
    배포에 대한 미련이 항상 있어 다음 프로젝트에서는 스스로 웹서버 배포까지 해보리라!



:: 마무리

이전 사수분께 "새로운 기술 도입할 때 공부시간 1~2주 정도 공부시간 주고 도입했었던 경험"을 들었었기에, 이번 사이드 프로젝트에서 vue를 1~2주 공부하고 개발해보았다. 만약 다음 프로젝트에서 새로운 기술을 공부하고 도입해야 할 상황이 발생한다면 부담없이 할 수 있겠다는 마음가짐??이 생겼다😁😁

그 동안은 Rest API만을 사용했었는데 이번 프로젝트에서 graphql을 처음 사용해봤다. 누군가는 graphql를 찬양하지만.. 내 취향은 Rest API인걸로... 🥲

무언가를 공부할 땐 항상 기술블로그를 작성했는데, 이번 프로젝트는 기한이 촉박했었다는 핑계로 기술블로그 작성 없이 진행했었다. 내가 어떤 부분을 어려워했고 그 부분에서 어떻게 해결했는지 등이 기록되지 않아 아쉬움이 남는다. 차츰 기억이 되돌려 보며 필요한 부분은 기록해보려 한다. 그리고 촉박하더라도 간단하게라도 기술블로그에 남겨두는 습관은 꾸준히 유지해야겠다는 생각을 했다.

사이드 프로젝트라곤 했지만 사내용 업무 포탈로 사용될 예정이고 MVP 버전만 개발된 상태라 앞으로 가야할 길이 멀다. 좋은 팀장, 팀원들과 함께여서 즐겁게 개발할 수 있을 것 같다👍

항상 성장에 대한 목마름이 있다. 이번에도 마무리는 있지만 과연 성장했을까? 나는 필요한 사람인가? 잘하고 있는 사람인가?에 대한 스스로의 물음표는 항상 가지게 된다. 이런 물음표가 생기지 않는 그날까지! 공부하고 또 공부해야겠다!
(언제가 되어야 만족하고 아쉬움이 안 생기려나.ㅎㅎㅎㅎㅎ 😭😭)



profile
🚀 내가 보려고 쓰는 기술블로그

0개의 댓글