Skip to content

๐Ÿ–ฅ๏ธ Spring Boot (2.7.14) + Gradle + JDK11 + Spring Data JPA + MySQL + AWS

Notifications You must be signed in to change notification settings

FAST-Mini-Project/back-end

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

66 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation


๐Ÿ—“๏ธ ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„

2023-07-24 ~ 2023-08-11



๐Ÿ™Œ๐Ÿป ํ”„๋กœ์ ํŠธ ์„ค๋ช…

  • ํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ์ „ ํ”„๋ก ํŠธ์—”๋“œ์™€ ์›ํ™œํ•œ ํ˜‘์—… ์—ฐ์Šต์„ ์œ„ํ•œ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.
  • REST API๋ฅผ ์„ค๊ณ„, ๊ฐœ๋ฐœํ•˜์—ฌ ์ง์ ‘ ์„œ๋ฒ„๋ฅผ ๋ฐฐํฌํ•˜๊ณ  ํ”„๋ก ํŠธ์—”๋“œ์™€ ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.



๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ ๊ฐœ๋ฐœ ํŒ€์›

Back-End ๐Ÿ‘‘ Back-End Back-End Front-End ๐Ÿ‘‘ Front-End Front-End
๊น€ํ›ˆ์„ญ ๊น€๊ฒฝํ˜ธ ๊ฐ•๊ฒฝ๋ฏผ ๊น€๊ฒฝ์› ์œค๊ธˆ์—ฝ ํ™ฉ์ธ์Šน



๐Ÿ’ก ์ฃผ์š” ๊ธฐ๋Šฅ

  • ์‚ฌ์šฉ์ž(์‚ฌ์›)

    • ํšŒ์› ๊ฐ€์ž…
      • ์ด๋ฉ”์ผ, ๋น„๋ฐ€๋ฒˆํ˜ธ, ์ด๋ฆ„ ์ž…๋ ฅ ํ›„ ๊ฐ€์ž… (์‚ฌ์› ๋ฒˆํ˜ธ๋Š” ์ž๋™์œผ๋กœ ํ• ๋‹น)
    • ์›ํ•˜๋Š” ๋‚ ์งœ์— ์—ฐ์ฐจ ์‹ ์ฒญ
    • ์—ฐ์ฐจ ์ทจ์†Œ & ์ทจ์†Œ ์‹ ์ฒญ
    • ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋Šฅ
      • ์ž”์—ฌ ์—ฐ์ฐจ ์กฐํšŒ, ์ž์‹ ์ด ์‚ฌ์šฉํ•œ ๋ชจ๋“  ์—ฐ์ฐจ ์ •๋ณด ์กฐํšŒ
      • ํ• ๋‹น๋ฐ›์€ ๋‹น์ง ์กฐํšŒ
      • ๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌ์„ค์ •
    • ๋ฉ”์ธํŽ˜์ด์ง€ ๊ธฐ๋Šฅ
      • ๋ชจ๋“  ์‚ฌ์›์˜ ์—ฐ์ฐจ, ๋‹น์ง ํ˜„ํ™ฉ ์กฐํšŒ
  • ๊ด€๋ฆฌ์ž

    • ์‹ ์ฒญ๋œ ์—ฐ์ฐจ์˜ ์Šน์ธ, ๋ฐ˜๋ ค ๊ฒฐ์ •
    • ์ทจ์†Œ ์‹ ์ฒญ๋œ ์—ฐ์ฐจ์˜ ์Šน์ธ, ๋ฐ˜๋ ค ๊ฒฐ์ •
    • ๋‹น์ง ๋“ฑ๋ก, ์‚ญ์ œ
    • ๋ชจ๋“  ์‚ฌ์› ์ •๋ณด ์กฐํšŒ
      • ์ž”์—ฌ ์—ฐ์ฐจ์ˆ˜ ์กฐํšŒ
      • ํ• ๋‹น๋œ ๋‹น์ง์ˆ˜ ์กฐํšŒ



๐Ÿง‘๐Ÿปโ€๐Ÿ’ป ํŒ€์› ์—ญํ• 

