-
Notifications
You must be signed in to change notification settings - Fork 2
42_Somoim 회의일지
hwano edited this page May 9, 2020
·
10 revisions
- 기획
- 아이템 선정 (해결하고 싶은 문제)
- 클러스터 내 정수기 일회용 컵, 텀블러 정리문제
- 식사 - 마땅히 먹을 식당을 못 찾겠다. 후기의 부족.
- 미세먼지 - 클러스터 내 미세먼지의 심각성 인지 부족.
- 평가 문제 : 매칭이 쉽지 않다.
- 소모임 : c-piscine 당시 활발했던 슬랙 내 소모임 문화가 옮겨온 42슬랙에서는 제한된다. 전과 같이 활발하지 않은 소모임 문화.
- 사용 시나리오
- 소모임 등록 : 소모임 이름, 간단한 설명, 오픈카톡방 링크, 소모임장 닉네임 등록
- 소모임 조회 : 소모임의 이름, 소모임장 닉네임, 간단한 설명, 오픈카톡방 링크 리스팅
- 소모임 삭제
- 소모임 내용 수정
- 아이템 선정 (해결하고 싶은 문제)
- 기술 조사
- 타입스크립트
- 슬랙봇
- 데이터베이스
- 향후 스케줄 계획
- 1주차 : 슬랙봇 틀 만들기
- 2주차 : 서버 (데이터베이스) 만들기
- 3주차 : 디버깅 / 정리
- 기술 조사 및 테스트 슬랙 봇 생성
- Bot Framework 조사
- Hubot
- Botkit
- 슬랙 봇 앱 생성
- 테스트 워크스페이스 생성
- 슬랙 봇 생성에 필요한 환경 설정
- Botkit을 이용한 슬랙 봇 테스트
- Botkit Framework 설치
- 사용법 학습 및 튜토리얼 진행 (미완)
- Bot Framework 조사
- 향후 스케줄 계획
- 4/21 15:00 PM 행아웃을 통한 원격 협업 진행 예정
- 테스트봇 완성
- 필요 기술 재점검
- Typesrcipt 학습
- Botkit Framework 함수 사용법 학습
-
봇 프레임워크 재선정 : botkit -> bolt
- 친절한 공식문서
- 간편한 사용법
-
활용 기술 재점검
- 컨테이너 : 도커
- 클라우드 : aws
- 언어 : 타입스크립트
- 봇 프레임워크 : bolt
- DB
-
볼트 튜토리얼 진행 완료
-
향후 계획
-
상세 시나리오 구상
-
볼트 공식문서 학습
-
타입스크립트 학습
-
-
Create
- /somoim register
- 모달창 활용
- 모임이름, 간단한 설명, 참여할 수 있는 그룹 url, 소모임 잘 나타내는 이모티콘을 골라라
-
R
-
/somoim list
-
동작 플로우
-
인터랙티브 드롭다운 (리스트를 불러올 캠퍼스 선택)
-
:soccer: *42풋살동아리* Join 버튼 설명 : 개발도 좋아요 (develop 아님 ㅎ) from @hjeon :soccer: *42동물의숲* Join 버튼 설명 : 모동숲 좋아요 from @hjeon :soccer: *42몽환의숲* Join 버튼 설명 : 몽환숲 좋아요 from @hjeon
-
-
-
D
- /somoim unregister
- 모달창 활용
- 자신이 만든 모임 (드랍다운 리스트) 선택 후 삭제
-
ETC
- /somoim help 커맨드 가이드
- gitflow 도입
- command listener 기능 구현
- vscode liveshare를 이용한 페어 프로그래밍
-
타입스크립트 도입
-
각 커맨드 프로토타입 구현
- typescript, eslint, prittier 도입
- 슬랙봇 기능 create, read의 ui 개발
- 캠퍼스 분류 아이디어: 유저의 이메일 정보를 받아와 분류, 안되면 유저가 직접 선택!
- 이모지 입력: 현재는 유저가 직접 이모지 명령어를 찾아 입력해야함. emoji picker를 봇에 도입할 수는 없을까?
-
타입스크립트 학습.
-
유저가 커맨드 입력 시 ui를 띄워주도록 함.
- register block 및 list block 표출 확인
- Javascript로 환경 설정
- modal에서 한글이 깨져서 나옴. 방법을 찾아야함
- 볼트 Framework 가 완벽하게 Typescript를 지원하지 않음. Javascript 환경으로 바꿈.
- delete 만들기
- 데이터베이스 모듈 적용
- DB연결
- slack web api 학습 및 적용
- github pr 활용
- 한글이 꺠져나오는 이슈 -> 문자인코딩 설정변경
- 빠른 프로토타입 개발 후 42 학생들한테 피드백받기 -> 관리자에게 승인 받을 것
- delete 만들기
- 데이터베이스 모듈 적용
- Sequelize를 이용한 DB 초기화 완료
- unregister modal UI 적용
- 이메일 주소를 통한 캠퍼스 분류 함수 구현
- UI에 Bolt action 적용
- 이메일 주소를 통한 캠퍼스 분류 함수 구현
- Bolt action 학습 및 적용
- 슬랙봇이 데이터를 db를 통해 입력, 출력함
- hyekim 영입 및 브리핑
- OAuth Permission 개념 재정립
- suffle command를 이용해 list suffle
- Serverless research
- Bolt action 학습 및 적용
- Sequelize ORM 학습 및 적용
- 배포 (EC2 or Serverless)
- Register 기능 구현
- Error가 났을때 새로운 modal창이 아니라 에러를 표출하는 방법으로 할 수는 없을까?
- Register 기능 중 각 캠퍼스 random 채널 포스팅 기능 구현
- Sequelize ORM Pagination 방법 적용
- 배포 (EC2)
- Register 완벽 구현 (랜덤방 홍보 기능 추가)
- show list 기능 50% 구현 (페이지네이션 고려할 것)
- slack block의 button 속성 중 url의 유효성 검사를 진행해야한다. (규칙 미 준수시 에러 발생함)
- showlist의 페이지네이션을 어떻게 수행할 것인지.
- show list, unregister 기능 100% 구현
- 텍스트, ui 개선 (필수)
- 배포 (EC2)
- show list 기능 구현 90% 완료 (message update시 작성자 프로필 고려할 것)
- help 기능 구현 완료
- 구현 기능들을 통합함
- 메세지 수정시 작성자 이름이 bot으로 바뀌는 문제
- url formmatter 기능 merge
- 배포 (EC2)
- Emoji 리스트를 볼 수 있는 링크를 register에 추가함
- 도커를 이용해서 EC2 배포 완료
- emoji list 드롭다운으로 표출시 100개로 제한 됨 -> cheatsheet 링크로 대체
- 배포 자동화 적용 고려
- slack 42born2code에 앱 설치 가능여부 확인
- 프로그램 모듈화
- 도커, AWS EC2, AWS RDS 활용한 배포
- README.md 어떻게 구성할지
- 42born2code에 배포 불가
- README.md 어떻게 구성
- 개인 slack workspace를 활용해 planB로 제작
타입스크립트 포팅
url란에 한글이 입력되면 slack app이 작동하지 않음 -> slack app url값의 validation 문제
테스트 & 디버깅
Cukoo workspace에 슬랙 봇 배포 성공
42Born2Code 배포를 대비해서 모든 캠퍼스 랜덤 채널에 대응해 홍보하는 기능 추가
README.md update
- Unregister할 때마다 선택 옵션에 somoim이 하나 씩 늘어나는 문제
- 배포를 Cukoo workspace, 42_somoim workspace 두 개다 배포 하기로 함. Docker container를 두 개 만들어 해결
youtube 시연 영상 업로드 42_somoim workspace에 배포 테스트, 디버깅