텔레그램 그룹: pinkary.com/telegram » .
핑커리에 오신 것을 환영합니다! Pinkary는 귀하의 모든 링크에 대한 랜딩 페이지이자 소음 없이 같은 생각을 가진 사람들과 연결할 수 있는 장소입니다.
처음에는 사람들이 링크를 보다 체계적으로 공유할 수 있도록 돕기 위해 만들어졌습니다. 단 15시간 만에 composer create-project
부터 제작까지 진행했고, 24시간 만에 사용자가 1,000명이 넘었습니다.
소스 코드에는 여전히 성급한 징후가 있습니다. 이것이 바로 우리가 이를 여러분과 공유하는 것이 중요하다고 생각하는 이유입니다. 그래야 우리가 항상 목표로 하는 품질과 상황에 따른 빠른 속도를 결합하여 어떻게 구축했는지 확인할 수 있습니다 .
시간이 지남에 따라 피드, 탐색, 질문, 좋아요 등과 같은 더 많은 기능을 추가할 수 있었습니다. 또한 디자인을 개선하고 테스트를 추가했으며 코드의 전반적인 품질을 개선했습니다. 아직 해야 할 일이 많지만 가장 중요한 것은 이를 커뮤니티 중심 프로젝트로 만들 수 있는 엄청난 기회가 있다는 것입니다.
Pinkary는 일반 Laravel 애플리케이션입니다. Laravel 11을 기반으로 구축되었으며 프런트엔드에 Livewire/Tailwind CSS를 사용합니다. Laravel에 익숙하다면 마치 집처럼 느껴질 것입니다.
로컬 개발 측면에서 다음 요구 사항을 사용할 수 있습니다.
이러한 요구 사항이 있는 경우 저장소를 복제하고 종속성을 설치하여 시작할 수 있습니다.
git clone https://github.com/pinkary-project/pinkary.com.git
cd pinkary.com
git checkout -b feat/your-feature # or fix/your-fix
main
브랜치로 직접 푸시하지 마세요 . 대신 새 분기를 만들어 이를 분기에 푸시하세요.
다음으로 Composer와 NPM을 사용하여 종속성을 설치합니다.
composer install
npm install
그런 다음 .env
파일을 설정합니다.
cp .env.example .env
php artisan key:generate
데이터베이스를 준비하고 마이그레이션을 실행합니다.
touch database/database.sqlite
php artisan migrate
저장소를 공용 폴더에 연결합니다.
php artisan storage:link
별도의 터미널 에서 감시 모드로 자산을 빌드합니다.
npm run dev
또한 별도의 터미널 에서 대기열 작업자를 실행합니다.
php artisan queue:work
마지막으로 개발 서버를 시작합니다.
php artisan serve
참고: 기본적으로 이메일은
log
드라이버로 전송됩니다..env
파일에서 이를mailtrap
같은 것으로 변경할 수 있습니다.
코드 변경이 완료되면 테스트 스위트를 실행하여 모든 것이 여전히 작동하는지 확인하십시오.
composer test
모든 것이 녹색이면 브랜치를 푸시하고 풀 요청을 생성합니다.
git commit -am " Your commit message "
git push
github.com/pinkary-project/pinkary.com/pulls를 방문하여 풀 요청을 생성하세요.
Pinkary는 코드 품질과 일관성을 보장하기 위해 몇 가지 도구를 사용합니다. 물론 테스트 프레임워크로는 Pest가 선택되었으며, 정적 분석에도 PHPStan을 사용합니다. Pest의 유형 적용 범위는 100%이며, 테스트 스위트도 100% 적용 범위입니다.
코드 스타일 측면에서 우리는 코드가 일관되고 Laravel 규칙을 따르는지 확인하기 위해 Laravel Pint를 사용합니다. 또한 Rector를 사용하여 코드가 최신 PHP 버전으로 최신 상태인지 확인합니다.
다음 명령을 사용하여 이러한 도구를 개별적으로 실행합니다.
# Lint the code using Pint
composer lint
composer test:lint
# Refactor the code using Rector
composer refactor
composer test:refactor
# Run PHPStan
composer test:types
# Run the test suite
composer test:unit
# Run all the tools
composer test
테스트 스위트를 통과하지 못한 풀 요청은 병합되지 않습니다. 따라서 설치 섹션에서 제안한 대로 브랜치를 푸시하기 전에 테스트 스위트를 실행해야 합니다.
Pinkary는 DigitalOcean에서 호스팅되며 Laravel Forge를 사용하여 서버와 배포를 관리합니다. 서버는 Ubuntu 22.04(LTS) x64에서 실행 중이며 vCPU 2개, 2GB/25GB 디스크 드롭릿입니다.
우리가 사용하는 유일한 서비스는 이메일 전송을 관리하는 Mailcoach입니다. 그 외에도 SQLite는 데이터베이스 드라이버, 세션 드라이버, 큐 드라이버, 캐시 드라이버 등으로 사용됩니다.
서버 백업은 Digital Ocean에서 매일 수행됩니다.
Pinkary는 GNU Affero General Public License 에 따라 라이센스가 부여된 오픈 소스 소프트웨어입니다.