아직도 200여개의 댓글들을 스크롤하면서 불편하게 확인하시나요? 🥲
이제 앱에서 간단하게 출결사항을 조회하세요! 😆
[S013] 김태훈 @Modyhoon |
[S036] 이나정 @dailynj |
[S045] 이지수 @tmfrlrkvlek |
크롤링 코드 작성 | Firebase 세팅 | 크롤링 환경 세팅(EC2 & Crontab) |
Firebase 데이터 수집 | Firebase iOS 연동 & UI 작업 | Firebase iOS 연동 & UI 작업 |
매일 체크해야 하는 출결관리 | 일일히 확인해야하는 번거로움 |
---|---|
-
부스트캠프 체크인, 체크아웃 기록 조회 (캘린더 형식)
출석부 예시 1 출석부 예시 2 -
출결 현황 확인
출결 현황 예시 1 출결 현황 예시 2 -
사용자의 아이디 저장 (with userDefaults)
서버 | 슬랙 스레드 크롤링(Link) | DB | APP |
---|---|---|---|
AWS EC2 | Python | FireStore | iOS/Swift |
Crontab | SlackAPI | FSCalendar |
자세히 보기
// Date: 날짜
// CheckInOnly : 체크아웃 O - false, 체크아웃 X - true
// IsActive : Date Count 유무, True/False (19시에 True로 변환)
{
Date: 2021-09-23,
CheckInOnly: true,
IsActive: false
}
// Date : Date
// CamperId : CamperId
// CheckInTime : 10:00:01 | null
// CheckOutTime : 23:00:10 | null
// Attendance : True/False
{
Date: 2021-09-23,
CamperId: "S013",
CheckInTime: 09:59:59,
CheckOutTime: null,
Attendence: true
}
// CamperId : 번호
// Name : 이름
// Type : 안드로이드(K), iOS(S), 웹(J)
{
CamperId: "S013",
Name: "김태훈",
Type: 'S'
}
// CamperId : CamperId
// Count : 총 출석 횟수
{
CamperId: "S013",
Count: 3
}
git clone https://github.com/boostcampwm-2021/bookathon_F.git
cd BoostAttendance
pod init
pod install # m1 칩에서 오류가 발생한다면 arch -x86_64 pod install 을 실행해주세요
🧨 m1 칩에서 pod install 오류가 난다면 -> arch -x86_64 pod install
을 실행해주세요
🧨 Firebase 오류가 난다면 -> 링크
🧨 CocoaPod 오류가 난다면 -> 링크
눈물겨운 개발 과정💦
- gRPC 모듈이 C기반이여서 Python으로 세팅된 Lambda에서는 동작 불가
- 도커로 가상 환경을 구축한 후 필요한 패키지 의존성만 추출 참고사이트
- 용량이 커 zip 파일 업로드 불가능
- S3에 업로드 -> 50MB 초과로 에러
- EC2로 전환
체크인 - 체크아웃 스레드의 댓글이 각 200여개에 이름
중복체크 로직 등 DB에 접근하는 쿼리의 양이 점점 많아지고,
결국 사용량 초과로 무료 요금제는 더 이상 사용하지 못하게 됨 😭
눈물을 머금고 새벽3시에 Blaze 요금제 결제 💸💸💸
약 31만회의 읽기 트래픽
XCode 최신버전인 13.0 환경에서 프로젝트 생성
해당 프로젝트를 XCode 12.6 환경에서 실행하니 다음과 같이 이슈 발생
이후 계속해서 원인을 찾아보다가 XCode를 업그레이드 (13.0) 하니 정상적으로 프로젝트가 열림.
협업을 할때에는 개발 환경을 먼저 맞추고 시작하는게 중요하다는 것을 다시금 느낀 경험