🚀 Pushman

Firebase 기반의 강력하고 안정적인 푸시 알림 서비스
Golang + Redis + MySQL + Firebase Admin SDK로 구축된 엔터프라이즈급 푸시 알림 플랫폼입니다.
실시간 메시지 전송부터 대량 배치 발송, 예약 전송, 토픽 관리까지 모든 것을 지원합니다.
🏗️ Microservice Architecture ⚡ Redis Queue 🔥 Firebase FCM 📊 Real-time Monitoring

🏗️ 시스템 아키텍처

마이크로서비스 기반의 확장 가능한 아키텍처로 설계되었습니다.
API Server와 Worker가 분리되어 있어 높은 가용성과 안정성을 제공합니다.

📌 간략 버전

┌─────────────┐
│   Client    │ HTTP
│  (Mobile)   │─────────┐
└─────────────┘         │
                        ▼
                 ┌─────────────┐
                 │  API Server │
                 │  (cmd/api)  │
                 └──────┬──────┘
                        │ LPUSH
                        ▼
                 ┌─────────────┐
                 │    Redis    │
                 │    Queue    │
                 └──────┬──────┘
                        │ BRPOP
                        ▼
┌─────────────┐  ┌─────────────┐
│   MySQL    │◀─│   Worker    │
│  Scheduler  │  │ (cmd/worker)│
└─────────────┘  └──────┬──────┘
                        │ HTTP/2
                        ▼
                 ┌─────────────┐
                 │  FCM API    │
                 │  (Firebase) │
                 └──────┬──────┘
                        │
                        ▼
                 ┌─────────────┐
                 │User Devices │
                 │iOS/Android  │
                 └─────────────┘
                        

🔍 상세 버전

