Skip to content

Latest commit

 

History

History
227 lines (176 loc) · 6.46 KB

File metadata and controls

227 lines (176 loc) · 6.46 KB

DEVDEVDEV

devdevdev

힘들고 막힐 때는 댑댑댑!

꿈빛 파티시엘은 “힘들고 막힐 때는 댑댑댑” 이라는 슬로건을 기반으로 개발자들의 고민을 공유하고 빅테크 기업들의 다양한 문제 해결 사례를 통해 빠른 시간내에 해결할 수 있도록 도와주는 것을 목표로 삼고 있어요.

🔗 https://www.devdevdev.co.kr


Hits

목차


🕰 개발기간 및 개발인원

  • 개발기간: 2023.12 ~ 2024.07(1차배포)
  • 개발인원: FE(2), BE(2), Design(1)
@minyoung22222 @mandelina @ssosee @yu-so-young2 뭐임마
FE, Entertainer FE, FootBall Manager BE, 사장, 앙대요 BE, CTO DESIGN, 총괄, 운영, 마케팅

🖥️ 서버 개발환경

  • Common
    • Spring(6.1.2), SpringBoot(3.2.1), Java(JDK 21)
  • DEV
    • AWS EC2: t2.micro(vCPU 1 Core, Memory 1GB, free tier)
    • AWS RDS: db.t4g.micro(vCPU 2 Core, Memory 1GB, free tier)
    • Amazon OpenSearch Service: t3.small.search(vCPU 2 Core, Memory 2GB, free tier)
  • PROD
    • AWS EC2: t2.micro(vCPU 1 Core, Memory 1GB, free tier)
    • AWS RDS: db.t4g.micro(vCPU 2 Core, Memory 1GB, free tier)
    • Amazon OpenSearch Service: t3.small.search(vCPU 2 Core, Memory 2GB, free tier)
    • AWS ElasticCache: cache.t2.micro(vCPU 1 Core, Memory 0.5GB)

🛠 기술스택

  • Environment
    • IntelliJ, GitHub
  • Development
    • Java, JUnit, Spring Boot, Spring Data JPA, Querydsl, Spring Data ElasticSearch, Spring Security, OAuth2.0
    • Swagger, Spring REST Docs
    • Open AI embeddings, Selenium
  • DB
    • MariaDB(AWS RDS), Elasticsearch, S3, Redis, H2Database, EmbeddedRedis
  • Test
    • 약 450개의 테스트 코드를 작성함.
  • Deploy
    • GitHub Actions, S3, CodeDeploy, Docker
  • Communication
    • Slack, Jira, Gather

📎 주요 기능 Docs

  • 인증, 인가
    • OAuth2.0 로그인 - KAKAO
    • JWT 발급, 인증, 리프레시
  • 픽픽픽
    • 조회
    • 작성, 수정, 삭제
    • 이미지 업로드, 삭제
    • 연관 게시글
  • 기술블로그
    • 조회
    • 검색
    • 검색어 자동완성
    • 북마크
  • 회원
    • 작성한 픽픽픽 조회
    • 북마크한 기술블로그 조회
    • 회원탈퇴 설문조사
    • 회원탈퇴

🧩 아키텍처

devdevdev-architecture


🏷 DB ERD

무제 001 1


📂 디렉토리 구조

java.com.dreamypatisiel.devdevdev
  ├── aws
  │   └── s3
  │       ├── config
  │       └── properties
  ├── domain
  │   ├── entity
  │   │   ├── embedded
  │   │   └── enums
  │   ├── exception
  │   ├── policy
  │   ├── repository
  │   │   ├── member
  │   │   │   └── memberNicknameDictionary
  │   │   │       └── custom
  │   │   ├── pick
  │   │   │   └── custom
  │   │   ├── survey
  │   │   │   └── custom
  │   │   └── techArticle
  │   │       └── custom
  │   └── service
  │       ├── member
  │       ├── pick
  │       │   └── dto
  │       ├── response
  │       │   └── util
  │       └── techArticle
  ├── elastic
  │   ├── config
  │   ├── constant
  │   ├── data
  │   │   └── domain
  │   └── domain
  │       ├── document
  │       ├── repository
  │       └── service
  ├── exception
  ├── global
  │   ├── common
  │   ├── config
  │   ├── constant
  │   ├── properties
  │   ├── security
  │   │   ├── config
  │   │   ├── filter
  │   │   ├── jwt
  │   │   │   ├── filter
  │   │   │   ├── handler
  │   │   │   ├── model
  │   │   │   └── service
  │   │   └── oauth2
  │   │       ├── handler
  │   │       ├── model
  │   │       └── service
  │   ├── utils
  │   └── validator
  ├── limiter
  │   ├── config
  │   ├── exception
  │   └── filter
  ├── openai
  │   ├── constant
  │   ├── embeddings
  │   ├── request
  │   └── response
  └── web
      ├── controller
      │   ├── exception
      │   └── request
      └── response