Skip to content

๐Ÿญ NHN Academy Dooray ๋งŒ๋“ค๊ธฐ

Notifications You must be signed in to change notification settings

ahngilwoong/MockDooray

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

21 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Mock-Dooray

NHN ์•„์นด๋ฐ๋ฏธ ๊น€ํ•ด ์›น์„œ๋น„์Šค ๊ฐœ๋ฐœ 1๊ธฐ ์ตœ์ข… ํ‰๊ฐ€ ๊ณผ์ œ Dooray ๋งŒ๋“ค๊ธฐ.

๊ธฐ์ˆ  ์š”๊ตฌ์‚ฌํ•ญ

  • View ๋Š” Thymeleaf ๋กœ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.
  • Data Access Layer ๋Š” MyBatis ๋˜๋Š” JPA ๋ฅผ ๊ฒฐ์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ˜ผ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Spring Boot ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • Test Code ๋Š” ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (Coverage ์ตœ๋Œ€ํ•œ ๋†’๊ฒŒ)
  • @DataJpaTest, @WebMvcTest , @SpringBootTest ๋ฅผ ์ตœ๋Œ€ํ•œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ์š”๊ตฌ์‚ฌํ•ญ

  • ํšŒ์›๊ด€๋ฆฌ

    • ๋“ฑ๋ก๋œ ์‚ฌ์šฉ์ž๋Š” ID/PW ์ธ์ฆ ๋ฐ oauth ์ธ์ฆ์œผ๋กœ ๋กœ๊ทธ์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํšŒ์›๊ฐ€์ž…์€ ํšŒ์› ๊ฐ€์ž… ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด์„œ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
      • ํšŒ์›๊ฐ€์ž…์‹œ ๊ณ„์ •์ •๋ณด(id,email,password)๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
    • github.com์˜ ์ด๋ฉ”์ผ๊ณผ ๋™์ผํ•œ ๊ฒฝ์šฐ, github.com์˜ oauth ์ธ์ฆ์œผ๋กœ๋„ ๋กœ๊ทธ์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ

    • ์‚ฌ์šฉ์ž๋Š” Project ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      • Project๋ฅผ ์ƒ์„ฑํ•œ ์‚ฌ์šฉ์ž๋Š” Project ์˜ ๊ด€๋ฆฌ์ž ์ž…๋‹ˆ๋‹ค.
      • Project๋Š” ํ”„๋กœ์ ํŠธ ์ด๋ฆ„, ์ƒํƒœ(ํ™œ์„ฑ, ํœด๋ฉด, ์ข…๋ฃŒ) ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
    • Project ๊ด€๋ฆฌ์ž๋Š” ๋ฉค๋ฒ„๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      • Project ๋ฉค๋ฒ„๋Š” ํšŒ์›๊ด€๋ฆฌ์—์„œ ๊ฐ€์ž…ํ•œ ํšŒ์›๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • Project ๋ฉค๋ฒ„๋Š” Task ๋ฅผ ๋“ฑ๋ก, ์ˆ˜์ •, ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Project ๋ฉค๋ฒ„๋Š” Task ์˜ ๋ชฉ๋ก ๋ฐ ๋‚ด์šฉ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Project ๋ฉค๋ฒ„๋Š” Project ์— Tag, MileStone ์„ ๋“ฑ๋ก, ์ˆ˜์ •, ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Project ์— ๋“ฑ๋กํ•œ Tag, MileStone ์„ Task์— ์„ค์ • ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      • Tag : Task ์— ์„ค์ •ํ•  ์†์„ฑ์ž…๋‹ˆ๋‹ค. Task์— 1๊ฐœ์ด์ƒ์˜ Tag ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      • MileStone : Project ์ง„์ฒ™ ์ƒํ™ฉ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ด์ •ํ‘œ์ž…๋‹ˆ๋‹ค. Task ์— ํ•œ๊ฐœ์˜ MileStone ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Project ๋ฉค๋ฒ„๋Š” Task ์— Comment ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Comment ๋ฅผ ์ƒ์„ฑํ•œ ์‚ฌ์šฉ์ž๋Š” Comment ๋ฅผ ์ˆ˜์ •, ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Task-Api, Project, Task, Comment ์˜ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    • gateway ๋Š” ๋ชจ๋“  ์„œ๋น„์Šค ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉฐ ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
      • TemplateEngine(Thymeleaf) ์‚ฌ์šฉํ•˜์—ฌ ํ™”๋ฉด์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
      • ๋ฐ์ดํ„ฐ๋Š” AccountApi, TaskApi ๋ฅผ RestTempate์œผ๋กœ ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ›์•„ ์˜ต๋‹ˆ๋‹ค.
      • ํ™”๋ฉด์ •๋ณด๋ฅผ ํ‘œ์‹œํ• ๋•Œ AccountApi, TaskApi ๋ฅผ ์กฐํ•ฉํ•ด์„œ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • gateway ๋Š” ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
      • ์ธ์ฆ ์„ธ์…˜์€ gateway ์„œ๋ฒ„์—์„œ redis ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
        • Spring Session์“ฐ์ง€๋ง๊ณ  RedisTemplate์„ ์‚ฌ์šฉํ•ด ์ฃผ์„ธ์š”.
      • ์ธ์ฆ ๋ฐ์ดํ„ฐ๋Š” Account-Api ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • AccountApi ๋Š” ๋ฉค๋ฒ„์˜ ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
    • ProjectApi ๋Š” Project, Task, Comment, Tag ๋ฅผ ๊ด€๋ฆฌ ํ•ฉ๋‹ˆ๋‹ค.
  • Account-api

    • ์ธ์ฆ์ฒ˜๋ฆฌ๋Š” GateWay ์— ์œ„์ž„ํ•ฉ๋‹ˆ๋‹ค.
    • (RestApi)ํšŒ์› ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • (RestApi)ํšŒ์›์˜ ์ƒํƒœ(๊ฐ€์ž…,ํƒˆํ‡ด,ํœด๋ฉด)๋ฅผ ๊ด€๋ฆฌ(cud)ํ•ฉ๋‹ˆ๋‹ค.
  • Task-api

    • ์ธ์ฆ์ฒ˜๋ฆฌ๋Š” GateWay ์— ์œ„์ž„ํ•ฉ๋‹ˆ๋‹ค.
    • (RestApi) Project, Task, Comment, Tag, MileStone ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” API ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์„ค๊ณ„

poster poster

About

๐Ÿญ NHN Academy Dooray ๋งŒ๋“ค๊ธฐ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published