Skip to content
@SolSolHigh

SolSolHigh

FE

ํŒ€์› ์—ญํ• 


์ด๋ฆ„ ์—ญํ• 
์กฐ์„ฑ์šฐ Mocking, API ์„ค๊ณ„ ๋ฐ ๊ด€๋ฆฌ, ์š”๊ตฌ์‚ฌํ•ญ ๊ตฌํ˜„
์–‘๊ทœํ˜„ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ, Storybook ๊ด€๋ฆฌ, ์š”๊ตฌ์‚ฌํ•ญ ๊ตฌํ˜„
์ตœ์š”ํ•˜ ์ธํ”„๋ผ, ๊นƒํ—ˆ๋ธŒ ๊ด€๋ฆฌ, ์š”๊ตฌ์‚ฌํ•ญ ๊ตฌํ˜„

๊ฐœ๋ฐœ ํ™˜๊ฒฝ


ํ•ญ๋ชฉ ๋ฒ„์ „
Node 20.16.0
Npm 10.8.1
React 18
TypeScript 5.5.4
Visual Studio Code 1.92

๊ฐœ๋ฐœ ๋„๊ตฌ


ํ•ญ๋ชฉ ๋„๊ตฌ
ํ˜•์ƒ ๊ด€๋ฆฌ GitHub
ํ˜‘์—… & ๋ฌธ์„œ ๊ด€๋ฆฌ Notion
๋””์ž์ธ Figma
IDE Visual Studio Code

Tech Stack


Develop

reactโ€ƒ typescriptโ€ƒ storybookโ€ƒ tailwindcssโ€ƒ tanstack-queryโ€ƒ recoilโ€ƒ

CI/CD

githubactionsโ€ƒ dockerโ€ƒ nginxโ€ƒ ec2


Wiki


Project Convention
GitHub Convention



๋นŒ๋“œ ๋ฐ ์‹คํ–‰ ๋ฐฉ๋ฒ•


#!/bin/bash
cd ~/solsol-high/static
git fetch origin
git checkout $1
git pull origin $1
cd ~/solsol-high/static/ssh-web
npm install
npm run build
  • ์œ„์˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ์‰˜ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ ์›น ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐฐํฌํ•˜๊ณ ์ž ํ•˜๋Š” ์„œ๋ฒ„์— ์‹ฌ์–ด๋†“๋Š”๋‹ค.
name: SolSolHigh-FE Deploy

on:
  push:
    branches: develop

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      # stage : ssh
      - name: SSH
        uses: appleboy/ssh-action@v1.0.3
        with:
          host: ${{ secrets.SSH_KRO_HOST }}
          username: ${{ secrets.SSH_KRO_USERNAME }}
          password: ${{ secrets.SSH_PASSWORD }}
          script: |
            cd ~/solsol-high
            ./static.sh develop
  • develop ๋ธŒ๋žœ์น˜์— push ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์„œ๋ฒ„๋กœ ํ†ตํ•ฉ ํ›„ ๋ฐฐํฌ
  • ์›น ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐฐํฌํ•˜๊ณ ์ž ํ•˜๋Š” ์„œ๋ฒ„์— SSH ๋กœ ์ ‘์†ํ•œ๋‹ค.
  • ์œ„์—์„œ ์ž‘์„ฑํ•œ ์‰˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰์‹œํ‚จ๋‹ค.




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

Popular repositories Loading

  1. SolSolHigh-FE SolSolHigh-FE Public

    TypeScript

  2. SolSolHigh-BE SolSolHigh-BE Public

    ์•„์ด๋“ค๊ณผ ์ƒ์„ฑํ˜• AI๊ฐ€ ํ•จ๊ป˜ํ•˜๋Š” ์„ฑ์žฅํ˜• ๊ธˆ์œต ์Šต๊ด€ ์ง€๋„ ์„œ๋น„์Šค | ๐Ÿ† ์‹ ํ•œ ํ•ด์ปคํ†ค ์šฐ์ˆ˜์ƒ

    Java

  3. .github .github Public

Repositories

Showing 3 of 3 repositories

Top languages

Loadingโ€ฆ

Most used topics

Loadingโ€ฆ