Skip to content

데이터베이스 과목 팀프로젝트 레포지토리입니다.

Notifications You must be signed in to change notification settings

im2sh/DATABASE-PROJECT-COMP-322

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DATABASE-PROJECT-COMP-322

🐶 투개더 프론트엔드

시작하기

사전 요구 사항

프론트엔드

npm install npm@latest -g

설치하기

개발 환경을 실행하는 방법에 대한 단계별 예시입니다.

먼저, 저장소를 클론합니다.

git clone https://github.com/im2sh/DATABASE-PROJECT-COMP-322.git

그 다음, 디렉토리를 'phase-4/togaether/src/main/frontend'로 변경합니다.

의존성 설치를 진행합니다.

npm install

애플리케이션을 실행하려면 아래 명령어를 입력하세요.

npm run start

이렇게 하면 앱이 개발 모드로 실행됩니다. 브라우저에서 http://localhost:3000을 열어서 접속할 수 있습니다.

사용된 라이브러리

이 프로젝트에 사용된 라이브러리/프레임워크와 버전들입니다.

🐶 투개더 백엔드

개발 환경

[OS]
MAC Sonoma 14.0

[Language]
Java 17.0.6

[Framework]
Spring Boot : 3.1.5
Spring-Data-JPA
Spring-Web
Swagger : 3.0.0
Lombok : 1.18.28
Ojdbc : 11 version : 23.2.0.0

[IDE]
IntelliJ IDEA 2023.2.5 (Ultimate Edition)
Build #IU-232.10227.8, built on November 9, 2023
Runtime version: 17.0.9+7-b1000.46 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.

DBMS

Oracle 버전: Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
SQLPLUS 버전: PL/SQL Release 21.0.0.0.0 - Production
Oracle SQL Developer 버젼: 22.2.0.173
Oracle SQL Developer 빌드: 173.2018

SQL

DDL : phase-4/togaether/src/main/resources/sql/Team12_Phase4_DDL.sql
DML : phase-4/togaether/src/main/resources/sql/Team12_Phase4_Insert.sql

실행 방법

01-SDK 설정

File > Project > Project Structure에서

  1. Projects > SDK > 17 Oracle OpenJDK version 17.0.6
  2. Modules > Module SDK > Project SDK 17

선택 후, OK

02-Gradle 설정

Settings > Gradle > Gradle JVM: 17 Oracle OpenJDK version 17.0.6

선택 후, OK

03-데이터베이스 연결

  1. Team12_Phase4_DDL, Team12_Phase4_Insert 실행 완료된 DB 준비
  2. main > resources 에서 application settings.properties 파일 생성 후, #encoding, #dbms, #jpa 정보 입력
  3. src > java > api > service > TogetherApplication 접속 및 실행

수정

DDL 변경

  1. Team12_Phase4_DDL.sql 파일 수정
    • 기존에 Diary와 Place는 N:M 관계로 되어 있어서, 중간 테이블인 Contains가 존재
      • 투개더의 서비스는 하나의 일기에 하나의 장소에 종속적인 관계이기 때문에, Diary와 Place는 1:N 관계로 변경
      • 따라서, Contains 테이블 삭제

    • Pet PK를 부여
      • 기능 확장을 고려하여 Sequence한 Key값을 가지고 있어야 한다고 판단
      • 기존에 User_ID와 petName의 조합하여 복합키로 가지고 있었으나, Pet_ID을 생성하여 PK를 부여

    • 새로운 데이터 삽입을 위해 1씩 증가하는 무결성 제약 조건을 가지는 Sequence 생성
      • Diary_ID, Pet_ID, User_ID



DML 변경

  1. Team12_Phase4_Insert.sql 파일 수정
    • DDL의 변경으로 인해, Insert 또한 파일 수정이 발생
    • 자바에 있는 LocalDateTime 객체를 이용하여 생성 날짜를 생성하고 저장하는 과정에서 Oracle DB와 호환이 되지 않아, Data Field에 TO_DATE 추가
      • e.g. TO_DATE('2021-10-01', 'YYYY-MM-DD')
    • Contains 삭제에 따라 Diary FK 설정 변경
    • Pet PK 부여에 따라 PET ID 설정 변경

About

데이터베이스 과목 팀프로젝트 레포지토리입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •