/devdevdev-server

힘들고 막힐 때는 댑댑댑, DEVDEVDEV!

Primary LanguageJava

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

목차로