Contribution Guide

Вы просматриваете документацию старой версии MoonShine. Рассмотрите возможность обновления вашего проекта до MoonShine 2.x.

# Чем можно помогать?

Сообществу нужны активные пользователи. Можно помочь разными формами:

  • Дополнять код
  • Front-end разработка
  • Отправлять отчёты об ошибках
  • Помогать другим пользователям разобраться в деталях
  • Заниматься написанием документации
  • Заниматься популяризацией проекта

# Используем

  • Blade
  • Tailwindcss
  • AlpineJs

# С чего мы начнем?

Есть уже функционирующий продукт, полностью работоспособный и поддающийся тестированию. Работающий не означает великолепный, поэтому наша задача - сделать его лучше.

# Pull requests

Вы можете предложить новые функции или улучшения для MoonShine! Ошибки и баги - все это можно зафиксировать и отправить на доработку. Также я рад новым специалистам по развитию open source проекта.

# Где обсуждать разработку?

Для активных участников проекта создан отдельный чат в telegram. Если Вы готовы принять участие в разработке, то вступайте - MoonShine .

# Если нашли ошибку

1. У вас достаточно опыта, чтобы предложить её решение. Я буду крайне рад вашему PR с описанием ошибки и вариантом её исправления.
2. Если не знаете, как решить проблему - создавайте GitHub issues, и в ближайшее время мы исправим эту проблему.

* Важно, чтобы ваш pr прошел все тесты платформы и имел подробное описание, чтобы всем участникам разработки было понятно, что именно произошло.

# Основная ветка

На данный момент основная ветка 1.5.x

# Coding style

MoonShine придерживается PSR-12 стандарта и PSR-4 autoload стандарта.

# Инструкция для разработчиков

1 Создайте директорию для проекта и клонируйте демо
git clone git@github.com:moonshine-software/demo-project.git .
2 Добавьте директорию packages и выполните команду ниже
cd packages && git clone git@github.com:moonshine-software/moonshine.git && cd moonshine && composer install && npm install
3 Вернитесь в директорию проекта и в composer.json удалите зависимость moonshine/moonshine
"moonshine/moonshine": "^1.50",
3 Добавьте загрузку MoonShine из директории packages в autoload секцию в composer.json
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/",
"MoonShine\\": "packages/moonshine/src"
}
},
4 Добавьте MoonShineServiceProvider в config/app.php
use App\Providers\MoonShineServiceProvider;
// Import vendor provider
use MoonShine\Providers\MoonShineServiceProvider as MSProvider;
 
// ..
 
/*
* Package Service Providers...
*/
// Add vendor provider
MSProvider::class,
 
// ..
5 Создайте .env из .env.example (не забудьте создать базу данных) и выполните установку ниже
composer require lee-to/laravel-package-command && composer require rap2hpoutre/fast-excel && composer install && npm install
php artisan key:generate
php artisan storage:link
php artisan migrate --seed
php artisan moonshine:user
php artisan serve
# Создайте что-нибудь полезное

# Как делать pull request?

  • Перейдите в MoonShine репозиторий и нажмите Fork
  • Сделайте git clone вашего fork
  • Создайте новую ветку для ваших изменений
  • Делайте commits, полагаясь на конвенцию https://www.conventionalcommits.org
  • Сделайте push ваших изменений в ваш fork
  • Снова перейдите в репозиторий MoonShine и нажмите New pull request
  • Опишите ваши изменения в описании
  • Ожидайте ревью

# Возникли вопросы?

Меня зовут Данил! Пишите мне на почту thecutcode@gmail.com