Skip to content
/ Sol-Food Public template

๐Ÿฅช์ ํ‘ธ๋“œ ํ”„๋กœ์ ํŠธ๐Ÿฅช

Notifications You must be signed in to change notification settings

SHDS-ESC/Sol-Food

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

698 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿฝ๏ธ Sol-Food - ํ™๋Œ€ ์ฃผ๋ณ€ ๋ง›์ง‘ ๋ฆฌ๋ทฐ ํ”Œ๋žซํผ

์ด์ƒ์œค ๋ฐ•์ง€์› ์˜ค๊ฐ€ํฌ ์ด์„ ์šฐ ์•ˆ๋ฏผ์„

Java Spring MyBatis Oracle MariaDB Maven

ํ™๋Œ€์ž…๊ตฌ์—ญ ์ฃผ๋ณ€ ๋ง›์ง‘ ์ •๋ณด์™€ ๋ฆฌ๋ทฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์›น ํ”Œ๋žซํผ

๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ โ€ข ๐Ÿ“‹ ๊ธฐ๋Šฅ โ€ข ๐Ÿ—๏ธ ์•„ํ‚คํ…์ฒ˜ โ€ข ๐Ÿ› ๏ธ ๊ธฐ์ˆ -์Šคํƒ


๐Ÿ“– ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

Sol-Food๋Š” ํ™๋Œ€์ž…๊ตฌ์—ญ ์ฃผ๋ณ€์˜ ๋‹ค์–‘ํ•œ ๋ง›์ง‘ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ณ , ์‚ฌ์šฉ์ž๋“ค์ด ์ง์ ‘ ๋ฆฌ๋ทฐ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์›น ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์นด์นด์˜ค Local API๋ฅผ ํ™œ์šฉํ•œ ์ž๋™ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘, ์‚ฌ์šฉ์ž ์ฐธ์—ฌํ˜• ๋ฆฌ๋ทฐ ์‹œ์Šคํ…œ, ๊ฐ•๋ ฅํ•œ ๊ด€๋ฆฌ์ž/์ ์ฃผ/์‚ฌ์šฉ์ž ๊ถŒํ•œ ๋ถ„๋ฆฌ, ๊ฒฐ์ œ ๊ด€๋ฆฌ ๋“ฑ ์‹ค์ „ ์„œ๋น„์Šค ์ˆ˜์ค€์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽฏ ์ฃผ์š” ํŠน์ง•

  • ๐Ÿ—บ๏ธ ์นด์นด์˜ค๋งต ์—ฐ๋™: ์‹ค์‹œ๊ฐ„ ์œ„์น˜ ๊ธฐ๋ฐ˜ ๋ง›์ง‘ ๊ฒ€์ƒ‰
  • ๐Ÿค– ์ž๋™ ํฌ๋กค๋ง: ์นด์นด์˜ค Local API๋ฅผ ํ†ตํ•œ ๋ง›์ง‘ ์ •๋ณด ์ž๋™ ์ˆ˜์ง‘
  • โญ ๋ณ„์  ์‹œ์Šคํ…œ: 5์  ๋งŒ์  ๋ฆฌ๋ทฐ ๋ฐ ํ‰๊ท  ๋ณ„์  ์ œ๊ณต
  • ๐Ÿ“ฑ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ: ๋ชจ๋ฐ”์ผ๊ณผ ๋ฐ์Šคํฌํ†ฑ ๋ชจ๋‘ ์ง€์›
  • ๐Ÿ‘ฅ ๋‹ค์ค‘ ์‚ฌ์šฉ์ž: ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž, ์ ์ฃผ, ๊ด€๋ฆฌ์ž ๊ถŒํ•œ ๋ถ„๋ฆฌ

๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ

๐Ÿ“‹ ์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ

  • Java 11 ์ด์ƒ
  • Maven 3.6 ์ด์ƒ
  • Oracle Database 19c ๋˜๋Š” MariaDB 3.5.3
  • ์นด์นด์˜ค ๊ฐœ๋ฐœ์ž ๊ณ„์ • (Local API ํ‚ค ํ•„์š”)

