Skip to content

커플 웹사이트 - 팀프로젝트 (Java/JSP/Spring)

Notifications You must be signed in to change notification settings

JohnKim0911/Couple-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

UsTwo

💕 주제

  • 커플웹(couple-Web)
  • 커플들을 위한 다양한 기능을 제공하는 플랫폼.

사이트명: UsTwo

💑 기획 의도

기존 서비스의 단점:

  • 모바일앱은 많지만, 웹사이트 형태로 제공되는 서비스는 부족
  • 모바일앱의 기능이 제한적.

➡️ 더 다양한 기능을 제공하는 웹사이트를 만들자.

🏆역할

  • 김동규
    • 캘린더
      • 공휴일 데이터 가져오기 (Google Calendar API)
      • 화면구현 (FullCalendar JS Library)
        • 년/월/주/일 별 일정 CRUD
        • 드래그를 통한 일정 등록가능
      • 일정알림 모바일 문자보내기 (Twilio API)
      • 내일정 / 상대방일정 / 공유일정 CRUD
      • 캘린더별 기본색상 설정기능
    • 마인드맵
      • 화면구현 (Go JS Library)
      • 마인드맵 CRUD
    • 마이페이지
      • 초대코드 카카오톡 공유 (Kakao API)
        • 공유된 링크 클릭시 회원가입 양식에 초대코드 자동기입
      • 탈퇴 30일 후 계정 및 커플정보 영구삭제 (DBMS Scheduler을 통한 자동화)
      • 회원정보 조회 & 변경 / 회원탈퇴 / 계정복구
      • 초대코드 검증 및 커플 매칭 로직
      • 로그인 전 / 후 페이지 화면구현. 경우의 수에 따라 화면 처리
        • 로그인 전 : 웹사이트 전반에 대한 기능 설명
        • 로그인 후 :
          • 커플인 경우, 커플 홈으로 이동
          • 커플 아닌경우, 마이페이지로 리다이렉트 (초대코드 공유/등록화면)
          • 커플인데 탈퇴신청한 경우, 마이페이지로 리다이렉트 (탈퇴대기화면)
      • 만난지 몇일 D-DAY 카운트
      • 커플 정보 조회/변경

🔑 ERD 설계

erd_mypart

  • 빨간색으로 마킹된 부분을 담당하였습니다.
  • 외부 library 및 api 사용에 초점을 맞춰서 상대적으로 적은 DB테이블을 사용하였습니다.

🔎 개발 환경

  • Back-End : Java 11, JSP & Servlet, Spring, Mybatis
  • DBMS : Oracle
  • WAS : Apache Tomcat 9.0
  • Front-End : HTML5, CSS3, JavaScript, JQuery, Ajax
  • Tool : STS, Eclipse, SQL Developer, Visual Studio
  • Collaboration : Git, SourceTree
  • OS : Windows 10

🕓 개발 기간: 2024.09.11 ~ 2024.10.25

  • 2024.09.11 ~ 2024.09.18 : 프로젝트 주제 선정
  • 2024.09.19 ~ 2024.09.22 : 요구사항 분석 및 구현할 목표 설정
  • 2024.09.23 ~ 2024.10.03 : 화면 설계 및 데이터 설계
  • 2024.10.04 ~ 2024.10.24 : 화면 구현, 기능개발, 프로젝트 검수 및 테스트
  • 2024.10.25 : 프로젝트 발표

👊프로젝트 구현

❤ 김동규

🔴 캘린더

일정조회
  • 공휴일 가져오기 (Google Calendar API). // 빨간색 일정이 공휴일.
  • 화면구현 (FullCalendar JS Library)
  • 년/월/주/일/목록별 조회

Calendar_view

일정 알림문자 발신

Twilio API 사용

Calendar_textAlert

핸드폰 받은문자메시지

sms message
일정 CRUD
  • 월/주/일/년별 View에서 일정 추가
  • 일정 수정/삭제

Calendar_CRUD

캘린더별 조회/수정
  • 모든일정 / 우리일정 / 내일정 / 상대방일정별 조회
  • 캘린더별 기본색상 변경

Calendar_Cal ReadUpdate

🔴 마인드맵

  • 화면구현 (Go JS Library)
  • 마인드맵 CRUD

mindmap

🔴 마이페이지

초대코드 카카오톡 공유

Kakao API 사용

myPage_inviteCode_kakaoShare

탈퇴 30일 후 계정영구삭제
  • DBMS Scheduler을 통한 자동화
  • 매일 밤 12시에 탈퇴신청 30일된 계정을 자동 삭제

탈퇴30일후_계정영구삭제

계정 자동영구삭제 SQL문
-- 탈퇴신청 30일 후 계정영구삭제, 안쓰는 커플코드 영구삭제. 매일 밤 12시에 실행됨 
BEGIN
    DBMS_SCHEDULER.create_job (
        job_name        => 'DELETE_INACTIVE_MEMBERS_JOB',
        job_type        => 'PLSQL_BLOCK',
        job_action      => 'BEGIN
                                DELETE FROM C_MEMBER
                                WHERE status = ''N''
                                AND modify_date <= SYSDATE - 30;

                                DELETE FROM C_COUPLE
                                WHERE couple_code IN (
                                    SELECT cc.couple_code
                                    FROM C_COUPLE cc
                                    LEFT JOIN C_MEMBER cm ON cc.couple_code = cm.couple_code
                                    WHERE cm.couple_code IS NULL
                                );
                            END;',
        start_date      => SYSTIMESTAMP,
        repeat_interval  => 'FREQ=DAILY; BYHOUR=0; BYMINUTE=0; BYSECOND=0',
        enabled         => TRUE
    );
END;
/
커플 등록/삭제

커플 등록

myPage_couple_register

계정 삭제 & 커플 해제

myPage_cancelAccount

회원 조회/변경

myPage_edit

🔴 홈

커플정보 조회/수정

memberHome_edit

로그인 전/후 화면구현

로그인 전

guestHome

로그인 후

  • 만난지 몇일인지 D-DAY 카운트 기능 포함

memberHome

ℹ️ 참고

About

커플 웹사이트 - 팀프로젝트 (Java/JSP/Spring)

Topics

Resources

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •