Skip to content

jerrytrap/WEB3_4_NDGL_BE

 
 

Repository files navigation

Readme 배경

프로젝트 개요

미디어에 나온 유명 장소들을 공유할 수 있는 블로그 플랫폼입니다.
백엔드 개발자 5명과 프론트엔드 개발자 1명이 약 4주간 진행했으며, 최우수 프로젝트에 선정되었습니다.

팀원 구성 및 역할

팀원 역할
김누리 인프라 구축, 인증 및 인가
류대현 게시글 및 팔로우, 조회 수 처리
이교원 관리자 및 신고, ELK 로그 처리, ELK CI/CD, 인기 검색어/게시글 추출
한상훈 좋아요 기능, 임시 글 및 이미지 처리
황윤구 댓글 기능, 검색 및 검색어 자동 완성

주요 기능

  • 전체 블로그 및 게시글 확인
  • 위치 정보 및 해시태그를 추가해 게시글 작성
  • 실시간 인기 글 및 검색어 조회
  • '좋아요'한 포스트 모아보기
  • 다른 사용자의 블로그 팔로우
  • 게시글 댓글 작성
  • 관리자 및 신고
  • ELK 로그 처리

기술 스택

카테고리 기술
프로그래밍 언어 Java 17
프레임워크 Spring Boot
데이터베이스 MySQL, Redis
API 설계 RESTful API
인증 & 보안 JWT, OAuth2.0
배포 환경 AWS(EC2, S3), NGINX, Docker, Terraform
로그 ElasticSearch, Logstash, Kinaba, Beats
CI/CD GitHub Actions
테스트 JUnit 5
문서화 Springdoc, Swagger UI

시스템 구조

전체 구성도


CI/CD 구성도

CI,CD


ERD

ERD


API 명세서

[Wiki]를 참고해주세요!


실행 화면

메인 화면

스크린샷 2025-04-18 181202 스크린샷 2025-04-18 181145

임시 글 생성 화면

임시저장

글 생성 화면

게시글 작성

글 상세 화면

스크린샷 2025-04-18 오후 6 06 28

내 게시글 화면

image (1)

블로그 목록 화면

스크린샷 2025-04-18 오후 6 16 50

팔로우 목록 화면

스크린샷 2025-04-18 오후 6 15 24

검색 결과 화면

스크린샷 2025-04-18 오후 6 11 39


로그 관리

로깅 파이프라인 - 일반

로깅 파이프라인 - 검색,게시물 조회

키바나 조회 로깅

키바나 조회 로깅

키바나 검색 로깅

키바나 검색 로깅

키바나 예외 로깅

키바나 예외 로깅


디렉터리 구조

📦 src  
├── 📂 main  
│   ├── 📂 java/com/ndgl/spotfinder  
│   │   ├── 📂 domain                  
│   │   │   ├── 📂 admin               
│   │   │   ├── 📂 auth                
│   │   │   ├── 📂 blog                
│   │   │   ├── 📂 comment             
│   │   │   ├── 📂 follow              
│   │   │   ├── 📂 image               
│   │   │   ├── 📂 like                
│   │   │   ├── 📂 popular               
│   │   │   ├── 📂 post                
│   │   │   ├── 📂 report              
│   │   │   ├── 📂 search              
│   │   │   └── 📂 user                
│   │   │  
│   │   ├── 📂 global                  
│   │   │   ├── 📂 aspect              
│   │   │   │   └── 📂 logging         
│   │   │   ├── 📂 aws                 
│   │   │   │   └── 📂 s3              
│   │   │   ├── 📂 base                
│   │   │   ├── 📂 cache               
│   │   │   │   └── 📂 redis           
│   │   │   ├── 📂 common              
│   │   │   │   └── 📂 util            
│   │   │   ├── 📂 config              
│   │   │   │   ├── 📂 elastic          
│   │   │   │   └── 📂 redis           
│   │   │   ├── 📂 exception           
│   │   │   ├── 📂 initdata            
│   │   │   ├── 📂 rsdata              
│   │   │   └── 📂 security            
│   │   │       ├── 📂 cookie          
│   │   │       ├── 📂 jwt             
│   │   │       └── 📂 refresh         
│   │   │  
│   │   └── 📄 SpotfinderApplication.java
│   │  
│   └── 📂 resources  
│       ├── 📂 logs                     
│       ├── 📄 application.yml          
│       ├── 📄 console-appender.xml     
│       └── 📄 logback-spring.xml       
│  
├── 📂 test                             
│   └── 📂 java/com/ndgl/spotfinder  
│  
└── 📂 .github                          
    └── 📂 workflows                    

프론트엔드 코드는 링크를 참고해주세요! [FE 링크]

About

데브코스 최종 프로젝트 (3/19~4/18)

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Java 98.7%
  • HCL 1.1%
  • Dockerfile 0.2%