๐Ÿ”ง ์„ค์น˜ ๋ฐ ์‹คํ–‰

  1. ์ €์žฅ์†Œ ํด๋ก 

    git clone https://github.com/your-username/sol-food.git
    cd sol-food
  2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ •

    -- Oracle ๋˜๋Š” MariaDB์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ
    CREATE DATABASE sol_food;
  3. ์„ค์ • ํŒŒ์ผ ๊ตฌ์„ฑ

    # src/main/resources/application.properties
    db.driver=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
    db.url=jdbc:log4jdbc:mariadb://YOUR_IP:YOUR_PORT_NUMBER/YOUR_DB_NAME
    db.username=YOUR_DB_USER_NAME
    db.password=YOUR_DB_PASSWORD
    server.ip=YOUR_IP
    server.port=YOUR_PORT_NUMBER
    
    
    # ์นด์นด์˜ค API ํ‚ค ์„ค์ •
    kakao.restApiKey=YOUR_KAKAO_RESTAPI_KEY
    kakao.jsApiKey=YOUR_KAKAO_JS_KEY
  4. ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ๋ฐ ์‹คํ–‰

    mvn clean install
    mvn spring-boot:run
  5. ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ ‘์†

    http://YOUR_IP:YOUR_PORT_NUMBER
    

๐Ÿ“‹ ์ฃผ์š” ๊ธฐ๋Šฅ

๐Ÿ‘ค ์‚ฌ์šฉ์ž ๊ธฐ๋Šฅ

  • ๋ง›์ง‘ ๊ฒ€์ƒ‰: ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„, ์œ„์น˜๋ณ„ ๋ง›์ง‘ ๊ฒ€์ƒ‰
  • ๋ฆฌ๋ทฐ ์ž‘์„ฑ: ๋ณ„์ , ์‚ฌ์ง„, ํ…์ŠคํŠธ ๋ฆฌ๋ทฐ ์ž‘์„ฑ
  • ๋ฆฌ๋ทฐ ์กฐํšŒ: ๊ฐ€๊ฒŒ๋ณ„ ๋ฆฌ๋ทฐ ๋ชฉ๋ก ๋ฐ ์ƒ์„ธ ๋ณด๊ธฐ
  • ๋งˆ์ดํŽ˜์ด์ง€: ๊ฐœ์ธ ์ •๋ณด ๊ด€๋ฆฌ ๋ฐ ๋‚ด ๋ฆฌ๋ทฐ ๊ด€๋ฆฌ

๐Ÿช ์ ์ฃผ ๊ธฐ๋Šฅ

  • ๊ฐ€๊ฒŒ ๊ด€๋ฆฌ: ๊ฐ€๊ฒŒ ์ •๋ณด ๋“ฑ๋ก ๋ฐ ์ˆ˜์ •
  • ๋ฉ”๋‰ด ๊ด€๋ฆฌ: ๋ฉ”๋‰ด ๋“ฑ๋ก, ์ˆ˜์ •, ์‚ญ์ œ
  • ๋ฆฌ๋ทฐ ๋ชจ๋‹ˆํ„ฐ๋ง: ๊ฐ€๊ฒŒ ๋ฆฌ๋ทฐ ํ˜„ํ™ฉ ํ™•์ธ

๐Ÿ‘จโ€๐Ÿ’ผ ๊ด€๋ฆฌ์ž ๊ธฐ๋Šฅ

  • ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ: ํšŒ์› ์ •๋ณด ์กฐํšŒ ๋ฐ ๊ด€๋ฆฌ
  • ๊ฐ€๊ฒŒ ํฌ๋กค๋ง: ์นด์นด์˜ค API๋ฅผ ํ†ตํ•œ ์ž๋™ ๊ฐ€๊ฒŒ ์ •๋ณด ์ˆ˜์ง‘
  • ํ†ต๊ณ„ ๋Œ€์‹œ๋ณด๋“œ: ์‚ฌ์šฉ์ž ํ™œ๋™ ๋ฐ ๊ฐ€๊ฒŒ ํ†ต๊ณ„ ํ™•์ธ
  • ๊ฒฐ์ œ ๊ด€๋ฆฌ: ํ†ตํ•ฉ๊ฒฐ์ œ ๋‚ด์—ญ ์กฐํšŒ ๋ฐ ์ƒ์„ธ ํŽ˜์ด์ง€

