PHPackages                             inium/laraboard - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. inium/laraboard

ActiveLibrary[Framework](/categories/framework)

inium/laraboard
===============

A simple board on Laravel.

0.2.4(2y ago)7791MITPHPPHP ^8.0.2

Since Jul 7Pushed 2y ago1 watchersCompare

[ Source](https://github.com/inium/laraboard)[ Packagist](https://packagist.org/packages/inium/laraboard)[ RSS](/packages/inium-laraboard/feed)WikiDiscussions master Synced 6d ago

READMEChangelog (4)Dependencies (1)Versions (8)Used By (0)

laraboard
=========

[](#laraboard)

Laravel 게시판 스캐폴딩(Scaffolding) 패키지 입니다.

API 형태로 사용하기 위해 Laravel 9.x / PHP 8.x 기반으로 제작하였습니다. 게시판 게시글, 2 Depth 댓글을 지원하며 회원 정보는 Laravel에서 기본으로 제공하는 users를 이용합니다.

- API 형태로 제작하였기 때문에 view 파일은 존재하지 않습니다.

구성
--

[](#구성)

본 게시판 패키지는 아래의 항목으로 구성되어 있습니다.

항목내용비고게시판
(board)- 게시판 게시글과 댓글 작성시 부여할 포인트 설정
 - 페이지당 보여질 게시글 수 / 댓글 수 설정게시판 테이블에서 직접 설정게시글
(post)- 게시판별 게시글 목록, 검색, 조회, 추가, 수정, 삭제
 - 게시글 제목 / 본문 검색
 - 게시글 조회 시 조회수 1 증가
 - 게시글 추가 시 게시판에서 설정된 포인트 부여
 - 게시글 추가, 수정, 삭제 시 작성자 정보 저장 (Optional)
 - 게시글 추가, 수정, 삭제 시 작성자 인증 확인
 - 게시글에 댓글이 존재할 시 삭제 불가- 게시글 추가 시 검색용으로 [Strip tag](https://www.php.net/manual/en/function.strip-tags.php)된 게시글 본문 별도 저장
 - 게시글 삭제 시 [Soft Delete](https://laravel.kr/docs/9.x/eloquent#%EC%86%8C%ED%94%84%ED%8A%B8%20%EC%82%AD%EC%A0%9C%ED%95%98%EA%B8%B0) 적용댓글
(comment)- 게시글 댓글 목록, 검색, 조회, 추가, 수정, 삭제
 - 댓글 본문 검색
 - 댓글 추가 시 게시판에 설정된 포인트 부여
 - 댓글 추가, 수정, 삭제 시 작성자 정보 저장 (Optional)
 - 댓글 추가, 수정, 삭제 시 작성자 인증 확인
 - 댓글에 댓글 (대댓글) 존재 시 해당 댓글 삭제 불가- 댓글 추가 시 검색용으로 [Strip tag](https://www.php.net/manual/en/function.strip-tags.php)된 게시글 본문 별도 저장
 - 댓글 삭제 시 [Soft Delete](https://laravel.kr/docs/9.x/eloquent#%EC%86%8C%ED%94%84%ED%8A%B8%20%EC%82%AD%EC%A0%9C%ED%95%98%EA%B8%B0) 적용데이터베이스
(database)- 게시판, 게시글, 댓글 테이블(migration)
 - 게시판, 게시글 댓글 테스트 데이터 (factory, seeder)
- 게시글 200개 (일반글 )+ 5개(공지사항) 생성
 - 댓글 100개 + 100개 댓글별 1~8개 사이의 자식 댓글 생성기능 테스트
 (Feature Test)- 게시글, 댓글 CRUD에 대한 기능 테스트(Feature Test) 정의- User Agent 포함한 Test 제외 (추후 추가 예정)### 작성자 정보 저장 (Optional)

[](#작성자-정보-저장-optional)

[`config/laraboad.php`](src/Laraboard/config/laraboard.php)의 `collect_user_info` 항목을 true로 설정할 경우 아래의 정보를 게시글 및 댓글 작성 시 같이 저장합니다.

항목내용비고IP접속한 사용자의 IP Address암호화 하여 저장User Agent접속한 사용자의 User Agent 문자열암호화 하여 저장Device Type접속한 사용자가 사용한 기기 형태desktop, tablet, mobile, others 중 1
 [Agent.php](src/Support/Detect/Agent.php) 참조OS Name접속한 사용자의 OS 이름[Agent.php](src/Support/Detect/Agent.php) 참조 / 확인불가 시 nullOS Version접속한 사용자의 OS 버전[Agent.php](src/Support/Detect/Agent.php) 참조 / 확인불가 시 nullBrowser Name접속한 사용자의 Browser 이름[Agent.php](src/Support/Detect/Agent.php) 참조 / 확인불가 시 nullBrowser Version접속한 사용자의 Browser 버전[Agent.php](src/Support/Detect/Agent.php) 참조 / 확인불가 시 null### 사용자 정보 인증

[](#사용자-정보-인증)

> **주의: Laravel의 HTTP 기본 인증은 email:password 문자열을 base64 인코딩하여 사용하기 때문에 보안에 취약하니 본 패키지 사용 시 반드시 변경하여 사용하시는 것을 권장합니다.**

본 패키지는 구현의 편의를 위해 [HTTP 기본 인증 (Basic Auth)](https://laravel.kr/docs/9.x/authentication#HTTP%20%EA%B8%B0%EB%B3%B8%20%EC%9D%B8%EC%A6%9D)을 이용합니다.

사용자 인증이 적용되는 범위는 아래와 같습니다.

항목인증범위비고게시글
(post)등록(POST), 수정(PUT), 삭제(DELETE)HTTP 기본 인증 (Basic Auth) 적용댓글
(comment)등록(POST), 수정(PUT), 삭제(DELETE)HTTP 기본 인증 (Basic Auth) 적용### Strip Tag: 게시글 / 댓글 저장

[](#strip-tag-게시글--댓글-저장)

게시글, 댓글 본문 저장 시 strip tag (+html special char)를 적용하며 XSS Protection을 적용하였습니다.

허용할 tag는 [`config/laraboad.php`](src/Laraboard/config/laraboard.php)의 `allow_post_content_tags`, `allow_comment_content_tags` 에서 설정할 수 있습니다.

Dependencies
------------

[](#dependencies)

본 패키지는 아래의 의존성을 가지고 개발되었습니다.

항목패키지버전설명비고FrameworkLaravel9.x--LanguagePHP8.x--External Pcakge[jenssegers/agent](https://packagist.org/packages/jenssegers/agent)3.0@dev사용자 IP Address, User Agent, OS 이름/버전, 접속 Browser 이름/버전 분석`composer` 설치 (본 패키지 설치 시 자동으로 같이 설치)사용방법
----

[](#사용방법)

패키지 사용 방법은 아래와 같습니다.

### 1. Package install

[](#1-package-install)

아래와 같이 Laravel 9.x가 설치된 프로젝트 디렉터리 내에서 `composer` 명령어를 이용해 설치합니다.

```
composer require inium/laraboard
```

### 2. Publish files &amp; Append routes

[](#2-publish-files--append-routes)

아래 명령어를 이용해 Laraboard의 파일들을 Publish 하고 route를 routes/api.php에 append 합니다

```
php artisan laraboard:publish
```

명령어를 실행하면 아래의 경로에 Laraboard 파일들을 생성합니다.

항목Path설명비고Controllerapp\\Http\\Controllers\\LaraboardLaraboard 컨트롤러Modelsapp\\Http\\Models\\LaraboardLaraboard 모델PublishRequestsapp\\Http\\Requests\\LaraboardLaraboard Request
 - Validation 수행PublishConfigconfig/laraboard.phpLaraboard 환경설정 파일PublishDatabase
 Migrationsdatabase/migrations/laraboardLaraboard 데이터베이스 테이블 정의PublishDatabase
 Factoriesdatabase\\FactoriesLaraboard 데이터베이스 팩토리PublishDatabase
 Seedersdatabase\\Seeders\\LaraboardLaraboard 데이터베이스 SeedPublishRouteroutes/laraboard/api.phpLaraboard API route를 routes/api.php 하단에 포함(require)하여 적용PublishTesttests/Feature/LaraboardLaraboard 게시글(Post), 댓글(Comment)에 대한 기능 테스트Publish- 비고 &gt; Publish: 패키지 내 정의된 Laraboard 코드를 프로젝트에 배포합니다.

### 3. Database migration

[](#3-database-migration)

아래 명령어를 이용해 Laraboard 테이블 정보를 migration 합니다.

```
php artisan migrate --path=database/migrations/laraboard
```

### 4. (Optional) 테스트 데이터 생성

[](#4-optional-테스트-데이터-생성)

테스트를 위한 데이터가 필요할 경우 아래 명령어를 이용해 테스트 데이터를 Laraboard 테이블에 추가할 수 있습니다.

```
php artisan db:seed --class="Database\\Seeders\\Laraboard\\LaraboardSeeder"
```

- 위 명령어 실행 시 많은 데이터를 추가하기 때문에 오랜 시간이 소요됩니다.

### 5. 기능 테스트

[](#5-기능-테스트)

아래 명령어를 이용해 기능 테스트를 실행합니다.

```
php artisan test
```

기타
--

[](#기타)

### Timezone

[](#timezone)

본 게시판 패키지의 Timezone은 Laravel 프로젝트의 설정파일인 `config/app.php`에 지정된 Timezone을 이용합니다. 기본 Timezone은 UTC 입니다.

### 파일 업로드

[](#파일-업로드)

본 게시판 패키지는 별도의 파일 업로드 기능이 구현되어 있지 않습니다.

### 관리

[](#관리)

본 게시판 패키지의 관리 페이지는 구현되어 있지 않습니다.

API 명세
------

[](#api-명세)

본 패키지의 게시글, 댓글 API에 대한 사용 방법은 아래 내용을 참조 바랍니다.

- [게시글 API 명세](rest.comment.example.http)
- [댓글 API 명세](rest.comment.example.http)

License
-------

[](#license)

MIT

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~213 days

Recently: every ~75 days

Total

6

Last Release

1071d ago

PHP version history (3 changes)0.1.0PHP ^7.2.5

0.2.0PHP ^8.1

0.2.2PHP ^8.0.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/db228c07c21117cae789c064f7d26b2adedca6da44fb7dbd25289ebfa25a12a4?d=identicon)[inlee](/maintainers/inlee)

---

Top Contributors

[![inium](https://avatars.githubusercontent.com/u/9084843?v=4)](https://github.com/inium "inium (273 commits)")

---

Tags

boardkoreanlaravelscaffoldinglaravelboard

### Embed Badge

![Health badge](/badges/inium-laraboard/health.svg)

```
[![Health](https://phpackages.com/badges/inium-laraboard/health.svg)](https://phpackages.com/packages/inium-laraboard)
```

###  Alternatives

[microweber/microweber

New generation CMS with drag and drop

3.4k13.8k1](/packages/microweber-microweber)[flex/blog

An Elegant Blog System

1231.1k](/packages/flex-blog)[despark/ignicms

Administrative interface builder for Laravel 5.1

222.5k1](/packages/despark-ignicms)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
