-
Notifications
You must be signed in to change notification settings - Fork 0
/
howToMake.txt
72 lines (59 loc) · 4.08 KB
/
howToMake.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
test page 제작
1. 단어 생성 후 랜덤 배치 - done
1-1 랜덤 배치 후 배치 고정 - done
2. 사용자가 선택한 단어를 저장
해당 문제에서 선택된 문제들의 단어 index를 어딘가에 저장 - done
3. 시험을 다 봤다는 버튼을 눌렀을 때 채점 가능 - done
4. 해당 점수를 firebase db에 저장 - done
5. 알람이 울리고 시험을 보겠다는 버튼을 눌렀을 때만 TestStack에 접근 가능하게 만들어야 함
로그인 관련
1. 한번 로그인하면 다음에 앱 실행 시 자동 로그인 - done
2. 최초 로그인 날짜부터 알람, day1 시험 시작 - done
현황 체크 page 제작
1. 몇번째 시험을 봤는지 도장표에 체크 - done
1-1 시험 결과 정보 db 수정
1-1-1 firebase에는 어떤 시험을 봤는지만 체크
실험 시작 날짜가 피험자 별로 다를 수 있음.
날짜로 구분하지않고 몇번째 시험인지로 구분
1-1-2 로컬 기기에서는 24시간 기준으로 시험을 봤는지 체크해서 기기에 정보 저장
firebase db와 동일하게 날짜로 구분하지 않고 몇번째 시험인지로 구분
1-1-3 시험 시에는 필수적으로 온라인 상태여야 하는지에 대한 여부가 필요
1-1-3-1 항상 온라인
모든 정보를 firebase db에 저장하는게 편함
1-1-3-2 오프라인 시험도 허용
모든 단어 정보가 로컬에 저장돼있어야 함.
시험 결과 정보 또한 로컬에 저장 후 온라인 상태일 때 firebase db에 업로드
1-2 실험 시작 날짜부터 day1 시험이 있다고 가정
1-3 실험 시작의 기준 = 최초 로그인 시점
2. 설문조사 버튼을 누르면 설문조사 링크를 보여줄지 여부를 판단할 수 있도록 db 수정 - x, 4번으로 기능 수정
2-1 db에는 시작 날짜 기준으로 n주차 때 시행해야할 설문조사 링크 정보 저장
2-2 로컬에서 개인 실험 시작 날짜 기준으로 몇주차인지 계산, 해당되는 링크 정보를 db에서 가져와 표기
3. 마지막 날에 설문조사 링크를 check page 하단에 띄워주기
3-1 마지막 날 이외에는 링크가 보이지 않도록 하기
3-2 마지막 날에 링크가 뜨도록 하기
D-Day
1. DB에 실험시작 날짜를 기록. 기록된 날짜를 기반으로 D+day 계산 - done
Test 결과 저장
1. 시험을 본 후에 Test Tab으로 이동하면 시험 결과가 뜨도록 설정 - done
1-1 시험 결과 저장 - done
1-2 시험 결과 불러오기 - done
1-3 불러올 시험 결과가 있다면 Test 페이지를 바로 렌더링하기 - done
Test 정보를 하루마다 초기화
1. 앱이 켜졌을 때 하루가 지났으면 Test Result와 이와 관련된 정보들을 AsyncStorage에서 제거
1-1 하루 이상의 기간이 지났음을 감지 - done
시험결과가 기록된 시간을 기준으로 체크
1-1-1 하루가 아닌 2, 3일이 지났을 경우 지나간 날짜에 대해서 시험을 보지 않았음을 감지해야 함
1-2 Test Result와 이와 관련된 정보들을 AsyncStorage에서 제거
2. 도장 찍기 - done
1-1 하루 이상의 기간이 지났음을 감지
1-1-1 하루가 아닌 2, 3일이 지났을 경우 지나가 날짜에 대해서 시험을 보지 않았음을 감지하여 도장표에 표기
최초 로그인 날짜를 유저별로 정리해서 저장
1. json 형태로 정리, logout하여도 폐기 안함
stack header title
1. D+00 000님 안녕하세요 문구가 떠야한다. - done
1-1 firebase DB가 로컬저장소에 정보 저장 후 활용 - done
1-2 속도 문제 해결 필수적 해결
알람 팝업 창이 뜨는 것을 기준으로 Memorize Screen 표시 여부 확인
1. popScreen이 렌더링 될 때의 시간을 로컬 저장소에 저장
2. 최초 로그인 날짜와 1번에서 구한 시간을 이용하여 해당 날짜에 알람이 울렸는지 여부를 확인
3. 2번 정보를 통해 Memorize Screen 표시 여부를 결정