Skip to content

Commit 1b11b88

Browse files
committed
Docs
1 parent 758f755 commit 1b11b88

File tree

47 files changed

+3185
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+3185
-0
lines changed

docs/Audit/IDEA.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Idea
2+
3+
Use:
4+
5+
- [spatie/laravel-activitylog](https://github.com/spatie/laravel-activitylog)
6+
7+
see existing plugins
8+
9+
- [adrolli/filament-spatie-laravel-activitylog](https://github.com/adrolli/filament-spatie-laravel-activitylog) - to be archived then
10+
- [mansoor-versionable](https://filamentphp.com/plugins/mansoor-versionable) uses [overtrue/laravel-versionable](https://github.com/overtrue/laravel-versionable), not Spatie, but the UI is nice
11+
- [guava-drafts](https://filamentphp.com/plugins/guava-drafts) uses [oddvalue/laravel-drafts](https://github.com/oddvalue/laravel-drafts), not Spatie, does not look very promising
12+
- [laravel-auditing](https://laravel-auditing.com/) and [filament-auditing](https://github.com/TappNetwork/filament-auditing) (pretty interesting ... adds a Resource Manager to a Model)
13+
- [oriondevelops/filament-activity-log](https://github.com/oriondevelops/filament-activity-log)
14+
- [shuvroroy/filament-spatie-laravel-activitylog](https://github.com/shuvroroy/filament-spatie-laravel-activitylog)
15+
- [rmsramos/activitylog](https://github.com/rmsramos/activitylog) - nice looking timeline view
16+
- [Z3d0X/filament-logger](https://github.com/Z3d0X/filament-logger) // [z3d0x-logger](https://filamentphp.com/plugins/z3d0x-logger)
17+
- [pxlrbt/filament-activity-log](https://github.com/pxlrbt/filament-activity-log) forked [noxoua-activity-log](https://filamentphp.com/plugins/noxoua-activity-log)
18+
19+
distinguish between following:
20+
21+
- Model changes
22+
- User actions
23+
- Mail tracking
24+
- Jobs tracking
25+
- Scheduled tasks
26+
- Other (system messages)
27+
- Laravel logs (out of scope, I guess)

docs/Backup/IDEA.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Idea
2+
3+
Use:
4+
5+
- [spatie/laravel-backup](https://spatie.be/docs/laravel-backup)
6+
7+
see existing plugins
8+
9+
- [shuvroroy/filament-spatie-laravel-backup](https://github.com/shuvroroy/filament-spatie-laravel-backup)
10+
- [oriondevelops/filament-backup](https://github.com/oriondevelops/filament-backup)
11+
12+
Should use activity log

docs/BuilderPro/IDEA.md

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
# Idea
2+
3+
https://github.com/nunomaduro/skeleton-php
4+
5+
- We do not have real translations (of fields) in Builder, that's odd
6+
- We cannot add contexts as the command is not flexible, it just knows preview and package (and falls back to app, I guess). It should be using the config and the config can have custom contexts. Another thing, contexts are taken from builder.php not pro/builder.php, why?
7+
- CustomDemo ausbauen, FullItemPreset with all Blocks, see if all blocks are ready for prime time
8+
- Translatable Block and TranslatableItemPreset
9+
- visible for features that depend on deleted tab must be compatible with translations
10+
- Installer in Moox Core - https://chatgpt.com/c/675da73e-ed6c-800c-8a7a-6a886fa78f1f
11+
- We have dependencies, these must be given to a package or app's composer.json ... but how? Also for preview ...? Maybe in first iteration it is just an informal message?
12+
- Nested Taxonomy - Lazychaser Nested Set
13+
- Translatable - Moox Languages
14+
- Media Library Field - Spatie Media Library and Filament Spatie ML
15+
16+
## Translatable
17+
18+
- Moox Data Languages
19+
- Moox Languages
20+
- Moox Translatable - Traits ...
21+
22+
## Media
23+
24+
- siehe Media
25+
26+
## New Laravel
27+
28+
Of course you can use Builder in existing projects, but the best way to use Builder is to create a new Laravel project
29+
30+
```bash
31+
composer create-project laravel/laravel buildertest
32+
```
33+
34+
Using Laravel Herd for example this should work: http://buildertest.test/
35+
36+
Create a database and wire it in your .env
37+
38+
## Install
39+
40+
Install Moox Builder
41+
42+
```bash
43+
composer require moox/builder
44+
```
45+
46+
Route http://buildertest.test/builder da, Filament nicht? Müsste Core übernehmen?
47+
48+
Idee: ein Installer für alle, der entsprechend
49+
50+
- Immer Filament prüfen muss oder installieren
51+
- Alle Tabellen und Plugins prüft und installiert
52+
53+
Das einzige was mir aufgefallen ist, das wenn man bei Content zu viel Text eingegeben hat, dass dann diese Fehlermeldung kam: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'content' at row 1
54+
55+
I want to work with you on my project Moox Builder. The project is well documented in README.md and the current state and open issues can be found in DEVLOG.md
56+
57+
Please always stick to the rules in README and keep DEVLOG always updated. And please don't assume anything, instead ask for files.
58+
59+
One of the most important files is the builder.php config file that contains the wiring for contexts etc.
60+
61+
We need to work on the next Task in DEVLOG.
62+
63+
## Compatibility
64+
65+
All Moox Packages and Plugins are versioned together to one mayor version, currently **v4**.
66+
67+
The PHP compatibility is based on Laravel, visit [https://laravel.com/docs/11.x/releases](https://laravel.com/docs/11.x/releases#support-policy) for details, and defined in Moox Core's composer.json.
68+
69+
| Moox | PHP | Laravel | Filament | Livewire | Tailwind |
70+
| ---- | :-------: | :-----: | :------: | :------: | :------: |
71+
| <4 | 8.0 - 8.2 | 10,11 | 3.2 | 3 | 3 |
72+
| 4 | 8.2, 8.3 | 11 | 4 | 3 | 3 |
73+
74+
Excluding Moox Press there are no database-specific implementations, so all database drivers should be working. However, we develop, test and deploy using MySQL, we are not able to reproduce issues on other DBMS.
75+
76+
## Restoring entities
77+
78+
Generation of entities is currently done by directly accessing the classes. If we want to restore entities from a build, we need to use the data array.
79+
80+
The current state of the data array is:
81+
82+
✓ useStatements (model, resource, pages)
83+
✓ traits (model, resource, pages)
84+
✓ methods
85+
✓ formFields
86+
✓ tableColumns
87+
✓ block type and options
88+
✓ migrations
89+
90+
Missing:
91+
92+
- Form sections and meta sections (see Publish block lines 77-89)
93+
- Page-specific methods (see Publish block lines 63-72)
94+
- Form actions
95+
- Table filters
96+
- Table actions
97+
- Navigation settings
98+
- Resource configuration (icons, labels, etc.)
99+
- Context information (namespace, paths)
100+
- Relations configuration
101+
- Validation rules
102+
- Config entries
103+
- Sections
104+
105+
After adding the missing data, we need to implement the RestoreService and use it in the UI.
106+
107+
## Packages
108+
109+
Current Status:
110+
111+
- Files are prepared: Service, Generators, Templates and Commands
112+
- Config is prepared
113+
- Install Template and Readme are not finished, as well as their partials
114+
- All templates could be completely prepared
115+
- Then we could go for the Generators
116+
- Then the Services
117+
- Finally the Commands
118+
119+
- We need Preparation to be able to install packages locally, `PrepareAppForPackagesCommand`
120+
- Create a /packages directory
121+
- Paste `composerrepos.stub` into composer.json
122+
- Generate an empty package, where we are able to generate Entities in package context with the `CreatePackageCommand`, it uses the `PackageGenerator` Service that iterates over the new `package_generator` config key, that conntects the Generators and the Templates.
123+
124+
- Now we can `Generate Entities` into that package
125+
- Generate the Entity in Package context
126+
- Generate the Resource part in the config, like wired in the `package_entity_enabler`config key
127+
- Generate the parts into the installer, like wired in the `package_entity_enabler`config key
128+
- Generate the part into the README, like wired in the `package_entity_enabler`config key
129+
- For activation of packages, I also created a config key `package_entity_activator`, that just wires the `PackageActivator`Service used by the `ActivatePackageCommand`
130+
131+
- We need to require the package using composer
132+
- We need to run php artisan package:install
133+
- Finally the `PackagePublisher` service used by the `PublishPackageCommand`
134+
135+
- Create a Git repo
136+
- Publish to GitHub
137+
- Add the package to Moox Monorepo
138+
- Publish to Packagist - https://packagist.org/apidoc#create-package
139+
140+
- Later we'll need a `RemovePackageCommand` that uses the `PackageRemover`service
141+
- Last the `AbstractPackageService`

docs/Calendar/IDEA.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Idea
2+
3+
Must be the base for generating calendar resources
4+
5+
- https://filamentphp.com/plugins/guava-calendar uses https://github.com/vkurko/calendar, well described how to implement resource
6+
- https://github.com/saade/filament-fullcalendar uses https://fullcalendar.io/pricing, need to see how to implement resource, create a widget?
7+
8+
## Booking Pro
9+
10+
- Hotel Booking
11+
- Property Booking
12+
- Appointment Booking
13+
14+
see https://motopress.com/products/category/hotel-booking-addons/
15+
16+
- Booking type
17+
- Double room
18+
- Single ...
19+
- Booking object (generate Nr of type)
20+
- Room Nr ...
21+
- Booking (Calendar, iCal sync etc)
22+
- Booking of Room Nr. to Date
23+
- Season
24+
- Pricing tables for a period of time, Staffelpreise nach Aufenthalt
25+
- Features
26+
- Bathtub
27+
- Rainshower
28+
- Pool access
29+
- Categories, Tags, Attributes (looser than Features)
30+
- Payment
31+
- Vouchers
32+
- Tax
33+
- Booking rules
34+
- Arrival days
35+
- Departure days
36+
- Stay (min/max)
37+
- Booking in advance (min/max)

0 commit comments

Comments
 (0)