์ด๋ฆ„ ์—ญํ• 
๊น€ํ›ˆ์„ญ
ํŒ€์žฅ
- ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„
ย ย โ”” ์‚ฌ์šฉ์ž ์ „์ฒด ๋ชฉ๋ก ์กฐํšŒ (์ž”์—ฌ ์—ฐ์ฐจ์ˆ˜, ๋‹น์ง์ˆ˜ ํ†ต๊ณ„)
ย ย โ”” ์‚ฌ์› ๊ณ„์ • ์‚ญ์ œ (๊ด€๋ จ ๋ฐ์ดํ„ฐ ๋ชจ๋‘ ์‚ญ์ œ)
ย ย โ”” ๋‹น์ง ๋“ฑ๋ก, ์‚ญ์ œ
ย ย โ”” ๋ชจ๋“  ์—ฐ์ฐจ ์กฐํšŒ (์‹ ์ฒญ ๋Œ€๊ธฐ, ์ทจ์†Œ ์ƒํƒœ)
ย ย โ”” ์—ฐ์ฐจ ์Šน์ธ, ๋ฐ˜๋ ค
- DB ์„ค๊ณ„
- API ์„ค๊ณ„
- ์„œ๋ฒ„ ๋ฐฐํฌ
๊น€๊ฒฝํ˜ธ - ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ๋ฅผ ์ด์šฉํ•œ ๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„
- JWT ํ† ํฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„
- AWS LightSail ์„œ๋ฒ„ ์„ธํŒ…
- ํšŒ์› ๋น„๋ฐ€๋ฒˆํ˜ธ ์ˆ˜์ •
- DB ์„ค๊ณ„
- API ์„ค๊ณ„
- ์„œ๋ฒ„ ๋ฐฐํฌ
๊ฐ•๊ฒฝ๋ฏผ - ๋งˆ์ดํŽ˜์ด์ง€, ๋ฉ”์ธํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„
ย ย โ”” ๊ฐœ์ธ ์—ฐ์ฐจ, ๋‹น์ง ์กฐํšŒ
ย ย โ”” ์—ฐ์ฐจ ์‹ ์ฒญ, ์—ฐ์ฐจ ์ทจ์†Œ ์‹ ์ฒญ (JWT ํ† ํฐ ์‚ฌ์šฉ)
ย ย โ”” ์—ฐ์ฐจ, ๋‹น์ง ์ „์ฒด ๋ชฉ๋ก ์กฐํšŒ
- DB ์„ค๊ณ„
- API ์„ค๊ณ„
- ์„œ๋ฒ„ ๋ฐฐํฌ



๐Ÿ› ๏ธ ํ”„๋กœ์ ํŠธ ๊ธฐ์ˆ ์Šคํƒ

  • Back-End


  • Front-End


  • Collaboration Tool



๐Ÿ“ ๋ฐฑ์—”๋“œ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ

com
|-- ๐Ÿ“‚mini
|   |-- ๐Ÿ“‚annualwork
|   |   |-- ๐Ÿ“‚component
|   |   |-- ๐Ÿ“‚config
|   |   |-- ๐Ÿ“‚controller
|   |   |-- ๐Ÿ“‚core
|   |   |-- ๐Ÿ“‚dto
|   |   |-- ๐Ÿ“‚entity
|   |   |   โ””-- ๐Ÿ“‚type
|   |   |-- ๐Ÿ“‚exception
|   |   |   โ””-- ๐Ÿ“‚handler
|   |   |-- ๐Ÿ“‚repository
|   |   |-- ๐Ÿ“‚service
โ””---โ””---โ””-- ๐Ÿ“‚utils



๐Ÿ“– API ๋ช…์„ธ

image



๐Ÿ–ฅ๏ธ ํ”„๋กœ์ ํŠธ ์‹คํ–‰ ๋ฐฉ๋ฒ•

  • ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ํด๋ก 
>> git clone git@github.com:FAST-Mini-Project/back-end.git

  • application.yml ์„ค์ •
spring:
  datasource:
    url: jdbc:mysql://[IP]:[Port]/[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ]
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์œ ์ €๋„ค์ž„]
    password: [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋น„๋ฐ€๋ฒˆํ˜ธ]

  jpa:
    show-sql: true
    hibernate:
      ddl-auto: [ddl-auto ์„ค์ • (create, create-drop, none)]
    properties:
      hibernate:
        format_sql: true

# JWT ์„ค์ •
jwt:
  secret: [JWT ํ† ํฐ ๋ฐœํ–‰์— ํ•„์š”ํ•œ ์‹œํฌ๋ฆฟํ‚ค]

  • ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ
