본문 바로가기

내일배움캠프

뉴스피드 프로젝트 1일차

지금껏 배운 지식들을 바탕으로 팀을 만들어서 프로젝트를 진행하기로 했다.

이번 프로젝트의 주제는 ott 구독 공유 플랫폼이다. 넷플릭스, 디즈니+등등 유명 ott를 사용할 4명을 모아서 쉐어링 할 수 있도록 중개해주는 웹 애플리케이션을 만들 것이다.

와이어프레임1
와이어프레임2
와이어프레임3
ER-Diagram
API 명세서(Request, Response 구조는 너무 길어져서 패스)

ER-Diagram, 와이어프레임, API 명세서를 모두 완성했으니 본격적인 개발을 위해 개발 환경을 구축하기로 했다.

사용할 기술로는 Java 기반의 Spring Boot 3.3.0을 사용했다. DBMS는 h2 데이터베이스를 사용하기로 했다.

h2데이터베이스는 다른 RDBMS처럼 서버 본체에 DBMS를 설치하고 실행하는 과정이 없기 때문에 상대적으로 간편하고 백그라운드에서 db가 별도로 가동시킬 필요가 없기 때문에 서버의 자원을 절약할 수 있다는 장점이 있었다. 그래서 기존에 자주 사용 하던 MySQL대신 처음 써보는 h2를 써보기로 했다.

 

spring:
  application:
    name: "newsfeed"
  datasource:
    url: ${DB_PATH}
    username: ${DB_USER}
    password: ${DB_PASSWORD}
  jpa:
    database-platform: org.hibernate.dialect.H2Dialect
    hibernate:
      ddl-auto: update
    properties:
      hibernate:
        show_sql: true
        format_sql: true
        use_sql_comments: true
  h2:
    console:
      enabled: true
      settings:
        web-allow-others: true
server:
  port: 8081

logging:
  level:
    root: INFO
    org.hibernate.SQL: DEBUG
    org.hibernate.type: TRACE
    org.springframework.security: DEBUG
    reactor:
      netty: DEBUG

jwt:
  secret:
    key: "{시크릿 키}"
  expiry-millis: 300000 # 5?

db의 url, 사용자이름, 비밀번호는 spring boot 애플리케이션 환경변수에 등록해 뒀다.

spring security를 사용할 거여서 config 클래스를 다 만들고 h2가 잘 작동하는지 테스트 하기 위해 User라는 테이블을 만들려고 했다. 그런데 왜인지 에러를 뿜으면서 실행이 되지 않았다.

자세히 보니 user라는 테이블 이름을 엉뚱한 값으로 인식하는 것 같았다.

그래서 테이블 이름을 users로 바꿨다.

이번에는 특별한 에러 없이 테이블이 잘 생성되었다.

아마도 user라는 예약어가 h2 sql에 존재하기 때문에 정상적으로 만들어지지 않은 것 같다.

 

다음날에는 본격적으로 어떤 api를 누가 구현할 것인지 팀원끼리 역할을 분배하고 개발에 착수할 것이다.

'내일배움캠프' 카테고리의 다른 글

뉴스피드 프로젝트 4일차  (0) 2024.06.11
뉴스피드 프로젝트 2일차  (0) 2024.06.07
Spring 숙련주차 Part4  (2) 2024.06.03
3진법 뒤집기  (0) 2024.05.31
최대공약수와 최소공배수 구하기  (0) 2024.05.31