๐Ÿ“ ํด๋”/๋ชจ๋“ˆ ๊ตฌ์กฐ ๋ฐ ์—ญํ• 

src/main/java/kr/co/solfood/
โ”œโ”€โ”€ user/      # ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž(๋กœ๊ทธ์ธ, ๊ฒŒ์‹œํŒ, ๋งˆ์ดํŽ˜์ด์ง€, ๋ฆฌ๋ทฐ, ์นดํŠธ, ๊ฐ€๊ฒŒ, ๋ฉ”๋‰ด, ์ข‹์•„์š”, ๊ฒŒ์ž„, ์นดํ…Œ๊ณ ๋ฆฌ ๋“ฑ)
โ”œโ”€โ”€ owner/     # ์ ์ฃผ(๋กœ๊ทธ์ธ, ๊ฐ€๊ฒŒ, ๋ฆฌ๋ทฐ, ๋ฉ”๋‰ด)
โ”œโ”€โ”€ admin/     # ๊ด€๋ฆฌ์ž(ํ™ˆ, ๋กœ๊ทธ์ธ, ํฌ๋กค๋Ÿฌ, DTO, ๊ฒฐ์ œ๊ด€๋ฆฌ ๋“ฑ)
โ”œโ”€โ”€ payments/  # ๊ฒฐ์ œ(ํ†ตํ•ฉ๊ฒฐ์ œ, ๋‹จ์ผ๊ฒฐ์ œ, ๊ณตํ†ต, ์ถฉ์ „ ๋“ฑ)
โ”œโ”€โ”€ common/    # ๊ณตํ†ต ์ƒ์ˆ˜, S3 ๋“ฑ
โ”œโ”€โ”€ util/      # ์˜ˆ์™ธ, ํŽ˜์ด์ง•, ์—๋Ÿฌ์ฝ”๋“œ ๋“ฑ ์œ ํ‹ธ๋ฆฌํ‹ฐ

src/main/resources/kr/co/solfood/
โ”œโ”€โ”€ user/      # ์‚ฌ์šฉ์ž ๋งคํผ(Board, Login, Store, Review, Mypage ๋“ฑ)
โ”œโ”€โ”€ owner/     # ์ ์ฃผ ๋งคํผ
โ”œโ”€โ”€ admin/     # ๊ด€๋ฆฌ์ž ๋งคํผ(Home, Login)
โ”œโ”€โ”€ payments/  # ๊ฒฐ์ œ ๋งคํผ(Payment, Integrated, Charge)

src/main/webapp/WEB-INF/views/
โ”œโ”€โ”€ user/      # ์‚ฌ์šฉ์ž JSP(๋กœ๊ทธ์ธ, ๊ฒŒ์‹œํŒ, ๊ฐ€๊ฒŒ, ๋งˆ์ดํŽ˜์ด์ง€, ๋ฆฌ๋ทฐ, ์นดํŠธ, ๊ฒŒ์ž„ ๋“ฑ)
โ”œโ”€โ”€ owner/     # ์ ์ฃผ JSP(๊ฐ€๊ฒŒ, ๋ฉ”๋‰ด, ๋ฆฌ๋ทฐ, ๋งค์ถœ ๋“ฑ)
โ”œโ”€โ”€ admin/     # ๊ด€๋ฆฌ์ž JSP(ํ™ˆ, ์‚ฌ์šฉ์ž/์ ์ฃผ/๊ฒฐ์ œ/๋ฆฌ๋ทฐ ๊ด€๋ฆฌ, ๋กœ๊ทธ์ธ ๋“ฑ)
โ”‚   โ””โ”€โ”€ payment-management/ (home.jsp, detail.jsp)
โ”œโ”€โ”€ common/    # ๊ณตํ†ต ํ—ค๋” ๋“ฑ

