liberu-genealogy / genealogy-laravel Goto Github PK
View Code? Open in Web Editor NEWFull genealogy application using Laravel 11, PHP 8.3, Filament 3.2 and Livewire 3.4
Home Page: https://www.liberu.co.uk
License: MIT License
Full genealogy application using Laravel 11, PHP 8.3, Filament 3.2 and Livewire 3.4
Home Page: https://www.liberu.co.uk
License: MIT License
Sweep: improve codebase for laravel 11 and refactor for php 8.3
This is a bug | feature request.
Bug: fix syntax errors on the file app/Models/Team.php
This is a bug | feature request.
Write unit tests for all files under app/Filament/Resources/
Use pest as per filament 3 documentation unless phpunit is preferred
tests/Pest.php
✓ b505cec Edittests/Pest.php
✓ Edittests/Unit/Filament/Resources/PublicationResourceTest.php
✓ 19cb6ac Edittests/Unit/Filament/Resources/PublicationResourceTest.php
✓ Edittests/Unit/Filament/Resources/PersonResourceTest.php
✓ 0398d10 Edittests/Unit/Filament/Resources/PersonResourceTest.php
✓ Editcomposer.json
✓ 1dade29 Editcomposer.json
✓ Editphpunit.xml
✓ 6e364ce Editphpunit.xml
✓ Edittests/Unit/Filament/Resources/FamilyResourceTest.php
✓ 8b041cd Edittests/Unit/Filament/Resources/FamilyResourceTest.php
✓ EditMake sure that ImportGedcom laravel job is correctly dispatched and the function is called by the file upload in the file app/Filament/Resources/GedcomResource.php
This is a bug | feature request.
This is a bug | feature request.
Complete the filament 3 form and tables definitions for app/Filament/Resources/PeopleResource.php
app/Filament/Resources/PersonResource.php
✓ d6ae1c6 Editapp/Filament/Resources/PersonResource.php
✓ Editapp/Filament/Resources/PersonResource.php
✓ 4fcbf7d Editapp/Filament/Resources/PersonResource.php
✓ Editapp/Filament/Resources/PersonResource.php
✓ 5dbf68e Editapp/Filament/Resources/PersonResource.php
✓ EditThis is a bug.
Installing the application throws an error.
php artisan db:seed
A successfull installation
Error:
` INFO Seeding database.
Symfony\Component\ErrorHandler\Error\FatalError
Cannot use Illuminate\Foundation\Auth\User as Authenticatable because the name is already in use
at app\Models\User.php:13
9▕ use Illuminate\Database\Eloquent\Relations\BelongsToMany;
10▕ use Illuminate\Foundation\Auth\User as Authenticatable;
11▕ use Illuminate\Support\Collection;
12▕ use Illuminate\Database\Eloquent\Factories\HasFactory;
➜ 13▕ use Illuminate\Foundation\Auth\User as Authenticatable;
14▕ use Illuminate\Notifications\Notifiable;
15▕ use Laravel\Sanctum\HasApiTokens;
16▕
17▕ class User extends Authenticatable implements FilamentUser, HasTenants
Whoops\Exception\ErrorException
Cannot use Illuminate\Foundation\Auth\User as Authenticatable because the name is already in use
at app\Models\User.php:13
9▕ use Illuminate\Database\Eloquent\Relations\BelongsToMany;
10▕ use Illuminate\Foundation\Auth\User as Authenticatable;
11▕ use Illuminate\Support\Collection;
12▕ use Illuminate\Database\Eloquent\Factories\HasFactory;
➜ 13▕ use Illuminate\Foundation\Auth\User as Authenticatable;
14▕ use Illuminate\Notifications\Notifiable;
15▕ use Laravel\Sanctum\HasApiTokens;
16▕
17▕ class User extends Authenticatable implements FilamentUser, HasTenants
1 vendor\filp\whoops\src\Whoops\Run.php:510
Whoops\Run::handleError("Cannot use Illuminate\Foundation\Auth\User as Authenticatable because the name is already in use", "D:\LARAGON\www\genealogy-laravel\app\Models\User.php")
2 [internal]:0
Whoops\Run::handleShutdown()
`
This is due to an error in app\Models\User.php : use Illuminate\Foundation\Auth\User as Authenticatable;
is mentioned twice.
When removing the second use Illuminate\Foundation\Auth\User as Authenticatable;
the following error occures during issuing the command php artisan db:seed
:
` INFO Seeding database.
Symfony\Component\ErrorHandler\Error\FatalError
Class App\Models\User contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Filament\Models\Contracts\FilamentUser::canAccessPanel)
at app\Models\User.php:16
12▕ use Illuminate\Notifications\Notifiable;
13▕ use Illuminate\Support\Collection;
14▕ use Laravel\Sanctum\HasApiTokens;
15▕
➜ 16▕ class User extends Authenticatable implements FilamentUser, HasTenants
17▕ {
18▕ use HasApiTokens, HasFactory, Notifiable;
19▕
20▕ /**
Whoops\Exception\ErrorException
Class App\Models\User contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Filament\Models\Contracts\FilamentUser::canAccessPanel)
at app\Models\User.php:16
12▕ use Illuminate\Notifications\Notifiable;
13▕ use Illuminate\Support\Collection;
14▕ use Laravel\Sanctum\HasApiTokens;
15▕
➜ 16▕ class User extends Authenticatable implements FilamentUser, HasTenants
17▕ {
18▕ use HasApiTokens, HasFactory, Notifiable;
19▕
20▕ /**
1 vendor\filp\whoops\src\Whoops\Run.php:510
Whoops\Run::handleError("Class App\Models\User contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Filament\Models\Contracts\FilamentUser::canAccessPanel)", "D:\LARAGON\www\genealogy-laravel\app\Models\User.php")
2 [internal]:0
Whoops\Run::handleShutdown()`
🏗️Structure rewrite request
Combine all the migrations for the all to get rid of the update, renaming or deletion of columns in the migrations. This task is not a critical one but rather important one to keep the project structure as simple and as easy to follow for the team
Convert layout from vue 3, nuxt 3 and vuetify to laravel livewire, Filament 3.2 and blade, tailwind original header located at:
https://github.com/liberu-genealogy/genealogy-nuxt3/blob/main/components/nav/Header.vue
Footer located at:
https://github.com/liberu-genealogy/genealogy-nuxt3/blob/main/components/Footer.vue
Create a default layout with header, content section and footer section.
Then add two unique pages and convert also from vue 3 and vuetify to blade, livewire and tailwind this link is terms and conditions :
https://github.com/liberu-genealogy/genealogy-nuxt3/blob/main/pages/termsandconditions.vue and another page privacy here:
https://github.com/liberu-genealogy/genealogy-nuxt3/blob/main/pages/privacy.vue
resources/views/layouts/default.blade.php
✓ 5ef5960 Editresources/views/layouts/default.blade.php
✓ Editresources/views/components/header.blade.php
✓ 626bb3e Editresources/views/components/header.blade.php
✓ Editresources/views/components/footer.blade.php
✓ 26edacc Editresources/views/components/footer.blade.php
✓ Editresources/views/pages/termsandconditions.blade.php
✓ 90077aa Editresources/views/pages/termsandconditions.blade.php
✓ Editresources/views/pages/privacy.blade.php
✓ f484112 Editresources/views/pages/privacy.blade.php
✓ Editresources/views/layouts/home.blade.php
✓ a8e2675 Editresources/views/layouts/home.blade.php
✓ EditAdd a pedigree chart page under the standard filament 3 location for the data from people / person. Use D3 and convert this project code to use our filament 3,laravel, blade and tailwind
https://github.com/magicsunday/webtrees-pedigree-chart
public/js/filament/widgets/components/pedigree-chart.blade.php
✗ Editpublic/js/filament/widgets/components/pedigree-chart.blade.php
✗ Editapp/Http/Livewire/PedigreeChart.php
✗ Editapp/Http/Livewire/PedigreeChart.php
✗ Editroutes/web.php
✓ f19a4ed Editroutes/web.php
✓ Editresources/views/filament/pages/people.blade.php
✗ Editresources/views/filament/pages/people.blade.php
✗ EditThis is a bug | feature request.
This is a bug | feature request.
This is a bug | feature request.
Add team members invite support. Allow a user to add another user to their team by sending an email invite or selecting an existing user to be part of their team.
app/Http/Controllers/TeamInvitationController.php
✓ 3b0723d Editapp/Http/Controllers/TeamInvitationController.php
✓ Editapp/Notifications/TeamInvitationNotification.php
✓ a76654c Editapp/Notifications/TeamInvitationNotification.php
✓ Editapp/Filament/Pages/Tenancy/RegisterTeam.php
✓ efba32c Editapp/Filament/Pages/Tenancy/RegisterTeam.php
✓ Editapp/Models/Team.php
✓ 8bf1833 Editapp/Models/Team.php
✓ Editdatabase/migrations/2023_04_01_000000_create_team_invitations_table.php
✓ 1718929 Editdatabase/migrations/2023_04_01_000000_create_team_invitations_table.php
✓ Editroutes/web.php
✓ f7acd64 Editroutes/web.php
✓ EditThis is a bug | feature request.
This is a bug | feature request.
This is a bug | feature request.
Verify gedcom upload works and that it calls the import job on upload.
Bug: Bug. Correctly place use imports after the namespace declaration and before the class is defined bug in most files edited by sweep previously.
fix syntax errors on the file app/Models/Team.php
Add a fan chart page under the standard filament 3 location for the data from people / person. Use D3 and convert this project code to use our filament 3,laravel, blade and tailwind
https://github.com/magicsunday/webtrees-fan-chart
app/Http/Livewire/FanChart.php
✓ 3ba23fc Editapp/Http/Livewire/FanChart.php
✓ Editresources/views/livewire/fan-chart.blade.php
✓ 6319172 Editresources/views/livewire/fan-chart.blade.php
✓ Editpublic/js/fan-chart.js
✓ 94b4499 Editpublic/js/fan-chart.js
✓ Editroutes/web.php
✓ 67f3fe0 Editroutes/web.php
✓ Editapp/Http/Controllers/FanChartController.php
✓ 0fe8dcd Editapp/Http/Controllers/FanChartController.php
✓ EditThis is a bug | feature request.
Add a descendant chart page under the standard filament 3 location for the data from people / person. Use D3 and convert this project code to use our filament 3,laravel, blade and tailwind
https://github.com/magicsunday/webtrees-descendant-chart
resources/views/filament/widgets/descendant-chart.blade.php
✓ f71d2f2 Editresources/views/filament/widgets/descendant-chart.blade.php
✓ Editpublic/js/filament/widgets/descendant-chart.js
✓ 57ef02e Editpublic/js/filament/widgets/descendant-chart.js
✓ Editroutes/web.php
✓ e404b19 Editroutes/web.php
✓ Editapp/Http/Controllers/DescendantChartController.php
✓ 5a8cd15 Editapp/Http/Controllers/DescendantChartController.php
✓ Editresources/views/filament/widgets/descendant-chart.blade.php
! No changes made Editresources/views/filament/widgets/descendant-chart.blade.php
✗ EditThis is a bug | feature request.
This is a bug | feature request.
Convert trees rendering. Old API code should be fine, the Blade/Livewire parts unsure of. We did change to Vue on old project but maybe it is simpler to copy from again
https://github.com/magicsunday/webtrees-pedigree-chart
https://github.com/magicsunday/webtrees-fan-chart
https://github.com/magicsunday/webtrees-descendants-chart
This is a bug | feature request.
Add correct selects for the columns containing 'id'.
Add the correct definition for each column.
Follow filament 3 design patterns
The files are in app/Filament/Resources please modify all where required
app/Filament/Resources/FamilyResource.php
✓ 9c5c793 Editapp/Filament/Resources/FamilyResource.php
✓ Editapp/Filament/Resources/PublicationResource.php
! No changes made Editapp/Filament/Resources/PublicationResource.php
✗ Editapp/Filament/Resources/PersonResource.php
✓ ee366b4 Editapp/Filament/Resources/PersonResource.php
✓ Editapp/Filament/Resources/AddrResource.php
! No changes made Editapp/Filament/Resources/AddrResource.php
✗ Editapp/Filament/Resources/AuthorResource.php
! No changes made Editapp/Filament/Resources/AuthorResource.php
✗ EditBug. Correctly place use imports before the class starts as build fails
app/Models/Place.php
✓ 420436a Editapp/Models/Place.php
✓ Editapp/Policies/PlacePolicy.php
! No changes made Editapp/Policies/PlacePolicy.php
✗ Editapp/Filament/Resources/PlaceResource.php
✓ 5e01ca2 Editapp/Filament/Resources/PlaceResource.php
✓ Editdatabase/factories/PlaceFactory.php
! No changes made Editdatabase/factories/PlaceFactory.php
✗ Editdatabase/factories/FamilyEventFactory.php
✓ 885b4f0 Editdatabase/factories/FamilyEventFactory.php
✓ Editdatabase/factories/PersonEventFactory.php
✓ 00a69aa Editdatabase/factories/PersonEventFactory.php
✓ Edittests/Unit/Filament/Resources/PersonResourceTest.php
! No changes made Edittests/Unit/Filament/Resources/PersonResourceTest.php
✗ EditVerify dna upload works and that it calls the import job on upload.
This is a bug | feature request.
This is a bug | feature request.
Convert from vuetify to tailwind the file at https://github.com/liberu-genealogy/genealogy-nuxt3/blob/main/assets/css/base.css and place under resources/css/ then make sure the blade home layout imports this new tailwind css file.
resources/css/tailwind.css
✓ 1018530 Editresources/css/tailwind.css
✓ Editresources/views/layouts/home.blade.php
✓ d84abdf Editresources/views/layouts/home.blade.php
✓ Editpublic/build/manifest.json
✓ c82aaef Editpublic/build/manifest.json
✓ EditMake sure multi tenancy works and supports teams. Add stripe subscriptions support using the filament cashier provider already installed. 14 day trial. Users should be able to create a new team on registration.
Make sure multi tenancy works and supports teams. Add stripe subscriptions support using the filament cashier provider already installed. 14 day trial. Users should be able to create a new team on registration
app/Services/StripeSubscriptionService.php
✓ 14e5c2b Editapp/Services/StripeSubscriptionService.php
✓ Editdatabase/migrations/2023_04_01_000000_add_stripe_subscription_columns_to_teams_table.php
✓ 7f262e8 Editdatabase/migrations/2023_04_01_000000_add_stripe_subscription_columns_to_teams_table.php
✓ Editapp/Filament/Pages/Tenancy/RegisterTeam.php
✓ e29ce96 Editapp/Filament/Pages/Tenancy/RegisterTeam.php
✓ Editapp/Providers/Filament/AdminPanelProvider.php
✓ 2340f96 Editapp/Providers/Filament/AdminPanelProvider.php
✓ Editconfig/permission.php
✓ b36877f Editconfig/permission.php
✓ EditNew feature
database/seeders/DropdownSeeder.php
✓ 949af74 Editdatabase/seeders/DropdownSeeder.php
✓ Editapp/Http/Controllers/ResourceController.php
✓ c90c34f Editapp/Http/Controllers/ResourceController.php
✓ Editresources/views/resource/create.blade.php
✓ db98147 Editresources/views/resource/create.blade.php
✓ Editapp/Models/ResourceModel.php
✓ 2449101 Editapp/Models/ResourceModel.php
✓ EditWrite full tests set for all resource files under app/Filament/Resources/ following PHPUnit as standard?
tests/Unit/Filament/Resources/AddrResourceTest.php
✓ bbefc06 Edittests/Unit/Filament/Resources/AddrResourceTest.php
✓ Edittests/Unit/Filament/Resources/AuthorResourceTest.php
✓ cc7d0d5 Edittests/Unit/Filament/Resources/AuthorResourceTest.php
✓ Edittests/Unit/Filament/Resources/ChanResourceTest.php
✓ b3f67ce Edittests/Unit/Filament/Resources/ChanResourceTest.php
✓ Editphpunit.xml
✓ d2620a3 Editphpunit.xml
✓ Edittests/Unit/ExampleTest.php
✓ 5a8f65b Edittests/Unit/ExampleTest.php
✓ EditThis is a bug | feature request.
Copy and convert from vue/vuetify to laravel blade and livewire all of the home layout, layout components and home page from the repository github.com/liberu-genealogy/genealogy-nuxt3
Write in clean sections so that the layout can be reused for future pages. The old home page is written in vue 3, nuxt 3 and vuetify. The current project is laravel livewire 3 using filament 3.2 and blade.
It needs to be placed under the public panels pages and the blade new home layout in standard location.
resources/views/layouts/home.blade.php
✓ c482328 Editresources/views/layouts/home.blade.php
✓ Editresources/views/home.blade.php
✓ 2026c96 Editresources/views/home.blade.php
✓ Editapp/Http/Livewire/HomePage.php
✓ 31efe0f Editapp/Http/Livewire/HomePage.php
✓ Editroutes/web.php
✓ 4beba26 Editroutes/web.php
✓ Editpublic/css/home.css
✓ 1a5d0d1 Editpublic/css/home.css
✓ Editpublic/js/home.js
✓ 4701ed6 Editpublic/js/home.js
✓ EditThis is a bug | feature request.
Rename job dispatch from ImportDna to DnaMatching. Make sure that DnaMatching laravel job is correctly dispatched and the function is called by the file upload in the file app/Filament/Resources/DnaResource.php
Copy and convert from vue/vuetify to laravel blade and livewire all of the home layout, layout components and home page from the repository https://github.com/liberu-genealogy/genealogy-nuxt3 the components required to be converted for the layout are at :
https://github.com/liberu-genealogy/genealogy-nuxt3/blob/main/components/nav/HomeHeader.vue
https://github.com/liberu-genealogy/genealogy-nuxt3/blob/main/components/nav/HomeNavBar.vue
The three files are part of the home page components sections:
https://github.com/liberu-genealogy/genealogy-nuxt3/tree/main/components/home/manage.vue,
https://github.com/liberu-genealogy/genealogy-nuxt3/tree/main/components/home/products.vue
https://github.com/liberu-genealogy/genealogy-nuxt3/tree/main/components/home/whyUs.vue
Write in clean sections so that the layout can be reused for future pages. The old home page is written in vue 3, nuxt 3 and vuetify. The current project is laravel livewire 3 using filament 3.2 and blade.
It needs to be placed under the public panels pages and the blade new home layout in standard location.
resources/views/layouts/home.blade.php
✓ 21d0310 Editresources/views/layouts/home.blade.php
✓ Editresources/views/components/home_header.blade.php
✓ d9d2515 Editresources/views/components/home_header.blade.php
✓ Editresources/views/components/home_navbar.blade.php
✓ bcc2a9b Editresources/views/components/home_navbar.blade.php
✓ Editapp/Http/Livewire/ManageSection.php
✓ c5a107f Editapp/Http/Livewire/ManageSection.php
✓ Editresources/views/components/manage_section.blade.php
✓ 5b52f4b Editresources/views/components/manage_section.blade.php
✓ Editapp/Http/Livewire/ProductsSection.php
✓ 75e972f Editapp/Http/Livewire/ProductsSection.php
✓ Editresources/views/components/products_section.blade.php
✓ cec7bdd Editresources/views/components/products_section.blade.php
✓ Editapp/Http/Livewire/WhyUsSection.php
✓ 030aef4 Editapp/Http/Livewire/WhyUsSection.php
✓ Editresources/views/components/why_us_section.blade.php
✓ 3946094 Editresources/views/components/why_us_section.blade.php
✓ Editroutes/web.php
✓ 15f8103 Editroutes/web.php
✓ EditCreate new filament 3 panel for public pages. Use no prefix. Add register, login, verification, reset to configuration of panel.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.