┌───────────────────────────────────────────────────────────────────────┐
│                         Pushman Service                               │
│                                                                       │
│  ┌──────────────┐              ┌─────────────────────────────┐      │
│  │  Web Admin   │─────────────▶│       API Server            │      │
│  │  (Browser)   │    Auth      │       (Port 9080)           │      │
│  └──────────────┘              │  ┌──────────┬────────────┐  │      │
│                                │  │   /web   │   /send/*  │  │      │
│  ┌──────────────┐              │  │   /api   │  Middleware│  │      │
│  │   Client     │─────────────▶│  └──────────┴────────────┘  │      │
│  │  (Mobile)    │    API Key   └──────────────┬──────────────┘      │
│  └──────────────┘                             │  LPUSH              │
│                                               ▼                      │
│                                    ┌─────────────────┐               │
│                                    │  Redis Queue    │               │
│                                    │  - push_queue   │               │
│                                    │  - push_logs    │◀─────┐        │
│                                    │  - rate_limit   │      │        │
│                                    └────────┬────────┘      │        │
│                                             │  BRPOP        │        │
│  ┌──────────────┐                           ▼               │        │
│  │   MySQL     │◀──────────────┌──────────────────┐       │        │
│  │   Database   │   Schedule    │   Worker Pool    │───────┘        │
│  │              │   Token       │                  │                │
│  │  - scheduled │   Topic       │  - FCM Sender    │                │
│  │  - test_tkn  │               │  - Retry Logic   │                │
│  │  - topics    │               │  - Result Logger │                │
│  └──────┬───────┘               └────────┬─────────┘                │
│         │  10s Check                     │  HTTP/2                  │
│         │                                ▼                          │
│         └───────────────────────┌──────────────────┐                │
│                                 │    Firebase      │                │
│                                 │  FCM (Google)    │                │
│                                 └────────┬─────────┘                │
│                                          │  Push                    │
│                                          ▼                          │
│                                 ┌──────────────────┐                │
│                                 │   User Devices   │                │
│                                 │  iOS / Android   │                │
│                                 └──────────────────┘                │
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘
                        

🔷 API Server

Gin Framework 기반의 고성능 REST API. 요청을 받아 Redis 큐에 빠르게 저장하고 즉시 응답합니다.

⚙️ Worker Pool

고루틴 기반 멀티스레드 워커. 큐에서 메시지를 가져와 병렬로 처리합니다.

💾 Redis Queue

인메모리 메시지 큐로 초고속 처리. LPUSH/BRPOP 패턴으로 안정적인 메시지 전달을 보장합니다.

🗄️ MySQL Storage

스케줄 메시지와 로그를 영구 저장. 시스템 재시작 후에도 데이터가 안전하게 보관됩니다.

✨ 핵심 기능

실시간 푸시 전송

Redis 큐를 활용한 초고속 메시지 처리로 실시간으로 사용자에게 알림을 전달합니다. API 요청 후 밀리초 단위로 큐에 저장되어 즉시 처리됩니다.

🔧 기술 세부사항: Redis LPUSH/BRPOP 패턴으로 메시지를 큐에 저장하고, 고루틴 기반 워커가 병렬로 처리합니다. FCM HTTP v1 API를 사용하여 안정적으로 전송합니다.
📦

대량 배치 전송

최대 500개의 디바이스에 한 번에 메시지를 전송할 수 있습니다. 토큰 배열을 자동으로 배치 단위로 분할하여 처리하므로 수천, 수만 명의 사용자에게도 효율적으로 전송 가능합니다.

🔧 기술 세부사항: FCM 멀티캐스트 API를 활용하여 한 번의 요청으로 최대 500개 토큰에 전송합니다. 배치 크기를 자동으로 계산하고 분할하여 API 제한을 준수합니다. 각 배치의 성공/실패 결과를 개별 추적합니다.
🎯

개인화 메시지

각 사용자에게 맞춤형 메시지를 전송할 수 있습니다. ${name}, ${points}, ${product} 같은 변수를 활용하여 사용자별로 다른 내용의 알림을 제공하세요.

🔧 기술 세부사항: 타깃 기반 전송 API에서 각 토큰마다 variables 맵을 받아 템플릿 로직 방식으로 ${변수명}을 실제 값으로 치환합니다. 대량 전송 시에도 개인화가 가능합니다.

예약 전송 (Scheduler)

원하는 시간에 자동으로 메시지를 발송할 수 있습니다. 이벤트 알림, 리마인더 등을 미리 설정하고 정확한 시각에 전송하세요. MySQL에 영구 저장되어 재부팅 후에도 안전합니다.

🔧 기술 세부사항: 고루틴 기반 스케줄러가 1분마다 DB를 스캔하여 전송 시간이 도래한 메시지를 자동으로 큐에 추가합니다. 단일/배치/토픽/타깃 모든 전송 방식을 예약할 수 있습니다.
📊

토픽 기반 전송

사용자를 그룹으로 분류하여 관심사별로 메시지를 보낼 수 있습니다. 뉴스, 공지사항, 카테고리별 알림 등에 활용하세요. FCM 토픽 구독 관리 기능을 완벽하게 지원합니다.

🔧 기술 세부사항: Firebase Admin SDK의 토픽 관리 API를 사용합니다. 토큰을 특정 토픽에 구독/구독 해제할 수 있으며, 조건부 메시지(condition)로 복잡한 타겟팅도 가능합니다.
📈

실시간 모니터링

웹 대시보드를 통해 전송 상태를 실시간으로 확인할 수 있습니다. 큐 상태, 전송 로그, 시스템 로그, 스케줄 목록 등을 한눈에 파악하고 관리하세요.

🔧 기술 세부사항: REST API로 시스템 상태를 조회할 수 있습니다. Redis 큐 길이, 처리 중인 메시지 수, 전송 결과 통계 등을 JSON 형태로 제공합니다. WebSocket 없이도 실시간 폴링이 가능합니다.
🔄

자동 재시도 메커니즘

네트워크 오류나 일시적인 장애 발생 시 자동으로 재시도하여 메시지 전송률을 최대화합니다. 지수 백오프(Exponential Backoff) 알고리즘을 사용합니다.

🔧 기술 세부사항: FCM에서 5xx 오류나 네트워크 타임아웃 발생 시 1초, 2초, 4초, 8초... 간격으로 최대 5회까지 재시도합니다. 모든 재시도 결과는 로그에 기록됩니다.
🧪

개발 모드 & 테스트 모드

개발 환경과 프로덕션 환경을 명확히 분리하여 안전하게 테스트할 수 있습니다. 개발 모드에서는 사일런트 푸시로 전송되어 실제 사용자에게 알림이 가지 않으며, 테스트 모드로 등록된 테스트 토큰에만 메시지를 보낼 수 있습니다.

🔧 설정 방법: server.env: development (사일런트 모드, 알림 없음)
server.env: production (일반 모드, 알림 포함)
API 요청에 test: true 추가 시 등록된 테스트 토큰만 수신 가능
🛡️

멀티 레이어 보안

API 키 인증, IP 화이트리스트, Rate Limiting, Basic Auth 등 다층 보안 체계로 시스템을 보호합니다. Telegram OTP 인증으로 웹 대시보드 테스트 모드 전환을 안전하게 관리합니다.

🔧 기술 세부사항: Gin 미들웨어 체인으로 IP 필터링, API 키 검증, 속도 제한을 순차적으로 적용합니다. Redis를 사용한 분산 Rate Limiter로 초당 요청 수를 제한합니다. 6자리 OTP 코드로 5분간 유효한 일회용 인증을 제공합니다.
📝

상세 로깅 & 감사 추적

모든 전송 내역이 Redis에 저장됩니다. 전송 시간, 타겟 정보, 메시지 내용, 성공/실패 여부, FCM 응답 등 모든 정보를 추적할 수 있습니다.

🔧 기술 세부사항: Redis 기반 로그 저장소를 사용하여 빠른 접근과 확장성을 제공합니다. 전송 내역, 시스템 이벤트, 인증 기록 등을 효율적으로 관리하며, 페이지네이션과 필터링을 지원하여 효율적으로 조회 가능합니다.
🗂️

대기열 관리

Redis 큐의 상태를 실시간으로 조회하고 관리할 수 있습니다. 큐에 쌓인 메시지 수 확인, 큐 초기화, 메시지 재처리 등 대기열을 완벽하게 제어할 수 있습니다.

🔧 기술 세부사항: Redis LLEN으로 큐 길이를 실시간 조회하고, DEL 명령으로 큐를 초기화할 수 있습니다. REST API를 통해 큐 상태 모니터링 및 관리 작업을 수행합니다.
⏱️

Rate Limiting (속도 제한)

API 요청 속도를 제한하여 시스템 과부하를 방지합니다. IP별, API 키별로 초당 요청 수를 제한하고, 분산 환경에서도 일관된 속도 제한을 보장합니다.

🔧 기술 세부사항: Redis 기반 분산 Rate Limiter를 사용하여 여러 서버 인스턴스에서도 정확한 속도 제한을 적용합니다. 설정 파일에서 초당 허용 요청 수를 유연하게 조정 가능합니다.

📡 API 엔드포인트

RESTful API를 통해 모든 기능을 프로그래밍 방식으로 제어할 수 있습니다.
JSON 형식의 요청/응답으로 다양한 언어에서 쉽게 통합 가능합니다.

POST
/send

단일 토큰에 푸시 메시지 전송. 변수 치환을 지원하여 개인화된 메시지를 보낼 수 있습니다.

POST
/send/batch

여러 토큰에 동시 전송. 최대 500개까지 자동 분할 처리. 대량 발송에 최적화되어 있습니다.

POST
/send/topic

FCM 토픽에 메시지 전송. 구독한 모든 사용자에게 한 번에 알림을 보냅니다.

POST
/send/target

타깃별 개인화 전송. 각 토큰마다 다른 변수 값으로 맞춤형 메시지를 전송합니다.

💡 자동 최적화: 동일한 메시지 5개 이상 시 Multicast 사용

GET
/api/status

시스템 상태 조회. 큐 길이, 워커 상태, 메모리 사용량 등을 실시간으로 확인합니다.

GET
/api/logs

전송 로그 조회. 페이지네이션을 지원하며 전송 결과를 상세하게 확인할 수 있습니다.

GET
/api/scheduled

예약된 메시지 목록 조회. 대기 중인 스케줄을 확인하고 관리할 수 있습니다.

DELETE
/api/scheduled/:id

예약 메시지 취소. 아직 전송되지 않은 스케줄을 삭제할 수 있습니다.

GET
/api/topics

토픽 목록 관리. 등록된 모든 FCM 토픽을 조회하고 관리합니다.

🖥️ 인터페이스 & 통합

다양한 방법으로 Pushman을 활용할 수 있습니다.
웹 UI 대시보드부터 RESTful API까지 완벽하게 지원합니다.

🖥️

웹 UI 대시보드

직관적인 웹 인터페이스로 모든 기능을 쉽게 관리할 수 있습니다.

✓ 실시간 모니터링
✓ 메시지 전송 테스트
✓ 로그 조회 & 분석
✓ 스케줄 관리
📡

RESTful API

표준 HTTP API로 모든 언어에서 쉽게 통합 가능합니다.

✓ JSON 기반 통신
✓ API 키 인증
✓ 완벽한 문서 제공
✓ cURL 예제 포함
📊

실시간 대시보드

시스템 상태를 한눈에 확인하고 관리할 수 있습니다.

✓ Queue 상태 모니터링
✓ 스케줄 관리
✓ 시스템 메트릭
✓ 실시간 통계
📝

로그 & 추적 관리

모든 전송 내역을 상세하게 기록하고 추적할 수 있습니다.

✓ 전송 로그 완벽 기록
✓ 시스템 로그 관리
✓ 인증 기록 추적
✓ 검색 & 필터링

📦 지원 언어

다양한 프로그래밍 언어로 HTTP 요청을 통해 쉽게 통합할 수 있습니다.
RESTful API 기반으로 모든 언어에서 사용 가능합니다.

🐹

Go

컨텍스트 지원, 타입 안전

🐍

Python

Async/await, Type hints

📗

Node.js

TypeScript, Promise

🐘

PHP

PSR-4, Guzzle HTTP

🔧 환경 모드

개발 환경과 프로덕션 환경을 명확히 분리하고,
안전한 테스트 환경을 구축할 수 있는 다양한 모드를 제공합니다.

🧪 테스트 모드

test: true 파라미터로 등록된 테스트 토큰에만 전송하여
프로덕션 환경에서 안전하게 테스트할 수 있습니다.

테스트 토큰만 전송
🔒
실수 방지
📝
로그 구분 가능

🔧 개발자 모드

서버 전체를 사일런트 모드로 동작시켜 개발 환경에서 안전하게 테스트할 수 있습니다.
알림창 없이 데이터만 전송되므로 실제 사용자에게 방해되지 않습니다.

📱 Development Mode

server.env: development
  • ✓ 사일런트 전송 (알림 없음)
  • ✓ 데이터만 전송
  • ✓ 앱이 포그라운드일 때 수신
  • ✓ 사용자에게 알림창 표시 안됨

🚀 Production Mode

server.env: production
  • ✓ 전체 알림 전송
  • ✓ notification 필드 포함
  • ✓ 알림창 표시
  • ✓ 프로덕션 환경 사용

💡 모드 조합 예시

development + test: false
모든 토큰에 사일런트 전송
development + test: true
무시됨 → 모든 토큰에 사일런트 (위와 동일)
production + test: false
모든 토큰에 알림 전송
production + test: true
테스트 토큰만 알림 전송

💡 Tip: 개발 모드는 서버 설정(config.yaml)에서 제어하며, 테스트 모드는 API 요청마다 test: true 파라미터로 제어합니다. ⚠️ 테스트 모드는 Production 환경에서만 동작하며, Development 모드에서는 무시됩니다.

⚡ 성능 & 확장성

실전 벤치마크 기반의 검증된 성능 지표입니다.
고루틴 기반 동시성 처리로 높은 처리량을 보장합니다.

1-5ms

API 응답 시간
(큐 저장까지)

1,000+

초당 처리 가능
요청 수

10,000+

Redis 큐
초당 Push/Pop

250-500

Worker당 초당
FCM 전송 수

💻 권장 서버 사양 & Worker 구성

📱

소규모 (일일 ~10만건)

서버 스펙
  • CPU: 2 Core
  • RAM: 2GB
  • Redis: 512MB
Worker 구성
  • 인스턴스: 1대
  • Worker 수: 3-5개
  • 처리량: ~300 msg/s
🏢

중규모 (일일 ~100만건)

서버 스펙
  • CPU: 4 Core
  • RAM: 4GB
  • Redis: 1GB
Worker 구성
  • 인스턴스: 2-3대
  • Worker 수: 10-15개
  • 처리량: ~1,500 msg/s
🚀

대규모 (일일 1,000만건+)

서버 스펙
  • CPU: 8+ Core
  • RAM: 8GB+
  • Redis: 2GB+ (클러스터)
Worker 구성
  • 인스턴스: 5-10대+
  • Worker 수: 20-50개+
  • 처리량: ~5,000+ msg/s

💡 스케일링 팁

  • 수평 확장: Worker 인스턴스를 추가하여 처리량을 선형적으로 증가시킬 수 있습니다.
  • Worker 수 조정: CPU 코어 수의 2-3배로 Worker를 설정하는 것이 최적입니다.
  • Redis 최적화: 대량 트래픽 시 Redis Cluster 구성으로 무한 확장이 가능합니다.
  • 모니터링: CPU 사용률이 70% 이상이면 Worker를 추가하세요.

📊 처리량

  • 단일 전송 ~1,000 req/s
  • 배치 전송 ~100-500 batch/s
  • Redis Push ~10,000 msg/s
  • FCM 멀티캐스트 ~250-500 msg/s

⏱️ 지연 시간

  • 단일 전송 등록 ~2-5ms
  • 배치 전송 등록 ~10-50ms
  • 스케줄 등록 ~5-15ms
  • FCM 전송 ~100-500ms

💾 리소스 사용

  • API Server ~30-50MB
  • Worker ~30-50MB
  • Redis ~50MB-2GB
  • MySQL ~10-100MB

🛡️ 보안 & 인증

엔터프라이즈급 보안 기능으로 시스템과 데이터를 안전하게 보호합니다.

🔑 API Key 인증

모든 API 요청에 X-API-Key 헤더를 통한 인증이 필요합니다. 설정 파일에서 API 키를 관리하며, 키가 없는 요청은 자동으로 거부됩니다.

🌐 IP 화이트리스트

특정 IP 주소만 API에 접근할 수 있도록 제한합니다. CIDR 표기법을 지원하여 네트워크 단위로 접근을 관리할 수 있습니다.

⏱️ Rate Limiting

Redis 기반 분산 Rate Limiter로 초당 요청 수를 제한합니다. DDoS 공격과 과도한 요청으로부터 시스템을 보호합니다.

🔐 Basic Auth (대시보드)

웹 대시보드는 HTTP Basic Authentication으로 보호됩니다. 관리자만 시스템 상태와 로그를 확인할 수 있습니다.

🔒 HTTPS 지원

리버스 프록시(Nginx, Caddy 등)를 통해 HTTPS를 적용할 수 있습니다. 모든 데이터 전송이 암호화됩니다.

📋 감사 로깅

모든 API 요청과 전송 내역을 로그에 기록합니다. 보안 사고 발생 시 추적과 분석이 가능합니다.

🎯 활용 사례

다양한 산업과 비즈니스 시나리오에서 Pushman을 활용할 수 있습니다.

🛍️ 이커머스 & 쇼핑몰

주문 확인, 배송 알림, 특가 세일 정보를 고객에게 실시간으로 전달하세요. 장바구니 이탈 고객에게 리마인더를 보내 구매 전환율을 높일 수 있습니다. 재입고 알림, 쿠폰 만료 알림 등으로 재방문을 유도하세요.

스케줄 전송: 타임세일 오픈 시각에 맞춰 사전 예약 발송, 장바구니 담은 후 1시간/24시간 후 자동 리마인더 전송, 매일 오전 9시 신상품 알림 발송, 쿠폰 만료 D-3/D-1 자동 알림 등

💡 예시: "${customer}님, 장바구니에 담으신 ${product}이 10% 할인 중입니다!"

📱 소셜 미디어 & 커뮤니티

새로운 댓글, 좋아요, 팔로우 알림을 사용자에게 즉시 전송하세요. 사용자 참여를 높이고 활발한 커뮤니티를 만들 수 있습니다. 실시간 채팅, 멘션, 친구 요청 등 즉각적인 알림이 필요한 모든 경우에 활용하세요.

스케줄 전송: 주간/월간 활동 요약 리포트 매주 일요일 발송, 인기 게시물 다이제스트 매일 저녁 발송, 커뮤니티 이벤트 시작 1시간 전 사전 알림, 비활동 사용자 재참여 유도 메시지 정기 발송 등

💡 예시: "${user}님이 회원님의 게시물에 댓글을 남겼습니다."

💰 핀테크 & 금융 서비스

거래 내역, 입출금 알림, 보안 경고를 안전하게 전송하세요. 실시간 알림으로 고객의 자산을 보호하고 신뢰를 구축할 수 있습니다. 이상 거래 탐지, 계좌 잔액 부족, 대출 상환 알림 등에 활용하세요.

스케줄 전송: 대출 상환일 D-7/D-3/D-1 자동 알림, 카드 결제일 사전 안내, 월간 자산 리포트 매월 1일 발송, 정기 적금 만기 알림, 투자 수익률 주간 리포트 등

💡 예시: "${account} 계좌에서 ${amount}원이 출금되었습니다."

🎮 게임 & 엔터테인먼트

이벤트 시작, 보상 획득, 친구 요청 등을 플레이어에게 알려주세요. 푸시 알림으로 재방문율을 높이고 게임 몰입도를 향상시킬 수 있습니다. 한정 이벤트, 길드 전쟁, 에너지 충전 완료 등 시간에 민감한 알림에 최적입니다.

스케줄 전송: 길드 전쟁/레이드 시작 30분 전 사전 알림, 일일 퀘스트 리셋 알림 매일 자정 발송, 시즌 종료 D-7/D-3/D-1 카운트다운 알림, 휴면 유저 복귀 이벤트 안내 정기 발송, 주간 랭킹 보상 월요일 발송 등

💡 예시: "${player}님, 에너지가 모두 충전되었습니다! 지금 플레이하세요."

📰 뉴스 & 미디어

속보, 관심 주제 업데이트를 독자에게 신속하게 전달하세요. 토픽별 구독 기능으로 사용자가 원하는 콘텐츠만 받아볼 수 있습니다. Breaking News, 라이브 스코어, 날씨 알림 등에 활용하세요.

스케줄 전송: 아침 브리핑 뉴스 매일 오전 7시 발송, 인기 기사 다이제스트 매일 저녁 9시 발송, 주말 특집 기사 금요일 저녁 발송, 정기 구독 콘텐츠 발행 시각 예약 전송, 스포츠 경기 시작 1시간 전 프리뷰 발송 등

💡 예시: "[속보] ${category} - ${headline}"

🏥 헬스케어 & 피트니스

운동 리마인더, 건강 체크 알림, 약 복용 시간을 알려주세요. 예약 전송 기능으로 사용자의 건강 관리를 도울 수 있습니다. 진료 예약, 검사 결과, 건강 목표 달성 등을 알림으로 관리하세요.

스케줄 전송: 약 복용 알림 매일 정해진 시간 자동 발송, 진료 예약 D-3/D-1 리마인더, 운동 루틴 알림 매일 저녁 6시 발송, 물 마시기 알림 2시간마다 발송, 주간 건강 리포트 일요일 발송, 정기 검진 D-30/D-7 안내 등

💡 예시: "${time}에 ${medicine} 복용 시간입니다."

🚗 O2O & 배달 서비스

주문 접수, 배달 시작, 배달원 위치, 도착 예정 시간을 실시간으로 알려주세요. 고객 만족도를 높이고 불안감을 해소할 수 있습니다. 프로모션, 쿠폰, 단골 할인 등 마케팅 메시지도 효과적으로 전달하세요.

스케줄 전송: 점심/저녁 시간대 특가 프로모션 사전 발송, 주말 할인 쿠폰 금요일 발송, 단골 고객 리워드 매월 1일 지급 안내, 비오는 날 배달비 할인 기상 예보 연동 발송, 재주문 유도 메시지 마지막 주문 후 7일 경과 시 발송 등

💡 예시: "배달원이 ${distance}m 떨어진 곳에 있습니다. 약 ${time}분 후 도착 예정입니다."

🏢 Enterprise & SaaS

시스템 알림, 워크플로우 승인, 작업 완료 등 비즈니스 이벤트를 전달하세요. 팀 협업 도구, 프로젝트 관리, CRM 시스템 등에 통합하여 업무 효율을 높이고 실시간 커뮤니케이션을 강화하세요.

스케줄 전송: 주간 업무 리포트 매주 월요일 오전 발송, 프로젝트 마일스톤 D-7/D-3 알림, 정기 백업 완료 알림 매일 새벽 발송, 라이선스 만료 D-30/D-14/D-7 안내, 월간 사용량 리포트 매월 1일 발송, 시스템 점검 예정 사전 공지 등

💡 예시: "${employee}님이 제출한 ${document}의 승인이 필요합니다."

📚 상세 문서

Pushman의 모든 기능을 활용하기 위한 완벽한 문서를 제공합니다.
설치부터 운영까지 필요한 모든 정보가 담겨 있습니다.

🚀 지금 바로 시작하세요!

간단한 API 호출만으로 강력한 푸시 알림 시스템을 구축할 수 있습니다.
복잡한 설정 없이 즉시 사용 가능하며, 확장성과 안정성이 검증되었습니다.

📊 대시보드 확인 ✉️ 테스트 전송 📽️ 프레젠테이션

🔧 기술 스택

🐹
Golang

고성능 백엔드

🔴
Redis

인메모리 메시지 큐

🗄️
MySQL

경량 데이터베이스 · 영속성

🔥
Firebase

FCM Push Gateway

🎯
Gin

경량 웹 프레임워크

🐳
Docker

컨테이너 기반 배포