lifemotif:start
문서의 이전 판입니다!
LifeMotif: GMail-based Private Diary System
구글 코드: http://code.google.com/p/lifemotif-desktop/ Git 사용하기: http://rogerdudler.github.io/git-guide/index.ko.html
Desktop
Concept
플랫폼 선택에 있어
LifeMotif는 일단 '오픈(open)'되게 나갈 생각이다. 그러므로 가능한 한 여러 플랫폼을 지원할 수 있도록 만들었으면 좋겠다. 이것은 빌드된 바이너리 뿐만 아니라 소스 코드에도 해당된다. 그러므로 어떤 특정한 플랫폼만 지원하는 기술은 사용하지 않았으면 좋겠다.
C#의 경우 문법적으로도 깔끔하고, 여러 좋은 점이 많지만 Microsoft에 묶여 있다는 인상을 접기 어렵다. 여러 플랫폼을 아우를 수 있는 라이브러리로 Qt가 있으므로 Qt를 사용하고, C++를 사용하도록 하는 것이 좋다고 판단하였다.
OAuth나 이메일 데이터를 가져오는 네트워킹 파트에서는 Python을 사용하는 것이 간결하고 더 효율적인 것으로 생각한다. 또한 네트워크가 아닌 부분 있어 왠만한 부분들은 표준 C++ 기능을 이용하여 Qt를 이용하지 않더라도 큰 문제 없이 동작하도록 하자.
현재 Visual Studio에 많이 의존하여 코드를 작성하였지만 빌드, 배포 보두 여러 플랫폼을 고려하도록 작성하도록 한다.
주요 기능
- 인증 기능 (authenticate)
- Gmail로부터 사용자의 이메일 계정에 접근할 수 있도록 허락받는 기능
- Gmail 서버로부터 access token, refresh token을 받아 오는 기능
- 이메일 리스트 가져오기 (email listing)
- 이메일 서버로부터 유저가 정한 메일함으로부터 이메일 목록을 가져오는 기능
- 이메일이 전달된 날짜를 바탕으로 언제 쓰여진 일기인지 파악
- 이메일 데이터베이스
- 이메일을 날짜별로 분류함. GMail은 이메일을 제목을 기반으로 하나의 대화로 묶는 기능이 제공되므로 대화 단위로 데이터베이스를 작성함.
- 일기 보기
- 이메일, 즉 일기 하나를 가져와서 출력하는 기능
- 이메일 raw data의 파싱이 필요함.
lifemotif/start.1389338423.txt.gz · 마지막으로 수정됨: 2014/10/09 21:23 (바깥 편집)