프로그램 만들어 줄 사람 손!!


1. 프로그램 역할 : Email Client

2. 프로그램 종류 : Web Application

3. 개발 언어 : 자유 (Java 추천)

4. 사용 DB : 자유 (transaction이 제공되는 DB 추천)

5. 기능 : POP3/SMTP + IMAP(옵션)

6. 유사한 PC 프로그램 : MS Outlook, Mozilla Thunderbird

7. 상세 설명

  가. 목표 : Email Client를 Web Application으로 구현

  나. 기능

    1) 로그인계정 관리

    2) 각 로그인계정별로 메일계정 추가/수정/삭제

       - SMTP/POP3 설정 옵션은 MS Outlook이나 Mozilla Thunderbird 참조

    3) 메일 기본 기능

       - 수신, 발송, 회신, 전달, 삭제 등

       - MS Outlook이나 Mozilla Thunderbird 참조

    4) SMTP

       - 메일서버를 이용하여 메일 발송

       - 메일 저장 기능 등 필요 (메일 서버에 접속이 안되거나 임시로 저장 필요)

    5) POP3

       - 메일서버에 접속하여 주기적으로 메일을 가져와 DB에 저장

    6) IMAP(옵션)

    7) 메일계정 암호화(필수)

    8) 메일데이터 암호화(필수)

       - GPG, PKI 등을 활용하여 단방향 암호화 필요

    9) 메일 분류

       - Label, Directory등 활용

8. 프로그램을 만들어 봄으로써 발생할 수 있는 이득

  가. 영어공부

     - RFC 문서를 보고 해독해야 하므로 ㅋㅋ

  나. 검색능력

     - RFC 문서를 보고 영어해독을 하기가 번거로운 경우 검색을 통하여 관련 소스나 한글로 된 문서를 검색

  다. 프로그래밍 스킬

     - 검색한 소스 해독

     - 본 프로그램 작성을 통한 프로그래밍 실력 향상

     - 작성 코드에 대한 첨삭 지도 가능 ㅋㅋ

  라. 문서 해독 능력

     - RFC 문서나 기타 메일 관련 프로그램 해독

     - 웹프로그래밍 시 필요한 문서 해독(jQuery 등)

  마. 보안 프로그래밍 경험

     - 메일 정보는 중요하므로 암호화 등을 통한 관리가 필요

  바. 프로젝트 관리 스킬

     - 나름 프로젝트이므로 일정관리 등 프로젝트 관리 경험 발생

  사. 문서 작성 능력

     - 프로젝트 진행, 완료 등에 따라 진척도, 기능 등에 대한 문서 작성이

  아. 요구사항 분석 능력

     - 사용자의 요구사항을 분석하여 원하는 프로그램 제작

  자. 프로젝트 진행 경험

     - 여러 명이 프로그래밍을 진행할 경우 일부는 프로젝트 관리 및 개발 진행하며 일부는 개발만 진행

  차. 팀 프로그래밍 경험

     - 팀을 짜서 프로젝트 진행 가능

     - PM, PL, 개발, 테스트 등

  카. 형상관리 경험

     - subversion

     - 소스나 binary, 문서 등을 형상관리 서버에 저장하는 것을 통하여 팀 프로그래밍, 백업, 복구 등의 유익함 제공

  타. 배포관리 경험

     - maven

     - 프로그램을 제작 후 배포서버를 별도로 두어 설치/테스트 등을 환료 후 배포

  파. 뿌듯함

     - 내가 이런 걸 다 만들어봤구나 하는 뿌듯함 발생

  하. 밥/술

     - 오프라인에서 만나면 밥이나 술을 제공



여기까지 읽어본 사람은 굉장하며

프로그램을 만들어 줄 거라 생각함

profile