글로벌 비즈니스 통합 지원
글로벌 스케일 확장을 위한 국제화 및 트랜잭션 인프라
확장 가능한 다국어 지원 구조
접속자의 지역과 언어를 감지하여 일관된 다국어 화면을 제공합니다. 구성 요소별 텍스트나 작은 알림 문구 하나까지 사전 설정을 통해 동적으로 대체할 수 있는 유연성을 제공합니다.
다국어 바인딩 문서 보기시스템의 역할을 명확히 분리한 견고한 아키텍처를 통해, 기술 부채의 늪에 빠지지 않고 서비스의 규모를 유연하게 확장할 수 있는 최적의 DX(Developer Experience)를 경험해 보세요.
글로벌 스케일 확장을 위한 국제화 및 트랜잭션 인프라
확장 가능한 다국어 지원 구조
접속자의 지역과 언어를 감지하여 일관된 다국어 화면을 제공합니다. 구성 요소별 텍스트나 작은 알림 문구 하나까지 사전 설정을 통해 동적으로 대체할 수 있는 유연성을 제공합니다.
다국어 바인딩 문서 보기AI 어시스턴트와의 완벽한 페어 프로그래밍을 위한 아키텍처 설계
AI 최적화 코드 컨텍스트
Laravel과 React 생태계를 기반으로 엄격한 타입 정의(Type Definition)와 일관된 코드 컨벤션을 적용했습니다. 명확한 구조화 덕분에 AI가 프로젝트의 컨텍스트를 정확히 파악하여, 기술 부채 없는 최적화된 코드를 제안할 수 있습니다.
코어 설정 문서 보기다층(Multi-layer) 캐싱 시스템
API 응답 데이터, 화면 렌더링 구조, 권한 인증 정보 등을 다중 레이어로 캐싱합니다. 불필요한 DB 쿼리 및 서버 연산을 최소화하여 높은 처리량(Throughput)과 짧은 지연 시간(Low Latency)을 보장합니다.
캐시 드라이버 문서 보기보안 파이프라인
토큰 기반 인증(Token-based Auth) 및 입력값 자동 검증(Request Validation)을 기본 제공하며, 프레임워크 레벨에서 보안 위협을 차단하는 다층 방어 구조를 갖췄습니다.
검증 규칙 문서 보기레고 블록처럼 조립하는 유연한 시스템 확장성
코어와 모듈의 분리 설계
핵심 시스템과 비즈니스 로직을 느슨하게 결합하여 확장성을 극대화했습니다. 회원 모듈을 바탕으로 커뮤니티(게시판, 쪽지), 커머스(상품, 주문), 예약 등의 독립적인 비즈니스 모듈을 플러그인처럼 쉽게 추가하고 분리할 수 있습니다.
모듈 기초 문서 보기정교한 역할 기반 권한 제어
단순한 페이지 접근을 넘어, 역할에 따른 API 호출 권한, 메뉴 노출, 데이터 조회 범위까지 엔드포인트와 화면 단위에서 세밀하게 제어할 수 있는 시스템을 제공합니다.
권한 시스템 문서 보기빌드 과정 없는 실시간 렌더링 제어 환경
데이터 기반 동적 라우팅 및 화면 구성
프론트엔드의 별도 빌드나 배포 과정을 거칠 필요가 없습니다. 데이터(JSON) 스키마만으로 화면 구조와 경로를 정의하여 즉시 렌더링하는 서버 주도형 UI 환경을 지원합니다.
레이아웃 JSON 문서 보기레이아웃 편집기
화면 블록을 직접 배치하고 수정 결과를 실시간으로 미리 볼 수 있는 시각적 편집기를 제공하여, 하드코딩 없이도 화면 수정 공수를 대폭 줄여줍니다.
utf8mb4, utf8mb4_unicode_ci)ctype, curl, gd, intl, redis, imagick 등)| OS | 지원 수준 | 비고 |
|---|---|---|
| Linux (Ubuntu 22.04+, CentOS/RHEL 8+) | 프로덕션 권장 | 가장 안정적 |
| 웹서버 | 버전 | 비고 |
|---|---|---|
| Nginx | 1.18+ | 프로덕션 권장 |
| Apache | 2.4+ | mod_rewrite 활성화 필수 |
public/index.php를 진입점으로 사용.htaccess 파일이 URL 리라이팅 처리| 항목 | 요구사항 |
|---|---|
| 버전 | 8.2 이상 (^8.2) |
| SAPI | FPM (권장) 또는 mod_php |
| 모듈 | 용도 |
|---|---|
bcmath | 정밀 수학 연산 (가격 계산 등) |
ctype | 문자 타입 검사 |
curl | HTTP 클라이언트 |
dom | XML/HTML DOM 처리 |
exif | 이미지 메타데이터 읽기 |
fileinfo | MIME 타입 감지 |
filter | 데이터 필터링/검증 |
gd | 이미지 처리 (썸네일, 리사이징) |
hash | 해시 함수 |
imagick | 고급 이미지 처리 (ImageMagick) |
intl | 국제화 (다국어, 날짜/숫자 포맷) |
json | JSON 인코딩/디코딩 |
ldap | LDAP 인증 연동 |
libxml | XML 파싱 기반 라이브러리 |
maxminddb | GeoIP 데이터베이스 조회 |
mbstring | 멀티바이트 문자열 처리 |
memcached | Memcached 캐시 드라이버 |
openssl | 암호화/복호화 (AES-256-CBC) |
pcntl | 프로세스 제어 (큐 워커) |
pcre | 정규 표현식 |
pdo | 데이터베이스 추상화 |
pdo_mysql | MySQL/MariaDB PDO 드라이버 |
phar | Phar 아카이브 (Composer) |
posix | POSIX 함수 (프로세스 관리) |
redis | Redis 캐시/세션/큐 드라이버 |
session | 세션 관리 |
simplexml | 간편 XML 파싱 |
sodium | 최신 암호화 라이브러리 |
tokenizer | PHP 토큰 파싱 |
xml | XML 파서 |
xmlwriter | XML 문서 생성 |
zip | ZIP 압축/해제 |
zlib | 데이터 압축 |
| 설정 | 최소값 | 권장값 | 비고 |
|---|---|---|---|
memory_limit | 128M | 256M+ | 이미지 처리 시 높은 메모리 필요 |
upload_max_filesize | 10M | 20M+ | 첨부파일 업로드 크기 |
post_max_size | 12M | 25M+ | upload_max_filesize보다 커야 함 |
max_execution_time | 60 | 120+ | 대량 데이터 처리 시 |
max_input_vars | 1000 | 5000+ | 복잡한 폼 데이터 처리 |
| DBMS | 최소 버전 | 비고 |
|---|---|---|
| MySQL | 8.0 이상 | 프로덕션 권장 |
| MariaDB | 10.3 이상 | MySQL 호환 대안 |
| 항목 | 값 | 비고 |
|---|---|---|
| charset | utf8mb4 | 이모지 등 4바이트 문자 지원 |
| collation | utf8mb4_unicode_ci | 유니코드 정렬 |
| 테이블 접두어 | g7_ (기본값) | .env에서 DB_PREFIX로 변경 가능 |
선택 기능:
DB_WRITE_* / DB_READ_* 환경 변수)| 수준 | 용량 | 포함 범위 |
|---|---|---|
| 최소 | 700MB | 코어 + 기본 확장 |
| 권장 | 2GB 이상 | 코어 + 확장 + 첨부파일 + 캐시 + 로그 |
storage/ 디렉토리에 쓰기 권한 필수| 항목 | 요구사항 | 비고 |
|---|---|---|
| Redis | 6.0 이상 | 캐시, 세션, 큐 드라이버로 사용 가능 |
redis 확장 필요 (phpredis)| 서비스 | 용도 | 필수 여부 |
|---|---|---|
| AWS S3 | 파일 스토리지 (클라우드) | 선택 |
| AWS SES | 이메일 발송 | 선택 |
| AWS SQS | 큐 처리 (대규모 트래픽) | 선택 |
aws/aws-sdk-php 패키지 포함됨| 서비스 | 비고 |
|---|---|
| Mailgun | symfony/mailgun-mailer 패키지 포함됨 |
| AWS SES | 위 AWS 서비스 참조 |
| SMTP | 자체 SMTP 서버 사용 가능 |
MAIL_MAILER=log로 설정| 항목 | 요구사항 | 비고 |
|---|---|---|
| Laravel Reverb | 포함됨 (laravel/reverb ^1.6) | 자체 호스팅 WebSocket 서버 |
| 기본 포트 | 8080 | REVERB_PORT로 변경 가능 |
pusher-js 클라이언트 포함됨)| 환경 | 요구사항 |
|---|---|
| 프로덕션 | HTTPS 필수 |
wss:// 프로토콜 사용 (REVERB_SCHEME=https)SESSION_SECURE_COOKIE=true 설정 권장프로덕션 환경에서 상시 실행해야 하는 프로세스:
| 프로세스 | 명령어 | 관리 도구 |
|---|---|---|
| 큐 워커 | php artisan queue:work | Supervisor 등 |
| 스케줄러 | php artisan schedule:run | cron (매분 실행) |
| WebSocket | php artisan reverb:start | Supervisor 등 |
# cron 예시 (스케줄러)
* * * * * cd /path/to/g7 && php artisan schedule:run >> /dev/null 2>&1
| 브라우저 | 지원 범위 |
|---|---|
| Chrome / Edge | 최신 2개 버전 |
| Firefox | 최신 2개 버전 |
| Safari | 최신 2개 버전 |
공유 호스팅에서도 그누보드7 설치는 가능하지만, 호스팅 업체에 따라 아래 기능이 제한될 수 있습니다.
제한될 수 있는 기능:
| 제한 항목 | 영향받는 기능 | 대안 |
|---|---|---|
| 데몬 프로세스 (Supervisor) | 큐 워커 상시 실행 불가 | QUEUE_CONNECTION=sync (동기 처리) |
| cron 최소 간격 | 스케줄러 분 단위 실행 제한 | 호스팅 cPanel cron (지원 간격 확인) |
PHP 확장 제한 (pcntl, posix, redis, imagick 등) | 큐 워커, 프로세스 관리, Redis 캐시, 이미지 처리 | 파일/DB 캐시, GD 라이브러리 |
PHP 설정 변경 (memory_limit, max_execution_time 등) | 대용량 파일 업로드, 이미지 처리 | 호스팅 관리자에게 변경 요청 |