Skip to content

kangbaek324/snapy-server

 
 

Repository files navigation

SNAPY — Server

하루를 시간대별로 기록하고, 하나의 일기처럼 친구와 공유하는 일상 기록 SNS

기존 SNS의 과도한 연출과 비교 문화에 대한 대안으로 만들어진 일상 기록 공유 플랫폼의 백엔드 API 서버입니다.

🌐 Live API · https://snapy.api.krafte.net/


Table of Contents


📖 What's Snapy

SNAPY는 "순간을 잘 꾸며 보여주는" 기존 SNS와 달리, 하루의 흐름을 시간대별로 기록하고 하나의 일기 형태로 공유하는 새로운 방식의 일상 기록 플랫폼입니다.

순간을 공유하는 것을 넘어 친구들과 함께 일상을 연결하는 경험을 제공하며, BeReal의 '진짜 일상' 개념에서 영감을 받아 더욱 발전시킨 서비스입니다.

과도한 연출과 비교 문화 대신, 진정성 있는 하루의 기록을 친구와 나눕니다.


🛠 Stack

구분 기술
Language Java 21
Framework Spring Boot 3.4.3, Spring Web, Spring Data JPA, Spring Security
Database MySQL 8
Auth JWT (jjwt 0.12.5)
Storage AWS S3 (Spring Cloud AWS)
Push APNs (Pushy 0.15.4)
RPC gRPC + Protocol Buffers (추천 서버 연동)
API Docs SpringDoc OpenAPI (Swagger UI)
Build Gradle
Infra Docker, Docker Compose, GitHub Container Registry

System Architecture

image

ERD

mermaid-diagram-2026-05-19-150625(1)

🚀 Getting Started

요구 사항

  • Java 21 (JDK)
  • MySQL 8

환경 설정

src/main/resources/application-secret-example.yml 을 참고하여 application-secret.yml 을 작성합니다.

cp src/main/resources/application-secret-example.yml src/main/resources/application-secret.yml

DB 접속 정보, JWT 시크릿, AWS S3, APNs 인증서 등 민감 정보를 채워 넣습니다.

로컬 실행

# 의존성 설치 및 빌드
./gradlew build

# 애플리케이션 실행
./gradlew bootRun

서버는 기본 http://localhost:8080 에서 실행됩니다.


📚 API Docs

서버 실행 후 Swagger UI에서 전체 API 명세를 확인할 수 있습니다.

http://localhost:8080/swagger-ui.html

🗂 Domain Folder

src/main/java/com/gbsw/snapy/domain
├── auth           # 인증/인가 (JWT)
├── users          # 사용자
├── friends        # 친구 관계
├── blocks         # 사용자 차단
├── stories        # 일기형 스토리
├── albums         # 앨범 & 좋아요
├── photos         # 사진
├── audios         # 오디오
├── feed           # 친구 피드
├── comments       # 댓글
├── guestbook      # 방명록
├── streaks        # 스트릭 시스템
├── notifications  # 알림
├── device         # 디바이스 토큰 (푸시)
├── phone          # 휴대폰 인증
├── contacts       # 연락처
├── settings       # 사용자 설정
└── health         # 헬스 체크

👥 Team

GBSW · messi-of-coding (5명)

이름 역할
김은찬 App / Design
문종은 Web / Design
권재현 Back-End
강백호 Back-End
장은수 Back-End

About

https://snapy.api.krafte.net/

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 99.7%
  • Dockerfile 0.3%