Skip to content

Commit a515a45

Browse files
committed
docs: replace skeleton readme with project readme
1 parent 6c407a8 commit a515a45

2 files changed

Lines changed: 97 additions & 26 deletions

File tree

README.md

Lines changed: 97 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,117 @@
1-
<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400" alt="Laravel Logo"></a></p>
1+
<p align="center">
2+
<img src="docs/assets/bluemenu-logo.png" alt="BlueMenu Web Editor" width="760">
3+
</p>
4+
5+
<p align="center">
6+
<strong>Browser based editor for BlueMenu menus, served at <a href="https://menu.blueva.net">menu.blueva.net</a>.</strong>
7+
</p>
28

39
<p align="center">
4-
<a href="https://github.com/laravel/framework/actions"><img src="https://github.com/laravel/framework/workflows/tests/badge.svg" alt="Build Status"></a>
5-
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a>
6-
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a>
7-
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a>
10+
<img alt="Laravel" src="https://img.shields.io/badge/Laravel-13-FF2D20?logo=laravel&logoColor=white">
11+
<img alt="PHP" src="https://img.shields.io/badge/PHP-8.3+-777BB4?logo=php&logoColor=white">
12+
<img alt="React" src="https://img.shields.io/badge/React-19-61DAFB?logo=react&logoColor=black">
13+
<img alt="TypeScript" src="https://img.shields.io/badge/TypeScript-7-3178C6?logo=typescript&logoColor=white">
14+
<img alt="Vite" src="https://img.shields.io/badge/Vite-8-646CFF?logo=vite&logoColor=white">
15+
<img alt="Tailwind" src="https://img.shields.io/badge/Tailwind-4-06B6D4?logo=tailwindcss&logoColor=white">
16+
<img alt="License" src="https://img.shields.io/badge/license-GPL--3.0-green">
817
</p>
918

10-
## About Laravel
19+
## Overview
20+
21+
This is the web frontend behind `/bm editor` in [BlueMenu](https://github.com/BluevaDevelopment/BlueMenu). Server owners edit their Java chest menus and their Bedrock forms from the browser instead of hand writing YAML, and the plugin applies the result on the live server.
22+
23+
The plugin is the source of truth. Menu files stay under `plugins/BlueMenu/menus/`, and the editor talks to the server over a WebSocket connection, so nothing is copied into a separate account or database that could drift from what the server actually loads.
24+
25+
## How a session works
26+
27+
1. A player runs `/bm editor` in game. The plugin opens a session against `wss://menu.blueva.net/ws` and hands the player a link.
28+
2. Opening the link binds that browser window to the session. Each window carries its own verification id, so a leaked link does not grant access on its own.
29+
3. If `require-confirmation` is on in `settings.yml`, the plugin waits for `/bm confirm` in game before the session becomes editable.
30+
4. The editor requests the menu list, loads a menu, and saves changes back through the same socket. With `auto-save` and `auto-reload` enabled, the plugin writes the YAML and reloads the menu immediately.
31+
32+
Sessions expire on their own, and the plugin rejects any message whose session is unknown, consumed or unconfirmed.
33+
34+
## Stack
35+
36+
- Laravel 13 on PHP 8.3+
37+
- React 19 with TypeScript 7, mounted from a Blade shell
38+
- Vite 8 with the Laravel plugin, Tailwind 4 and Bunny Fonts
39+
- SQLite by default, MySQL in production
40+
- PHPUnit for tests
41+
42+
## Project Layout
43+
44+
```
45+
app/
46+
├── Http/Controllers/ HTTP entry points
47+
├── Models/ Eloquent models
48+
└── Providers/ service providers
49+
resources/
50+
├── css/app.css Tailwind entry
51+
├── js/ React application, entry at app.tsx
52+
└── views/ Blade shell that mounts React
53+
routes/web.php web routes
54+
database/migrations/ schema
55+
tests/ PHPUnit feature and unit tests
56+
```
57+
58+
## Requirements
59+
60+
| Component | Version |
61+
|---|---|
62+
| PHP | 8.3+ |
63+
| Composer | 2+ |
64+
| Node | 20+ |
65+
| Database | SQLite for local work, MySQL 8+ in production |
66+
67+
## Getting Started
68+
69+
```bash
70+
composer setup
71+
```
1172

12-
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
73+
That single command installs dependencies, creates `.env`, generates the app key, migrates and builds the assets. To run it by hand:
1374

14-
- [Simple, fast routing engine](https://laravel.com/docs/routing).
15-
- [Powerful dependency injection container](https://laravel.com/docs/container).
16-
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
17-
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
18-
- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
19-
- [Robust background job processing](https://laravel.com/docs/queues).
20-
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
75+
```bash
76+
composer install
77+
cp .env.example .env
78+
php artisan key:generate
79+
php artisan migrate
80+
npm install
81+
npm run build
82+
```
2183

22-
Laravel is accessible, powerful, and provides tools required for large, robust applications.
84+
Then start the dev server:
2385

24-
## Learning Laravel
86+
```bash
87+
composer dev
88+
```
2589

26-
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
90+
`composer dev` runs `php artisan dev`, which brings up the PHP server, the queue worker, the log tailer and Vite together. If a frontend change does not show up, the Vite process is probably not running.
2791

28-
In addition, [Laracasts](https://laracasts.com) contains thousands of video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
92+
## Development
2993

30-
You can also watch bite-sized lessons with real-world projects on [Laravel Learn](https://laravel.com/learn), where you will be guided through building a Laravel application from scratch while learning PHP fundamentals.
94+
```bash
95+
npm run dev # Vite dev server with hot reload
96+
npm run typecheck # tsc --noEmit
97+
npm run build # production assets
98+
composer test # clears config, then runs PHPUnit
99+
```
31100

32-
## Contributing
101+
Run the narrowest test set that covers a change, for example `php artisan test --compact --filter=SomeTest`.
33102

34-
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
103+
## Deployment
35104

36-
## Code of Conduct
105+
`.github/workflows/deploy.yml` typechecks, builds and runs the test suite on every push and pull request. On `main` it then pulls, installs production dependencies, rebuilds the assets, migrates and warms the caches on the host.
37106

38-
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
107+
## Authors
39108

40-
## Security Vulnerabilities
109+
- Blueva
110+
- Whiron
111+
- Arthuurrr
41112

42-
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed.
113+
Website: [blueva.net](https://blueva.net)
43114

44115
## License
45116

46-
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
117+
Licensed under the [GNU General Public License v3.0](LICENSE).

docs/assets/bluemenu-logo.png

419 KB
Loading

0 commit comments

Comments
 (0)