>> ./gradlew clean build

  • jar ํŒŒ์ผ ์‹คํ–‰
>> java -jar ./build/libs/anuualwork-0.0.1-SNAPSHOT.jar



โ–บ ํ”„๋กœ์ ํŠธ ์‹œํ˜„

แ„ƒแ…กแ†ผแ„‹แ…งแ†ซแ„’แ…ข



๐Ÿ™‹๐Ÿปโ€โ™‚๏ธ ํ˜‘์—… ๋ฐฉ์‹

  • Back-End Repository ์ƒ์„ฑ ํ›„ ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ ์„ธํŒ… ์ง„ํ–‰
  • main, develop ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ
  • ๊ฐ์ž Local Repository๋กœ Fork ์ €์žฅ์†Œ ์ƒ์„ฑ
  • ์ž‘์—… ์‹œ์ž‘
    • ์ด์Šˆ ์ƒ์„ฑ (์ด์Šˆ ๋ฒˆํ˜ธ ํ• ๋‹น #12)
    • ์ด์Šˆ ๋ฒˆํ˜ธ์— ํ•ด๋‹นํ•˜๋Š” ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ (ex. feature/#12-admin-crud)
    • ๋ธŒ๋žœ์น˜์—์„œ ์ฝ”๋“œ ์ž‘์—… ์ง„ํ–‰
    • ์ž‘์—… ์™„๋ฃŒ ํ›„ commit message ์ž‘์„ฑ (ex. [#12] feat: ๊ด€๋ฆฌ์ž ์—ฐ์ฐจ ๋“ฑ๋ก ๊ตฌํ˜„)
    • Local Fork ์ €์žฅ์†Œ์— Push
    • Main ์ €์žฅ์†Œ์˜ develop ๋ธŒ๋žœ์น˜๋กœ Pull Request ์š”์ฒญ
    • Rebase And Merge ์ „๋žต์œผ๋กœ ๋ณ‘ํ•ฉ (์ถฉ๋Œ์€ ์ตœ๋Œ€ํ•œ Local์—์„œ ํ•ด๊ฒฐ, ๊น”๋”ํ•œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•จ)
    • ํ”„๋กœ์ ํŠธ ์ข…๋ฃŒ ํ›„ develop์—์„œ main์œผ๋กœ Pull Request ์š”์ฒญ ํ›„ ๋ณ‘ํ•ฉ
  • ๊ฐœ๋ฐœ ์„œ๋ฒ„ ๋ฐฐํฌ ๊ธฐ๊ฐ„์„ ํ˜‘์˜ ํ›„ ํ•ด๋‹น ๋‚ ์งœ์— ๋งž์ถฐ์„œ ์ง„ํ–‰
  • ์„œ๋ฒ„ ๋ฐฐํฌ ์ง์ „์—๋Š” ๋ฐ˜๋“œ์‹œ ํ”„๋ก ํŠธ์—”๋“œ์—๊ฒŒ ํ†ต๋ณด



โœ‹๐Ÿป ๊นƒํ—ˆ๋ธŒ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ๊ทœ์น™

[#์ด์Šˆ๋ฒˆํ˜ธ] feat: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€ํ–ˆ์„ ๋•Œ
[#์ด์Šˆ๋ฒˆํ˜ธ] fix: ๋ฒ„๊ทธ๋‚˜ ์˜ค๋ฅ˜ ์ˆ˜์ •ํ–ˆ์„ ๋•Œ
[#์ด์Šˆ๋ฒˆํ˜ธ] refactor: ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋งํ–ˆ์„ ๋•Œ
[#์ด์Šˆ๋ฒˆํ˜ธ] chore: ์•ฝ๊ฐ„ ์• ๋งคํ•œ ๊ธฐํƒ€ ๋ณ€๊ฒฝ์‚ฌํ•ญ
[#์ด์Šˆ๋ฒˆํ˜ธ] docs: ๋ฆฌ๋“œ๋ฏธ ํŒŒ์ผ์ด๋‚˜ md ํŒŒ์ผ ์ˆ˜์ •ํ•  ๋•Œ (๋ฌธ์„œ์ž‘์—…)

About

๐Ÿ–ฅ๏ธ Spring Boot (2.7.14) + Gradle + JDK11 + Spring Data JPA + MySQL + AWS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages