Header

  1. View current page

    뚝딱뚝딱 대자보군

Profile_img_60x60_06
2 0

뚝딱뚝딱 대자보군

소개

  • 온라인 상에서 이벤트 신청을 받고, 신청 내역을 관리할 수 있는 프로그램

 

요구사항

  • 웹에서 이벤트 신청을 받을 수 있어야 합니다.
  • E-Mail 주소만으로 신청이 가능해야 한다.
  • E-Mail 인증을 통해 신청이 완료되어야 한다.
  • 신청자가 신청 내역을 조회할 수 있어야 한다.
  • 신청자가 신청 내역을 수정할 수 있어야 한다.
  • 신청자가 신청을 취소 할 수 있어야 한다.
  • 조회, 수정, 취소를 하기 위해서는 인증번호를 입력해야만 한다.

    • 인증 번호는 요청시 신청자의 E-Mail 로 발송한다.
    • 인증 번호의 유효기간은 1시간으로 한다. -> 1시간이 지난 후엔 다시 발급 받아야 한다.
    • 인증 번호는 신청자 E-Mail + 접속자 IP + 발급 요청 시각 => MD5 로 생성한다.
  • 이벤트 신청서의 항목을 자유롭게 지정 할 수 있어야 한다.
  • 항목은 형태는  HTML Form 에서 지원하는 모든 형태를 지정할 수 있어야 한다.
  • 필수 항목을 지정할 수 있어야 한다.
  • 전체 신청자 목록을 공개 할 수 있어야 한다.

    • 전체 신청자 목록의 공개 항목을 지정할 수 있어야 한다.
  • 폼 빌더를 이용하여 신청 항목들을 선택 할 수 있어야 한다. phpletter_20071204.zip ==> byebye~~^^+
  • 이미 신청한 사람이 다시 신청하는 경우

    • 처음 신청할 때와 동일하게 진행되나 DB 에 insert 가 아니라 update 로 동작한다. -> 이렇게 하면 인증번호 재발급이 해결된다.
  • 인증 방법

    • 신청서 폼에서 인정번호 전송 팝업을 띄워 입력된 E-Mail 로 인증번호를 전송하도록 한다.
    • 전송된 인증번호를 신청서 폼에 입력한다.
    • 서버측에서는 인증번호 테이블에 저장된 인증번호와 신청서에 입력된 인증번호를 비교하여 유효한지는판단한다.
    • 인증번호가 유효한 경우 신청서가 DB에 저장된다.
  • HTML 폼에서 prefix 가 evereg_ 인 경우 신청서의 데이터로 취급하여 DB 에 저장한다.

    • Ex) evereg_email, evereg_name ...

 

환경설정

  • ini파일 사용, 확장자 php(외부에서 읽히지 않도록)

    • 인증값의 유효시간
    • 설치 디렉토리
    • 관리자 정보  - 이름, 이메일

 

필요한 화면

  • 이벤트 목록 화면
  • 이벤트 상세 정보 / 수정 화면
  • 신청 목록 화면
  • 신청 상세 정보 / 수정 화면
  • 인증번호 전송 화면 (팝업용)

    • 인증 번호 전송 action
  • 인증번호 E-Mail 본문  HTML
  • 신청 정보 DB 저장 action

    • 인증번호 검증
    • 기본 정보 ( E-Mail, Name 등 )를 DB에 저장
    • 확장 정보 저장을 위하 디렉터리 생성
    • 확장 정보를 파일로 저장

 

DB ERD

evereg_erd(4).png

SQL

  • events
  1. create table events ( event_id int(10) auto_increment, title varchar(200) not null default '', manager_name varchar(50) not null default '', manager_contact varchar(50) not null default '', open_date datetime not null default  '0000-00-00 00:00:00', close_date datetime not null default '0000-00-00 00:00:00', reg_date datetime not null default '0000-00-00 00:00:00', primary key ( event_id ) );

 

  • applicants
  1. create table applicants ( event_id int, email varchar(50) , name varchar(50) not null default '', attendance char(1) not null default 'N', ip varchar(15) not null default '', reg_date datetime not null default '0000-00-00 00:00:00', ext_filename varchar(100) not null default '', primary key (event_id, email) );

 

  • application_data
  1. create table applicants_data ( event_id int, email varchar(50) not null default '', data text, primary key (event_id,email));

 

  • verificationkeys
  1. create table verificationkeys ( event_id int, email varchar(50) not null default '', verificationkey char(54) not null default '', verified char(1) not null default 'n', verified_date datetime not null default '0000-00-00 00:00:00', primary key (event_id, email ) );

 

디렉터리 / 파일 구조 ( 굵은 글씨는 디렉터리 )

  • evereg

    • evereg.php
    • config.ini.php
    • data

      • [EVENT_ID]

        • [YYYMMDD]

          • [APPLICANT_ID].php

 

화면

  • 이벤트 목록 화면

evereg_list_ui.jpg

  • 이벤트 상세 보기 / 수정 화면

evereg_detail_info.jpg

  • 신청자 목록 화면

evereg_applicant_list.jpg

  • 신청자 상세 정보 보기 / 수정 화면

evereg_applicant_detail_info.jpg

 

 

 

History

Last edited on 03/04/2008 20:10 by dosuser

Comments (0)

You must log in to leave a comment. Please sign in.