src/main/webapp/js/admin/
โ”œโ”€โ”€ payment-management.js  # ๊ฒฐ์ œ๊ด€๋ฆฌ JS
โ”œโ”€โ”€ user-management.js     # ์‚ฌ์šฉ์ž๊ด€๋ฆฌ JS
โ”œโ”€โ”€ owner-management.js    # ์ ์ฃผ๊ด€๋ฆฌ JS

src/main/webapp/css/admin/
โ”œโ”€โ”€ payment-management.css  # ๊ฒฐ์ œ๊ด€๋ฆฌ CSS
โ”œโ”€โ”€ user-management.css     # ์‚ฌ์šฉ์ž๊ด€๋ฆฌ CSS
โ”œโ”€โ”€ owner-management.css    # ์ ์ฃผ๊ด€๋ฆฌ CSS


๐Ÿ—๏ธ ์•„ํ‚คํ…์ฒ˜ ๋ฐ ๋ฐ์ดํ„ฐ ํ๋ฆ„

์‚ฌ์šฉ์ž/๊ด€๋ฆฌ์ž ์š”์ฒญ
  โ†“
Controller (ex: AdminHomeController)
  โ†“
Service (ex: AdminHomeService)
  โ†“
Mapper (MyBatis, ex: AdminMapper.xml, PaymentMapper.xml ๋“ฑ)
  โ†“
DB
  โ†‘
Model(DTO) โ†’ JSP View (ex: payment-management/detail.jsp)
  • ๊ฒฐ์ œ ์ƒ์„ธ: PageMaker๋กœ ์—ฌ๋Ÿฌ ๊ฒฐ์ œ ์ •๋ณด ๋ฆฌ์ŠคํŠธ ์ „๋‹ฌ
  • JSP์—์„œ forEach๋กœ ๋ฐ˜๋ณต, ๊ฐ ์ธ์›๋ณ„ ์ƒ์„ธ๋ฅผ ์•„์ฝ”๋””์–ธ+์นด๋“œ๋กœ ์ถœ๋ ฅ
  • DTO์˜ ๋‚ ์งœ ํ•„๋“œ๋Š” LocalDateTime โ†’ JSP์—์„œ ๋ฌธ์ž์—ด๋กœ ์ถœ๋ ฅ
  • ๋งคํผ XML์€ src/main/resources/kr/co/solfood/ ํ•˜์œ„์— ๊ธฐ๋Šฅ๋ณ„๋กœ ๋ถ„๋ฆฌ

๐ŸŒŸ ๊ฒฐ์ œ๊ด€๋ฆฌ ์ƒ์„ธ ํŽ˜์ด์ง€ (๊ด€๋ฆฌ์ž)

  • ๊ฒฝ๋กœ: /admin/payment-management/detail?integratedpaymentId=...
  • ๊ธฐ๋Šฅ:
    • ํ†ตํ•ฉ๊ฒฐ์ œID๋กœ ์—ฌ๋Ÿฌ ์ธ์›์˜ ๊ฒฐ์ œ ๋‚ด์—ญ์„ ํ•œ ๋ฒˆ์— ์กฐํšŒ
    • ๊ฐ ์ธ์›์˜ ๊ฒฐ์ œ ์ƒ์„ธ๋ฅผ ์•„์ฝ”๋””์–ธ(ํ† ๊ธ€)์œผ๋กœ ํŽผ์ณ์„œ ํ™•์ธ
    • ๊ฒฐ์ œ ์ •๋ณด(๊ธˆ์•ก, ์ƒํƒœ, ์ˆ˜๋‹จ ๋“ฑ), ๊ฒฐ์ œ์ž ์ •๋ณด, ์‚ฌ์šฉ์ž ์ •๋ณด(ํ”„๋กœํ•„ ํฌํ•จ) ๋“ฑ ์„น์…˜๋ณ„ ์นด๋“œ๋กœ ๊ตฌ๋ถ„
    • Bootstrap 5 ์ ์šฉ, ๋ฐ˜์‘ํ˜•/์ปฌ๋Ÿฌ/์•„์ด์ฝ˜/๋ฑƒ์ง€ ๋“ฑ ์‹œ๊ฐ์  ๊ฐ•์กฐ
    • ์˜์ˆ˜์ฆ ๋ฐ”๋กœ๊ฐ€๊ธฐ, ๊ฒฐ์ œ ์ทจ์†Œ ๋“ฑ ์•ก์…˜ ๋ฒ„ํŠผ
    • ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ์‚ฌ์šฉ์ž ์นœํ™”์  ์•ˆ๋‚ด

