BizCard.kr

프로젝트 작성일: 2025-10-27 수정일: 2025-10-27 02:26
수정
================================================================================
BizCard.kr 프로젝트 진행 현황
================================================================================
최종 업데이트: 2025-10-26 23:30
전체 진행률: 약 55% 완료
MVP 기준: 85% 완료

================================================================================
[✅ 완료된 작업]
================================================================================

1. 서버 환경 구축
   ✅ 리눅스 계정 생성 (bizcard)
   ✅ 디렉토리 구조 생성 (public_html, private, logs, scripts, backups)
   ✅ Apache 가상호스트 설정 (HTTP/HTTPS)
   ✅ SSL 인증서 발급 (Let's Encrypt)
   ✅ 보안 설정 (private 디렉토리 차단, DB 크리덴셜 분리)
   ✅ 로그 관리 시스템 구축 (자동 로테이션, 6개월 보관)
   ✅ 백업 시스템 추가 (매일 새벽 3시)

2. 데이터베이스 설계 및 구축
   ✅ 9개 테이블 생성:
      - users (사용자 정보)
      - cards (명함 정보)
      - card_social_links (SNS 링크)
      - card_careers (경력사항) ← 신규 추가
      - templates (명함 템플릿)
      - card_views (조회 통계)
      - card_saves (저장 기록)
      - user_sessions (로그인 세션)
   ✅ 기본 템플릿 5개 삽입
   ✅ 인덱스 최적화
   ✅ 외래키 관계 설정

3. 프론트엔드 개발
   ✅ 랜딩 페이지 (index.php)
      - 히어로 섹션 (하늘색 그라데이션 디자인)
      - 기능 소개 섹션
      - 사용 방법 3단계
      - CTA 섹션
      - 푸터
      - URL 확인 기능
   ✅ 반응형 디자인 (모바일/태블릿/데스크톱)
   ✅ 애니메이션 효과 (스크롤 시 페이드인)
   ✅ 공통 CSS 스타일시트 (/assets/css/style.css)
   ✅ JavaScript 인터랙션

4. 사용자 인증 시스템
   ✅ 회원가입 페이지 (register.php)
      - 이메일, 사용자명, 이름, 비밀번호 입력
      - 실시간 유효성 검사
      - 중복 체크 (이메일, 사용자명)
      - 비밀번호 표시/숨김 기능
      - CSRF 토큰 보안
   ✅ 로그인 페이지 (login.php)
      - 이메일/비밀번호 로그인
      - Remember Me (로그인 상태 유지)
      - 세션 관리
      - 계정 상태 확인
   ✅ 로그아웃 기능 (logout.php)
      - 세션 파괴
      - 쿠키 삭제

5. 사용자 대시보드
   ✅ 대시보드 페이지 (dashboard.php)
      - 환영 메시지
      - 통계 카드 3개 (총 명함 수, 조회수, 저장수)
      - 명함 목록 표시
      - 빈 상태 UI (명함 없을 때)
      - 명함 생성/수정/삭제 버튼
      - 세션 메시지 표시 (성공/에러)
   ✅ 공통 네비게이션 (includes/nav.php)
      - 대시보드, 내 정보 링크
      - 사용자 드롭다운 메뉴
      - 로그아웃 링크

6. 명함 생성 기능 (card-create.php)
   ✅ 템플릿 선택 (5개 템플릿)
   ✅ 기본 정보 입력 (이름, 회사, 직책, 부서)
   ✅ 연락처 정보
      - 전화번호 (숫자만 입력)
      - 휴대폰 (숫자만 입력)
      - 이메일
      - 웹사이트 (https:// 자동 추가)
      - 주소 (Daum 주소 API)
      - 상세주소
   ✅ 이미지 업로드
      - 프로필 사진 (미리보기)
      - 회사 로고 (미리보기)
      - 파일 검증 (형식, 크기)
   ✅ 자기소개 (최대 500자)
   ✅ SNS 링크 추가/삭제
      - 플랫폼 선택 (Facebook, Instagram, Twitter, LinkedIn, YouTube, GitHub, Blog, 기타)
      - URL 입력
      - 동적 추가/삭제
   ✅ 경력사항 추가/삭제
      - 시작일/종료일 (Bootstrap Datepicker)
      - 재직중 버튼
      - 회사명, 직책, 업무 설명
      - 최근 근무지부터 입력 (순서 유지)
   ✅ 공개/비공개 설정
   ✅ QR코드 자동 생성

7. 명함 수정 기능 (card-edit.php)
   ✅ 모든 기본 정보 수정
   ✅ 이미지 수정 (기존 이미지 미리보기)
   ✅ SNS 링크 수정
      - 기존 링크 불러오기
      - 추가/삭제
   ✅ 경력사항 수정
      - 기존 경력 불러오기
      - 날짜 선택기 적용
      - 추가/삭제
   ✅ 수정 완료 후 1초 대기 → 대시보드 이동

8. 명함 삭제 기능 (card-delete.php)
   ✅ 삭제 확인 페이지
      - 명함 미리보기
      - 경고 메시지
      - 삭제될 데이터 목록 표시
   ✅ 관련 데이터 전체 삭제
      - SNS 링크
      - 경력사항
      - 조회 기록
      - 저장 기록
   ✅ 이미지 파일 삭제 (프로필, 로고, QR코드)
   ✅ 명함 상태 변경 (deleted)
   ✅ 트랜잭션 처리

9. 명함 보기 페이지 (card-view.php)
   ✅ 실제 명함 스타일 디자인
      - 프로필 이미지/플레이스홀더
      - QR코드 표시
      - 이름, 직책, 부서
      - 회사명
      - 연락처 (전화, 휴대폰, 이메일)
   ✅ 상세 정보 섹션
      - 소개
      - 회사 정보 (로고, 주소, 지도 링크)
      - 경력사항 (회사명 / 직책 형태)
      - SNS 링크 (아이콘 + 단축 URL)
   ✅ 액션 버튼
      - 연락처 저장 (vCard 다운로드)
      - 공유하기 (Web Share API / URL 복사)
   ✅ SEO 최적화
      - Meta Description
      - Keywords
      - Open Graph (Facebook, LinkedIn)
      - Twitter Card
      - Canonical URL
   ✅ 카카오맵 연동 (기본 주소만 검색)
   ✅ 공통 CSS 적용
   ✅ 반응형 디자인

10. 짧은 URL 라우팅
    ✅ .htaccess 설정
    ✅ bizcard.kr/username → card-view.php?id=XX
    ✅ URL 유효성 검사

11. QR코드 생성
    ✅ phpqrcode 라이브러리 적용
    ✅ 명함 생성 시 자동 생성
    ✅ /uploads/qrcodes/ 디렉토리 저장

12. vCard 다운로드
    ✅ vcard-download.php
    ✅ iOS/Android 호환
    ✅ 연락처 정보 포함

13. 통계 및 분석
    ✅ 명함 조회 기록 저장 (card_views)
    ✅ IP 주소, User Agent, Referer 저장
    ✅ 디바이스 타입 분석 (데스크톱/모바일/태블릿)
    ✅ 24시간 중복 조회 방지
    ✅ 조회수 카운트 (cards.view_count)
    ✅ 저장 횟수 카운트 (cards.save_count)

14. 보안 구현
    ✅ CSRF 토큰 검증
    ✅ XSS 방지 (htmlspecialchars)
    ✅ SQL Injection 방지 (PDO prepared statements)
    ✅ 파일 업로드 보안 (확장자, 크기 검증)
    ✅ 세션 보안 (httponly, secure 쿠키)
    ✅ 비밀번호 해싱 (password_hash)
    ✅ private 디렉토리 웹 접근 차단

15. 외부 라이브러리 적용
    ✅ Bootstrap 5.3.0
    ✅ Bootstrap Icons 1.11.0
    ✅ jQuery 3.7.1
    ✅ Bootstrap Datepicker 1.10.0
    ✅ Daum 주소 API
    ✅ phpqrcode

================================================================================
[❌ 미완료 작업]
================================================================================

1. 명함 템플릿 디자인 (우선순위: 높음)
   ❌ 템플릿별 CSS 디자인 5개
      - 심플 화이트
      - 모던 블루
      - 미니멀 그레이
      - 컬러풀 그라데이션
      - 클래식 비즈니스
   ❌ 템플릿 미리보기 기능
   ❌ 커스터마이징 옵션 (배경색, 글자색)

2. 사용자 프로필 (우선순위: 중간)
   ❌ 프로필 수정 페이지 (profile.php)
   ❌ 비밀번호 변경 기능
   ❌ 프로필 이미지 업로드
   ❌ 계정 삭제 기능

3. 통계 대시보드 상세 (우선순위: 중간)
   ❌ 일별/주별/월별 통계 차트
   ❌ 통계 상세 페이지
   ❌ 디바이스별 분석 그래프
   ❌ 리퍼러 분석 그래프

4. 비밀번호 찾기 (우선순위: 낮음)
   ❌ 비밀번호 찾기 페이지 (forgot-password.php)
   ❌ 이메일 발송 기능
   ❌ 비밀번호 재설정 페이지
   ❌ 재설정 토큰 관리

5. 요금제 및 결제 (우선순위: 낮음)
   ❌ 요금제 페이지
   ❌ 결제 연동 (아임포트, 토스페이먼츠)
   ❌ 구독 관리
   ❌ 플랜 업그레이드/다운그레이드

6. 관리자 페이지 (우선순위: 낮음)
   ❌ 관리자 로그인
   ❌ 사용자 관리
   ❌ 명함 관리
   ❌ 템플릿 관리
   ❌ 통계 대시보드

7. 추가 기능 (우선순위: 낮음)
   ❌ 명함 검색 기능
   ❌ 인기 명함 순위
   ❌ 명함 즐겨찾기
   ❌ 명함 댓글/평가
   ❌ 다국어 지원 (영어)
   ❌ PWA (Progressive Web App)
   ❌ 푸시 알림

8. SEO 및 마케팅 (우선순위: 중간)
   ❌ 사이트맵 자동 생성
   ❌ robots.txt 설정
   ❌ 구글 애널리틱스 연동
   ❌ 블로그/FAQ 페이지

================================================================================
[핵심 기능 완성도]
================================================================================

✅ 회원가입/로그인/로그아웃 - 100%
✅ 대시보드 - 100%
✅ 명함 생성 - 100%
✅ 명함 수정 - 100%
✅ 명함 삭제 - 100%
✅ 명함 보기 - 100%
✅ QR코드 생성 - 100%
✅ vCard 다운로드 - 100%
✅ 짧은 URL - 100%
✅ 공유 기능 - 100%
✅ SNS 링크 관리 - 100%
✅ 경력사항 관리 - 100%
✅ 조회수/저장수 통계 - 100%
❌ 템플릿 디자인 - 0% (DB만 준비)
❌ 사용자 프로필 수정 - 0%
❌ 통계 상세 페이지 - 0%

================================================================================
[다음 우선순위 작업]
================================================================================

1. 템플릿 디자인 다양화 (높음)
   - 5가지 스타일 CSS 작성
   - card-view.php에 템플릿별 스타일 적용

2. 사용자 프로필 수정 페이지 (중간)
   - 이름, 이메일 수정
   - 비밀번호 변경
   - 계정 삭제

3. 통계 대시보드 상세 (중간)
   - Chart.js 적용
   - 일별/주별/월별 그래프

4. SEO 최적화 (중간)
   - 사이트맵 생성
   - robots.txt
   - 구글 애널리틱스

================================================================================
[파일 구조]
================================================================================

/home/bizcard/public_html/
├── index.php (랜딩 페이지)
├── register.php (회원가입)
├── login.php (로그인)
├── logout.php (로그아웃)
├── dashboard.php (대시보드)
├── card-create.php (명함 생성)
├── card-edit.php (명함 수정)
├── card-delete.php (명함 삭제)
├── card-view.php (명함 보기)
├── vcard-download.php (vCard 다운로드)
├── .htaccess (URL 라우팅)
├── config/
│   ├── config.php (메인 설정)
│   └── db_config.php → /home/bizcard/private/config/db_config.php
├── includes/
│   ├── nav.php (공통 네비게이션)
│   └── qrcode_helper.php (QR코드 생성 헬퍼)
├── assets/
│   └── css/
│       └── style.css (공통 스타일시트)
├── uploads/
│   ├── profiles/ (프로필 이미지)
│   ├── logos/ (회사 로고)
│   └── qrcodes/ (QR코드)
└── vendor/
    └── phpqrcode/ (QR코드 라이브러리)

/home/bizcard/private/
└── config/
    └── db_config.php (DB 크리덴셜)

================================================================================