스스로 만들고 학습하며, 타인과 함께 공유하는 암기장, Memorizing
🔎 어렵고 지루한 암기, 정답은 타이밍과 반복학습!
📝 중간고사가 코앞으로 다가왔는데, 하루만 시간이 더 있었으면..
🤷🏻♂️ 가까스로 어려운 단어를 암기했는데, 일주일만 지나도 기억이 흐릿해!
📗 지하철에서 영단어 공부를 하고 싶은데, 책을 들고다니긴 불편해..
❓혹시, 에빙하우스의 📈 망각곡선 이론에 대해 들어 보셨나요?
망각곡선(forgetting curve)이란, 시간이 흐를수록 학습한 내용을 잊는 속도를 나타낸 그래프입니다.
심리학자 에빙하우스(Ebbinghaus, 1885)는 모두가 겪고있는 문제인 ‘망각’에 대한 문제를 극복하기 위해
규칙적이고 반복적인 학습 루틴을 해결책으로 제시합니다.
- ❗️❗️아래 1가지 파일은 필수 파일임으로 실행이 필요할 시 jincode93@gmail.com을 통해 파일을 요청해주세요.
- Info.plist // KAKAO_APP_KEY
1. 개별적으로 Firebase 세팅을 진행해주세요.
* Memorizing 번들 ID: com.codelion.Memorizing
2. Firebase에서 Firestore Database, Storage를 설정해주세요.
* 보안 규칙을 `테스트 모드에서 시작`으로 설정해주세요
💡암기가 쉬워지는 반복학습, 타인과 함께 공유하는 단어장 마켓
규칙적으로 암기학습을 진행할 수 있도록 총 4단계의 학습루틴을 지원합니다.
1차 학습 ➔ 1차 복습(20min) ➔ 2차 복습(1hr) ➔ 3차 복습(1day)
나의 단어장 |
학습화면 |
복습알림 |
Memorizing은 영단어 뿐만이 아닌, 사용자가 원하시는 모든 유형의 암기장을 생성하고, 학습합니다.
시사, 상식, IT, 한국사, 수학공식 부터 자주 잊어버리기 쉬운 모든 것들을 자유롭게 암기할 수 있습니다.
유형선택 |
시사상식 |
영단어 학습 |
혼자만 알고있기 아까운 나만의 단어장을 마켓에 등록하고, 다른 사람들이 만든 단어장도 구매할 수 있습니다.
학습을 완료한 내 단어장을 삭제하긴 아쉽지 않나요? 마켓에서 모든 사람들과 함께 주고받을 수 있습니다.
마켓 |
암기장 구매 |
암기장 판매 |
📦 Memorizing
|
+ 🗂 Extension // Custom Component 구현을 위한 Extension, ViewModifier 파일 관리
|
+ 🗂 Model // 프로젝트에서 사용되는 객체 관리
|
+ 🗂 ViewModel // 프로젝트에서 사용되는 ViewMdoel, Store 관리
│
+ 🗂 Views // 여러 View를 모음
|
+------🗂 ViewModifier // View에 사용되는 Custom Coponent ViewModifier 관리
│
+------🗂 Views // 여러 View를 모음
│ |
│ +------🗂 WordNotesView // 첫 Screen View
│ │
│ +------🗂 NotificationView // Note 알림 설정 View
│ │
│ +------🗂 WordCardViews // 암기 카드 View
│ │
│ +------🗂 WordNoteAddView // 암기장 추가 View
│
│ +------🗂 MarketView // 암기장 마켓 관리 View
│ |
│ +------🗂 MyPageView // 마이페이지 관리 View
│ │
│ +------🗂 SafariWebView // 메모라이징 소개 웹페이지 View
│
│ +------🗂 LoginSignUpView // 로그인, 회원가입 View
- Firebase의 제한된 자원으로 개발 중 쿼리요청 횟수 한도 초과하여 서비스 이용 제한사항 발생
- 문제해결 - 실시간 쿼리요청을 중단하고, 필수 쿼리요청 구간을 제외하고는 전부 코어데이터를 사용함 (서버사용량 절약)
- 서버에서 로드된 데이터들이 CoreData에 지속적으로 저장되지 못하고 누락되는 버그들이 발생
- 문제해결 - 동기 / 비동기 함수를 고려하여 GCD에서 코어데이터 관련 함수를 Main Queue에서 작동하도록 설정
- 기존 Model을 세분화하여 재정의 했지만, Model 별로 비효율적인 코드 리팩토링 소요 발생
- 문제해결 - Model 별 공통 요소를 Protocol로 정의하고 채택하여 함수의 재사용성을 높이고 코드 리팩토링 업무 효율 향상
- MVVM 패턴 사용 중 일부 ViewModel의 크기가 비대해져 유지보수에 어려움 발생
- 문제해결 - 토의를 통해 ViewModel 보다 유연하게 적용하기 위해 특정뷰에 얽매이지 않는 Flux적인 Store 패턴으로 리팩토링 진행
iOS 16.0 이상 iPhone 14 Pro에서 최적화됨 가로모드 미지원, 다크모드 미지원
Apache License
Version 2.0 (January 2004)
http://www.apache.org/licenses/
염성필 @strongyeom |
진준호 @jincode93 |
이종현 @JongHyunLee84 |
진태영 @elisha0103 |
---|---|---|---|
임재혁 @onthelots |
윤현기 @Yoon-Hyeongi |
김혜지 @hyehyehye99 |
전근섭 @JKSeub |
---|---|---|---|