๐Ÿ“„ JSP ๊ตฌ์กฐ ์˜ˆ์‹œ

<div class="accordion" id="paymentAccordion">
  <c:forEach var="detail" items="${paymentDetail.list}" varStatus="status">
    <div class="accordion-item">
      <h2 class="accordion-header" id="heading${status.index}">
        <button class="accordion-button collapsed" ...>
          <span class="me-2">๐Ÿ’ณ</span> <b>${detail.usersName}</b> <span class="text-muted">/ ๊ฒฐ์ œID: ${detail.paymentId}</span>
        </button>
      </h2>
      <div id="collapse${status.index}" ...>
        <div class="accordion-body">
          <div class="row g-4">
            <div class="col-md-6"> ...๊ฒฐ์ œ ์ •๋ณด ์นด๋“œ... </div>
            <div class="col-md-6"> ...๊ฒฐ์ œ์ž ์ •๋ณด ์นด๋“œ... </div>
          </div>
          <hr/>
          <div class="row g-4">
            <div class="col-md-12"> ...์‚ฌ์šฉ์ž ์ •๋ณด ์นด๋“œ... </div>
          </div>
        </div>
      </div>
    </div>
  </c:forEach>
</div>

๐Ÿ› ๏ธ ๊ธฐ์ˆ  ํฌ์ธํŠธ

  • Bootstrap 5 CDN ์ ์šฉ (CSS/JS)
  • JSTL forEach, ์กฐ๊ฑด๋ฌธ, ๋ฑƒ์ง€/์•„์ด์ฝ˜/์ปฌ๋Ÿฌ ๋“ฑ ์ ๊ทน ํ™œ์šฉ
  • DTO์˜ LocalDateTime์€ JSP์—์„œ ๋ฌธ์ž์—ด๋กœ ์ถœ๋ ฅ (formatDate ์‚ฌ์šฉ X)
  • ์ปจํŠธ๋กค๋Ÿฌ์—์„œ PageMaker๋กœ ๋ฆฌ์ŠคํŠธ ์ „๋‹ฌ, JSP์—์„œ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์ถœ๋ ฅ
  • ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ 500 ์—๋Ÿฌ ์•ˆ๋‚ด ๋ฐ ์›์ธ(๋‚ ์งœ ํƒ€์ž… ๋“ฑ) ๋ช…ํ™•ํžˆ ์ฒ˜๋ฆฌ

๐Ÿ› ๏ธ ์‚ฌ์šฉ ๊ธฐ์ˆ /๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

Backend

  • Java 11, Spring Framework 5.2.25, Spring MVC, MyBatis 3.5.19, HikariCP 6.3.0
  • Lombok, JUnit5, Mockito, log4jdbc

Database

  • Oracle 19c, MariaDB 3.5.3

Frontend

  • JSP, JSTL, Bootstrap 5, Kakao Maps API, jQuery(์ผ๋ถ€), CSS/JS ๋ถ„๋ฆฌ

์™ธ๋ถ€ API

  • Kakao Local API, Kakao Maps JavaScript API

๊ธฐํƒ€

  • S3 ํŒŒ์ผ ์—…๋กœ๋“œ, ํŽ˜์ด์ง• ์œ ํ‹ธ, ์ปค์Šคํ…€ ์˜ˆ์™ธ/์—๋Ÿฌ์ฝ”๋“œ, ์„ธ์…˜/์ธํ„ฐ์…‰ํ„ฐ ๋ณด์•ˆ ๋“ฑ

