Skip to content

HJC96/FakeStore-v2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

43 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

FakeStore-v2

์ด ํ”„๋กœ์ ํŠธ๋Š” FakeStore๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•œ ๋ฐฑ์—”๋“œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.

๐Ÿ›  ์ฃผ์š” ๊ฐœ์„  ์‚ฌํ•ญ

โœ… ํ™˜๊ฒฝ ๋ฐ ์„ค์ •

  • application.properties โ†’ application.yml ํฌ๋งท์œผ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ
  • Spring Boot 3.1.2 -> 3.4.5, JDK 17 -> 21
  • docker-compose๋„์ž…ํ•˜์—ฌ MariaDB ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์„ฑ
  • Spring Boot ์ดˆ๊ธฐ ์‹คํ–‰ ์‹œ data.sql์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ž๋™ ์‚ฝ์ž… ์„ค์ •

โœ… ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ๊ฐœ์„ 

  • ๊ธฐ์กด ๊ณ„์ธต๋ณ„ ๋‹จ์ˆœ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ (controller, service, repository ๋“ฑ)์—์„œ, ๋„๋ฉ”์ธ ์ค‘์‹ฌ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ๋กœ ๊ฐœํŽธ
    • ex) member/, product/, cart/ ํ•˜์œ„์— ๊ฐ๊ฐ controller, service, dto, domain, repository ๋ฐฐ์น˜

โœ… ์ธ์ฆ ๋ฐ ๋ณด์•ˆ ๊ฐœ์„ 

  • ๊ธฐ์กด JWT ์ธ์ฆ ๋ฐฉ์‹์— Redis ๊ธฐ๋ฐ˜ ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋กœ๊ทธ์•„์›ƒ ์‹œ ํ† ํฐ ๋ฌดํšจํ™” ๊ฐ€๋Šฅ
  • Redis์— ๋กœ๊ทธ์•„์›ƒ๋œ Access Token์„ ์ €์žฅํ•˜๊ณ , ๋งค ์š”์ฒญ๋งˆ๋‹ค ํ•„ํ„ฐ์—์„œ ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ ํ™•์ธ
[Client] โ†’ ๋กœ๊ทธ์ธ โ†’ [Spring Security] โ†’ JWT ๋ฐœ๊ธ‰
                                      โ†“
[Client] โ†’ ๋งค ์š”์ฒญ๋งˆ๋‹ค JWT ํฌํ•จ โ†’ ์ธ์ฆ ํ•„ํ„ฐ
                                โ””โ†’ Redis ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ ์กฐํšŒ
                                      โ†“
                        [์—†์œผ๋ฉด] โ†’ ๋‹ค์Œ ํ•„ํ„ฐ
                        [์žˆ์œผ๋ฉด] โ†’ 401 Unauthorized

[Client] โ†’ ๋กœ๊ทธ์•„์›ƒ ์š”์ฒญ โ†’ Redis์— ํ† ํฐ ์ €์žฅ (TTL=๋งŒ๋ฃŒ๊นŒ์ง€ ๋‚จ์€ ์‹œ๊ฐ„)
  • Redis๋ฅผ ํ™œ์šฉํ•œ ๋กœ๊ทธ์ธ ์‹œ๋„ ์ œํ•œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€: ํŠน์ • ์ด๋ฉ”์ผ ๊ธฐ์ค€์œผ๋กœ ๋กœ๊ทธ์ธ ์‹คํŒจ ํšŸ์ˆ˜๋ฅผ ๊ธฐ๋กํ•˜๊ณ , 5ํšŒ ์ด์ƒ ์‹คํŒจ ์‹œ 15๋ถ„๊ฐ„ ๋กœ๊ทธ์ธ ์ฐจ๋‹จ

โœ… ๋ฆฌํŒฉํ† ๋ง

  • ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ๋ฐ ์ฃผ์„ ์ œ๊ฑฐ
  • Querydsl ์‚ฌ์šฉ ๋ฐฉ์‹์„ QuerydslRepositorySupport โ†’ JPAQueryFactory ์ฃผ์ž… ๋ฐฉ์‹์œผ๋กœ ์ „ํ™˜

โš™๏ธ ๊ธฐ์ˆ  ์Šคํƒ

  • Backend: Java 21, Spring Boot 3.4.5
  • DB & ORM: MariaDB, JPA, QueryDSL, Redis
  • Security: Spring Security, JWT
  • API Docs: Swagger (SpringDoc OpenAPI)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages