Skip to content

아이들과 생성형 AI가 함께하는 성장형 금융 습관 지도 서비스 | 🏆 신한 해커톤 우수상

Notifications You must be signed in to change notification settings

SolSolHigh/SolSolHigh-BE

Repository files navigation

SolSolHigh-BE

팀원 역할


이유승 김현진
인프라, 요구사항 구현, 테스팅 AI, API 문서 관리, 요구사항 구현, 테스팅

개발 환경


항목 버전
Java corretto 17.0.4.1
Spring Boot 3.3.2
Intellij Ultimate 2024.2
MySQL 8.3.0
Docker 24.0.2
nginx 1.26
redis 5.0.7
firebase cloud messaging 9.3.0

개발 도구


항목 도구
형상 관리 GitHub
협업 & 문서 관리 Notion
IDE Intellij

Tech Stack


Develop



Infra

환경 변수


./docker-compose.yml

services:
  solsol-app:
    container_name: solsol-app
    build: .
    ports:
      - "8080:8080"
    depends_on:
      - solsol-mysql
      - solsol-redis
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://solsol-mysql:3306/solsolhigh
      SPRING_DATASOURCE_USERNAME: "root"
      SPRING_DATASOURCE_PASSWORD: # DB 비밀번호 작성
      TZ: "Asia/Seoul"
    restart: always
    networks:
      - internal_network

  solsol-mysql:
    container_name: solsol-mysql
    image: mysql
    ports:
      - "3307:3306"
    environment:
      MYSQL_DATABASE: solsolhigh
      MYSQL_ROOT_HOST: '%'
      MYSQL_ROOT_PASSWORD: # DB 비밀번호 작성
      TZ: "Asia/Seoul"
    healthcheck:
      test: [ 'CMD-SHELL', 'mysqladmin ping -h 127.0.0.1 -u root --password=$MYSQL_ROOT_PASSWORD' ]
      interval: 10s
      timeout: 2s
      retries: 100
    volumes:
      - ~/solsol-high/database/mysql:/var/lib/mysql
    networks:
      - internal_network

  solsol-redis:
    image: redis
    container_name: solsol-redis
    ports:
      - "6380:6379"
    networks:
      - internal_network

networks:
  internal_network:

src/main/resources/application.yml

server:
  servlet:
    encoding:
      charset: UTF-8

spring:
  profiles:
    include: dev, oauth, secret
  jpa:
    show-sql: true
    open-in-view: false 
    hibernate:
      ddl-auto: none
    properties:
      hibernate:
        highlight_sql: true
        format_sql: true
        default_batch_fetch_size: 100
  sql:
    init:
      mode: always
  servlet:
    multipart:
      max-file-size: 50MB
      max-request-size: 50MB

src/main/resources/application-dev.yml

solsol:
  front:
    base: # 프론트 서버 주소

masterbank:
  api-key: # 싸피 금융망 api key
  base: # 싸피 금융망 api url
  institution-code: #기관 코드
  fintech-app-no: # 핀테크 앱 일렬번호

src/main/resources/application-oauth.yml

spring:
  security:
    oauth2:
      client:
        registration:
          naver:
            client-name: naver
            client-id: 
            client-secret: 
            redirect-uri: http://localhost:8080/login/oauth2/code/naver
            authorization-grant-type: authorization_code
            scope: name, email
          kakao:
            client-name: kakao
            client-id: 
            client-secret: 
            redirect-uri: http://localhost:8080/login/oauth2/code/kakao
            authorization-grant-type: authorization_code
            client-authentication-method: client_secret_post
            scope: account_email, name
        provider:
          naver:
            authorization-uri: https://nid.naver.com/oauth2.0/authorize
            token-uri: https://nid.naver.com/oauth2.0/token
            user-info-uri: https://openapi.naver.com/v1/nid/me
            user-name-attribute: response
          kakao:
            authorization-uri: https://kauth.kakao.com/oauth/authorize
            token-uri: https://kauth.kakao.com/oauth/token
            user-info-uri: https://kapi.kakao.com/v2/user/me
            user-name-attribute: id

application-secret.yml

spring:
  ai:
    openai:
      api-key: # openai 에서 발급받은 키

cloud:
  aws:
    credentials:
      access-key: # IAM 발급받은 엑세스 키
      secret-key: # IAM 발급받은 비밀 키
    s3:
      bucket: # s3 버킷이름
    region:
      static: # s3 지역
    stack:
      auto: false


빌드 및 실행방법


yaml 파일 모두 필요한 값들 채운 후 필요한 위치로 전송.
docker 설치 후 docker-compose.yml가 존재하는 경로로 이동.
docker-compose up -d 실행.

ERD

스크린샷 2024-08-31 오후 4 21 19

About

아이들과 생성형 AI가 함께하는 성장형 금융 습관 지도 서비스 | 🏆 신한 해커톤 우수상

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •