Skip to content

๐Ÿค– AI์—๊ฒŒ CS ๋ชจ์˜๋ฉด์ ‘ ์งˆ๋ฌธ ๋ฐ›๊ธฐ

Notifications You must be signed in to change notification settings

jxmen-workspace/cs-ai-interviewer

Repository files navigation

cs-ai-interviewer

CS ๋ฉด์ ‘์„ ์ค€๋น„ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ์ธํ„ฐ๋ทฐ ์งˆ๋ฌธ์„ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€

์„œ๋ฒ„ ๊ตฌ์กฐ

server-structure.png

์‚ฌ์šฉํ•œ ๊ธฐ์ˆ 

Language

  • Kotlin

Frameworks

  • Spring Boot
  • Spring Web MVC
  • Spring AI - anthropic3
  • Spring Data JPA
  • Spring Security OAuth2, JWT
  • Spring Rest Docs

Testing

  • Junit5
  • Kotest
  • Fixture Monkey
    • ๋„ค์ด๋ฒ„์—์„œ ๋งŒ๋“  ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ์ƒ์„ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.

Database

  • MariaDB
  • Flyway
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํˆด์ž…๋‹ˆ๋‹ค.
  • Kotlin JDSL
    • ๋ผ์ธ์—์„œ ๋งŒ๋“  ์ฟผ๋ฆฌ ๋นŒ๋” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. QueryDSL๊ณผ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

CI/CD

  • GitHub Actions

Infra

  • Nginx
  • AWS Elastic Beanstalk
  • AWS RDS
  • Docker, Docker Compose
    • dev profile ๊ตฌ์„ฑ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํŒจํ‚ค์ง€ ๊ตฌ์กฐ

โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ src/main/kotlin/dev.jxmen.cs.ai.interviewer
โ”‚   โ”œโ”€โ”€ application - Applicatoin ๋ ˆ์ด์–ด. ์œ ์ฆˆ ์ผ€์ด์Šค ๋“ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
โ”‚   โ”‚   โ”œโ”€โ”€ adpater - ์œ ์ฆˆ์ผ€์ด์Šค ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์ฒด
โ”‚   โ”‚   โ”œโ”€โ”€ port - ์œ ์ฆˆ์ผ€์ด์Šค ์ธํ„ฐํŽ˜์ด์Šค
โ”‚   โ”œโ”€โ”€ common - ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. (์˜ˆ: Exception, Enum, Configuration ๋“ฑ)
โ”‚   โ”œโ”€โ”€ domain - ํ•ต์‹ฌ ๋„๋ฉ”์ธ
โ”‚   โ”œโ”€โ”€ persistence - ์˜์†์„ฑ ์–ด๋Œ‘ํ„ฐ, Jpa Repository, Datbase Entity ๋“ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
โ”‚   โ”œโ”€โ”€ presentation - RestController, Request, Response ๋“ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
โ”‚   CsAiInterviewerApplication.kt - Spring Boot Application

Swagger API ๋ฌธ์„œ

https://cs-ai-api.jxmen.dev/swagger-ui/index.html

ERD

Last Updated: 2024-08-29

erd.png

About

๐Ÿค– AI์—๊ฒŒ CS ๋ชจ์˜๋ฉด์ ‘ ์งˆ๋ฌธ ๋ฐ›๊ธฐ

Resources

Stars

Watchers

Forks

Packages

No packages published