2022年 9月 10日

AngularFirebaseMy personal project

개인 개발 시작한 지 약 9개월이 지나고 그의 소감

리포지터리

사용하는 기술은?

  • Angular 13
  • TypeScript 4.4
  • Firebase
    • Hosting
    • Firestore
    • Authentication

Angular를 골랐던 이유는?

  • TypeScript를 사용하고 싶어서요.
    • 나는 정적 타입 언어가 좋아해서 TypeScriprt가 궁금했어요.
  • JS 프레임워크를 사용하고 싶어서요.
    • 회사 일에서 jQuery를 사용하니까 뭔가 모던 기술을 사용하고 싶었어요.
  • 파일을 나눌 수 있어서요.
    • CSS는 CSS 파일에, HTML은 HTML 파일에, JS(TS)는 JS(TS) 파일에 쓰고 싶어요.
    • 만약에 회사 일에서 JS 프레임워크를 사용한다면 다른 멤버들과 작업도 나누기 쉽다고 생각했어요.(많은 회사가 Angular 이외의 프레임워크를 골라는 사실을 보면 내 생각은 잘못하는 것 같아요ㅋ)
  • MVC 설계 방식이라서요.
    • 회사에서 CakePHP를 사용하니까 같은 방식이라면 머리가 편해서요.(다른 방식도 궁금하지만 다음 기회에...)

Firebase를 골랐던 이유는?

  • 무료여서요.
    • 요금 플랜이 심플이고 무료로 사용할 수 있는 범위가 매달 있어서요.
  • 구글의 서비스여서요.
    • Angular도 구글의 서비스니까 구글 서비스만 사용하는 것도 좋다고 느껴서요.(구글이 매수했던 서비스지만요...)

앱으로 해결하고 싶었던 과제는?

우리 프로젝트팀은 시스템을 보수하거나 고객 문의에 대응하거나 버그 수정도 하거나 그리고 신규 기능 개발도 하고 있어요.

작업마다 실적 공수를 기록해야 하지만 우리 팀장은 안 해서 실적 공수가 잘 몰랐었어요.

2021년 12월부터 내가 팀장이 되고 그 문제를 해결하고 싶어졌어요.

우리 회사에는 WBS마다 공수를 기록할 수 있는 앱이 있지만 작업마다 기록할 앱은 없어요.

그니까 나는 우리 팀에 작업마다 공수를 기록할 수 있는 앱이 있으면 좋겠다고 느꼈어요.

앱의 기능은?

앱의 주된 기능은 하기와 같아요.

  • 하루마다 작업마다 공수를 입력하기
  • 기간을 지정하고 공수를 분석할 수 있기
  • 회사에서 사용하는 공수 기록 앱에 전재하기 쉬운 형식으로 CSV를 출력하기

앱을 만들는 중에 배웠던 점은?

Rxjs

  • 처음은 Promise로 코딩했지만, Agular를 사용하면 Rxjs를 사용해야 한다고 조언받아서 가능한 부분부터 뜯어고쳤어요.
  • 값을 감시할 때 편리네요.
  • 검색 처리는 Rxjs로 바꿔서 등록 처리가 아직 Promise니까 천천히 바뀌고 싶어요.

NoSQL

  • 회사 일에서는 RDB만 사용하고 있으니까 NoSQL에 안 익숙했을 때 설계했고 NoSQL의 이점을 살릴 수 없었어요. 다음은 잘 설계하고 싶어요.
  • 사용하고 이점이라고 느꼈던 전은 도큐먼트마다 내용을 다르도 되는 점이에요. (설계가 중요가도 되지만요...)
  • 반대로 결점이라고 느꼈던 점은 master table과 결함 못 하니까 도큐먼트마다 업데이트가 필요한 점이에요. (RDB가 그리워저요ㅎ)

CSS Grid

  • display: flex를 아주 사용하고 있어서 Grid를 사용할 기회가 없었어요. 사용 시작해보니 너무 좋고 빨리 사용 시작할 걸 그랬어요...ㅠ

앞으로 앱은?

  • PWA 대응 설정을 했지만, 대응 기능이 없어요. 뭔가 대응 기능을 만들고 싶어요.
  • 모든 처리를 앱 속에서 하니까 Cloud Functions도 사용하고 앱의 처리 부담을 줄이고 싶어요.
  • 로딩 중에 애니메이션을 표시하고 유저를 심심 되지 않고 싶어요.
  • 일부만 테스트 코드를 써고 있으니까 더 쓰고 싶어요.