๐Ÿงฉ DTO/๋งคํผ/์ปจํŠธ๋กค๋Ÿฌ/๋ทฐ ์—ฐ๋™

  • DTO๋Š” ๊ธฐ๋Šฅ๋ณ„๋กœ src/main/java/kr/co/solfood/*/dto/์— ์œ„์น˜
  • ๋งคํผ XML์€ src/main/resources/kr/co/solfood/*/์— ์œ„์น˜, ๊ธฐ๋Šฅ๋ณ„๋กœ ๋ถ„๋ฆฌ
  • ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๊ฐ ๋„๋ฉ”์ธ๋ณ„๋กœ ๋ถ„๋ฆฌ, Model์— DTO/๋ฆฌ์ŠคํŠธ/ํŽ˜์ด์ง• ๊ฐ์ฒด ์ „๋‹ฌ
  • JSP๋Š” forEach, ์กฐ๊ฑด๋ฌธ, Bootstrap ์นด๋“œ/์•„์ฝ”๋””์–ธ ๋“ฑ์œผ๋กœ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”
  • JS/CSS๋Š” ๊ธฐ๋Šฅ๋ณ„๋กœ ๋ถ„๋ฆฌ, ๊ด€๋ฆฌ์ž ๊ฒฐ์ œ๊ด€๋ฆฌ ์ „์šฉ payment-management.js/css ์กด์žฌ

๐Ÿ›ก๏ธ ์—๋Ÿฌ ์ฒ˜๋ฆฌ/๋ณด์•ˆ

  • LocalDateTime ๋“ฑ ๋‚ ์งœ ํƒ€์ž…์€ JSP์—์„œ ๋ฌธ์ž์—ด๋กœ ์ถœ๋ ฅ, formatDate ์‚ฌ์šฉ ์‹œ 500์—๋Ÿฌ ์ฃผ์˜
  • CustomException, ErrorCode, ErrorResponseEntity ๋“ฑ์œผ๋กœ ์˜ˆ์™ธ/์—๋Ÿฌ ์ผ๊ด€ ์ฒ˜๋ฆฌ
  • ์„ธ์…˜/์ธํ„ฐ์…‰ํ„ฐ๋กœ ๊ด€๋ฆฌ์ž/์ ์ฃผ/์‚ฌ์šฉ์ž ๊ถŒํ•œ ๋ถ„๋ฆฌ ๋ฐ ์ธ์ฆ
  • SQL ์ธ์ ์…˜ ๋ฐฉ์ง€, XSS ๋ฐฉ์ง€, ์ž…๋ ฅ ๊ฒ€์ฆ ๋“ฑ ๋ณด์•ˆ ์ ์šฉ

๐Ÿงช ํ…Œ์ŠคํŠธ/๊ธฐ์—ฌ/๋ฌธ์˜

  • JUnit5, Mockito ๊ธฐ๋ฐ˜ ๋‹จ์œ„/ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ
  • ํ…Œ์ŠคํŠธ ์ฝ”๋“œ src/test/java/kr/co/solfood/ ํ•˜์œ„์— ์œ„์น˜
  • ๊ธฐ์—ฌ: Fork & PR, ์ด์Šˆ/๋ฌธ์˜๋Š” GitHub Issues ๋˜๋Š” contact@sol-food.com

๐Ÿฝ๏ธ Sol-Food์™€ ํ•จ๊ป˜ ํ™๋Œ€ ์ฃผ๋ณ€ ๋ง›์ง‘์„ ๋ฐœ๊ฒฌํ•˜๊ณ , ๊ฐ•๋ ฅํ•œ ๊ด€๋ฆฌ์ž ๊ฒฐ์ œ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์œผ๋กœ ์šด์˜ ํšจ์œจ์„ ๋†’์ด์„ธ์š”!

About

๐Ÿฅช์ ํ‘ธ๋“œ ํ”„๋กœ์ ํŠธ๐Ÿฅช

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5