├── public
├── favicon.ico
├── robots.txt
├── assets
│ ├── og-image.png
│ ├── blog
│ │ ├── meetup-1
│ │ │ ├── 1.jpg
│ │ │ ├── 2.jpg
│ │ │ ├── 3.jpg
│ │ │ └── 4.jpg
│ │ ├── meetup-2
│ │ │ ├── 1.jpeg
│ │ │ ├── 2.jpeg
│ │ │ ├── 3.jpeg
│ │ │ └── 4.jpeg
│ │ ├── meetup-3
│ │ │ ├── 1.jpeg
│ │ │ ├── 2.jpeg
│ │ │ ├── 3.jpeg
│ │ │ └── 4.jpeg
│ │ └── meetup-4
│ │ │ ├── 1.jpeg
│ │ │ ├── 2.jpeg
│ │ │ ├── 3.jpeg
│ │ │ └── 4.jpeg
│ └── images
│ │ ├── php-lisbon.png
│ │ ├── meetup-999-999.png
│ │ └── executive-director.jpg
├── .htaccess
└── index.php
├── database
├── .gitignore
├── seeders
│ ├── DatabaseSeeder.php
│ └── PagesTableSeeder.php
├── migrations
│ ├── 2014_10_12_100000_create_password_resets_table.php
│ ├── 2023_02_10_221210_create_pages_table.php
│ ├── 2014_10_12_000000_create_users_table.php
│ ├── 2019_08_19_000000_create_failed_jobs_table.php
│ ├── 2019_12_14_000001_create_personal_access_tokens_table.php
│ └── 2023_03_01_200714_create_media_table.php
└── factories
│ └── UserFactory.php
├── bootstrap
├── cache
│ └── .gitignore
└── app.php
├── storage
├── logs
│ └── .gitignore
├── app
│ ├── public
│ │ └── .gitignore
│ └── .gitignore
└── framework
│ ├── testing
│ └── .gitignore
│ ├── views
│ └── .gitignore
│ ├── cache
│ ├── data
│ │ └── .gitignore
│ └── .gitignore
│ ├── sessions
│ └── .gitignore
│ └── .gitignore
├── docker
├── prod-ssu
│ ├── etc
│ │ └── s6-overlay
│ │ │ └── s6-rc.d
│ │ │ ├── db-migration
│ │ │ ├── type
│ │ │ └── up
│ │ │ └── user
│ │ │ └── contents.d
│ │ │ └── db-migration
│ ├── nginx.conf
│ └── Dockerfile
└── dev-ssu
│ └── Dockerfile
├── resources
├── css
│ └── app.css
├── views
│ ├── filament
│ │ └── pages
│ │ │ └── login.blade.php
│ ├── components
│ │ ├── plausible-analytics.blade.php
│ │ ├── filament-fabricator
│ │ │ ├── layouts
│ │ │ │ ├── default.blade.php
│ │ │ │ └── meetup.blade.php
│ │ │ └── page-blocks
│ │ │ │ └── meetup-body.blade.php
│ │ ├── layout.blade.php
│ │ ├── meetups.blade.php
│ │ ├── meetup-item.blade.php
│ │ └── ui
│ │ │ ├── footer.blade.php
│ │ │ └── header.blade.php
│ ├── about.blade.php
│ ├── job-board.blade.php
│ ├── home.blade.php
│ └── call-for-speakers.blade.php
└── js
│ └── app.js
├── tests
├── Unit
│ └── ExampleTest.php
├── Feature
│ └── ExampleTest.php
├── TestCase.php
├── CreatesApplication.php
└── Pest.php
├── postcss.config.js
├── .gitattributes
├── app
├── Filament
│ ├── Fabricator
│ │ ├── Layouts
│ │ │ ├── MeetupLayout.php
│ │ │ └── DefaultLayout.php
│ │ └── PageBlocks
│ │ │ └── MeetupBody.php
│ └── Pages
│ │ └── Login.php
├── Http
│ ├── Middleware
│ │ ├── EncryptCookies.php
│ │ ├── VerifyCsrfToken.php
│ │ ├── PreventRequestsDuringMaintenance.php
│ │ ├── TrustHosts.php
│ │ ├── TrimStrings.php
│ │ ├── Authenticate.php
│ │ ├── ValidateSignature.php
│ │ ├── TrustProxies.php
│ │ └── RedirectIfAuthenticated.php
│ ├── Controllers
│ │ ├── Controller.php
│ │ └── HomeController.php
│ └── Kernel.php
├── Providers
│ ├── BroadcastServiceProvider.php
│ ├── AppServiceProvider.php
│ ├── AuthServiceProvider.php
│ ├── EventServiceProvider.php
│ └── RouteServiceProvider.php
├── Console
│ └── Kernel.php
├── View
│ └── Components
│ │ └── Meta.php
├── Exceptions
│ └── Handler.php
└── Models
│ └── User.php
├── .editorconfig
├── .gitignore
├── config
├── php-portugal.php
├── cors.php
├── filament-fabricator.php
├── services.php
├── view.php
├── hashing.php
├── broadcasting.php
├── sanctum.php
├── filesystems.php
├── queue.php
├── cache.php
├── ray.php
├── mail.php
├── auth.php
├── logging.php
├── database.php
├── session.php
├── app.php
└── filament.php
├── README.md
├── .env.example
├── lang
└── en
│ ├── pagination.php
│ ├── auth.php
│ ├── passwords.php
│ └── validation.php
├── routes
├── channels.php
├── api.php
├── console.php
└── web.php
├── package.json
├── docker-compose.dev.yml
├── vite.config.js
├── phpunit.xml
├── .gitpod.yml
├── run
├── tailwind.config.js
├── artisan
├── docs
└── dev_environment
│ └── index.md
└── composer.json
/public/favicon.ico:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/database/.gitignore:
--------------------------------------------------------------------------------
1 | *.sqlite*
2 |
--------------------------------------------------------------------------------
/bootstrap/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/logs/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow:
3 |
--------------------------------------------------------------------------------
/storage/app/public/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/app/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !public/
3 | !.gitignore
4 |
--------------------------------------------------------------------------------
/storage/framework/testing/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/views/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/cache/data/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/sessions/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/docker/prod-ssu/etc/s6-overlay/s6-rc.d/db-migration/type:
--------------------------------------------------------------------------------
1 | oneshot
2 |
--------------------------------------------------------------------------------
/docker/prod-ssu/etc/s6-overlay/s6-rc.d/user/contents.d/db-migration:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/storage/framework/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !data/
3 | !.gitignore
4 |
--------------------------------------------------------------------------------
/resources/css/app.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
--------------------------------------------------------------------------------
/resources/views/filament/pages/login.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/docker/prod-ssu/nginx.conf:
--------------------------------------------------------------------------------
1 | # Custom nginx configuration
2 |
3 | # Disable access logs
4 | access_log off;
--------------------------------------------------------------------------------
/public/assets/og-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/og-image.png
--------------------------------------------------------------------------------
/resources/js/app.js:
--------------------------------------------------------------------------------
1 | import Alpine from 'alpinejs';
2 |
3 | window.Alpine = Alpine;
4 |
5 | Alpine.start();
6 |
--------------------------------------------------------------------------------
/tests/Unit/ExampleTest.php:
--------------------------------------------------------------------------------
1 | toBeTrue();
5 | });
6 |
--------------------------------------------------------------------------------
/public/assets/blog/meetup-1/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-1/1.jpg
--------------------------------------------------------------------------------
/public/assets/blog/meetup-1/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-1/2.jpg
--------------------------------------------------------------------------------
/public/assets/blog/meetup-1/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-1/3.jpg
--------------------------------------------------------------------------------
/public/assets/blog/meetup-1/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-1/4.jpg
--------------------------------------------------------------------------------
/public/assets/blog/meetup-2/1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-2/1.jpeg
--------------------------------------------------------------------------------
/public/assets/blog/meetup-2/2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-2/2.jpeg
--------------------------------------------------------------------------------
/public/assets/blog/meetup-2/3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-2/3.jpeg
--------------------------------------------------------------------------------
/public/assets/blog/meetup-2/4.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-2/4.jpeg
--------------------------------------------------------------------------------
/public/assets/blog/meetup-3/1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-3/1.jpeg
--------------------------------------------------------------------------------
/public/assets/blog/meetup-3/2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-3/2.jpeg
--------------------------------------------------------------------------------
/public/assets/blog/meetup-3/3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-3/3.jpeg
--------------------------------------------------------------------------------
/public/assets/blog/meetup-3/4.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-3/4.jpeg
--------------------------------------------------------------------------------
/public/assets/blog/meetup-4/1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-4/1.jpeg
--------------------------------------------------------------------------------
/public/assets/blog/meetup-4/2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-4/2.jpeg
--------------------------------------------------------------------------------
/public/assets/blog/meetup-4/3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-4/3.jpeg
--------------------------------------------------------------------------------
/public/assets/blog/meetup-4/4.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/blog/meetup-4/4.jpeg
--------------------------------------------------------------------------------
/public/assets/images/php-lisbon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/images/php-lisbon.png
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | };
7 |
--------------------------------------------------------------------------------
/public/assets/images/meetup-999-999.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/images/meetup-999-999.png
--------------------------------------------------------------------------------
/docker/prod-ssu/etc/s6-overlay/s6-rc.d/db-migration/up:
--------------------------------------------------------------------------------
1 | #!/command/execlineb -P
2 | php /var/www/html/artisan migrate --force --isolated
3 |
--------------------------------------------------------------------------------
/public/assets/images/executive-director.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/php-portugal/meetups/HEAD/public/assets/images/executive-director.jpg
--------------------------------------------------------------------------------
/tests/Feature/ExampleTest.php:
--------------------------------------------------------------------------------
1 | get('/');
5 |
6 | $response->assertStatus(200);
7 | });
8 |
--------------------------------------------------------------------------------
/resources/views/components/plausible-analytics.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/storage/framework/.gitignore:
--------------------------------------------------------------------------------
1 | compiled.php
2 | config.php
3 | down
4 | events.scanned.php
5 | maintenance.php
6 | routes.php
7 | routes.scanned.php
8 | schedule-*
9 | services.json
10 |
--------------------------------------------------------------------------------
/tests/TestCase.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | About us
5 |
6 |
7 | Coming soon
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/resources/views/job-board.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Job Board
6 |
7 |
8 | Coming soon
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | end_of_line = lf
6 | indent_size = 4
7 | indent_style = space
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.md]
12 | trim_trailing_whitespace = false
13 |
14 | [*.{yml,yaml}]
15 | indent_size = 2
16 |
17 | [docker-compose.yml]
18 | indent_size = 4
19 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules
2 | /public/build
3 | /public/hot
4 | /public/storage
5 | /storage/*.key
6 | /vendor
7 | .env
8 | .env.backup
9 | .env.production
10 | .phpunit.result.cache
11 | Homestead.json
12 | Homestead.yaml
13 | auth.json
14 | npm-debug.log
15 | yarn-error.log
16 | /.fleet
17 | /.idea
18 | /.vscode
19 | .DS_Store
20 | .bash_history
21 | .npm
22 | .config
23 |
--------------------------------------------------------------------------------
/resources/views/home.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
--------------------------------------------------------------------------------
/app/Http/Middleware/EncryptCookies.php:
--------------------------------------------------------------------------------
1 |
13 | */
14 | protected $except = [
15 | //
16 | ];
17 | }
18 |
--------------------------------------------------------------------------------
/app/Http/Middleware/VerifyCsrfToken.php:
--------------------------------------------------------------------------------
1 |
13 | */
14 | protected $except = [
15 | //
16 | ];
17 | }
18 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Controller.php:
--------------------------------------------------------------------------------
1 |
13 | */
14 | protected $except = [
15 | //
16 | ];
17 | }
18 |
--------------------------------------------------------------------------------
/app/Http/Middleware/TrustHosts.php:
--------------------------------------------------------------------------------
1 |
13 | */
14 | public function hosts()
15 | {
16 | return [
17 | $this->allSubdomainsOfApplicationUrl(),
18 | ];
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/config/php-portugal.php:
--------------------------------------------------------------------------------
1 | 'PHP Portugal - The PHP and Web Dev Meetup website in Portugal',
5 |
6 | 'home_og_title' => '/og-image.png',
7 |
8 | 'github_url' => 'https://github.com/php-portugal/meetups',
9 |
10 | 'structured_data' => [
11 |
12 | 'founder' => 'PHP Portugal',
13 |
14 | 'keywords' => 'PHP, Portugal, meetup, tech, coding',
15 |
16 | 'organizer' => 'PHP Portugal'
17 | ]
18 | ];
19 |
--------------------------------------------------------------------------------
/app/Http/Middleware/TrimStrings.php:
--------------------------------------------------------------------------------
1 |
13 | */
14 | protected $except = [
15 | 'current_password',
16 | 'password',
17 | 'password_confirmation',
18 | ];
19 | }
20 |
--------------------------------------------------------------------------------
/tests/CreatesApplication.php:
--------------------------------------------------------------------------------
1 | make(Kernel::class)->bootstrap();
19 |
20 | return $app;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/app/Providers/BroadcastServiceProvider.php:
--------------------------------------------------------------------------------
1 | environment('local')) {
15 | $this->form->fill([
16 | 'email' => 'test@example.com',
17 | 'password' => 'password',
18 | 'remember' => true,
19 | ]);
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/app/Providers/AppServiceProvider.php:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 | {{ $page->title }}
6 |
7 |
8 | @vite(['resources/js/app.js', 'resources/css/app.css'])
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |