Files
portfolio/project/src/Portfolio/PortfolioContent.php
T
deploy 25854e8a65
Build and Deploy Docker / build (push) Successful in 6m39s
Build and Deploy Docker / deploy (push) Successful in 19s
add full crm
2026-08-27 16:44:55 +02:00

164 lines
9.0 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
namespace App\Portfolio;
/**
* Treść portfolio (o mnie, technologie, projekty).
*
* To jedyne miejsce, które trzeba edytować, żeby podmienić dane na własne
* kontroler i szablony czytają wszystko stąd.
*/
final class PortfolioContent
{
/**
* @return array{name: string, role: string, location: string, available: bool, summary: string, about: list<string>, email: string, github: string, linkedin: string}
*/
public function profile(): array
{
return [
'name' => 'Szymon Gawlik',
'role' => 'Backend / Full-stack developer',
'location' => 'Kraków, PL',
'available' => true,
'summary' => 'Tworzę nowoczesne i funkcjonalne aplikacje internetowe - od backendu w PHP i Symfony po interfejsy oparte na JavaScript, Vue.js i React. Zajmuję się również integracją REST API, pracą z bazami danych, Dockerem oraz wdrażaniem i utrzymaniem aplikacji w środowisku Linux.',
'about' => [
'Od ponad 10 lat tworzę i rozwijam aplikacje internetowe, głównie w PHP. Łączę pracę backendową z frontendem opartym na JavaScript, jQuery, Twig, Smarty, Vue.js lub React, dbając o to, aby aplikacje były funkcjonalne, czytelne i łatwe w dalszym rozwoju.',
'Zajmuję się całym procesem tworzenia aplikacji - od analizy potrzeb i projektowania rozwiązania, przez implementację, aż po wdrożenie i utrzymanie w środowisku Linux. Najważniejsze są dla mnie solidny kod, stabilne działanie oraz rozwiązania, które rzeczywiście odpowiadają na potrzeby użytkowników.'
],
'email' => 'szymon.gawlik@gmail.com',
'github' => 'https://github.com/Ryjek0/',
'gitea' => 'https://git.rhost.ovh/ryjek',
'bitbucket' => 'https://bitbucket.org/szymon_gawlik/',
'linkedin' => 'https://www.linkedin.com/in/szymon-gawlik-4b187194/',
];
}
/**
* Technologie pogrupowane wg obszaru.
*
* @return list<array{group: string, items: list<string>}>
*/
public function technologies(): array
{
return [
['group' => 'Backend', 'items' => ['PHP 8.4', 'Symfony', 'API Platform', 'Doctrine ORM']],
['group' => 'Frontend', 'items' => ['JavaScript', 'jQuery', 'Smarty', 'Twig', 'Stimulus', 'React']],
['group' => 'Dane', 'items' => ['MySQL', 'Redis']],
['group' => 'DevOps', 'items' => ['Docker', 'Linux', 'GitHub Actions', 'Nginx']],
];
}
/**
* Homelab - własna infrastruktura self-hosted.
*
* @return array{lead: string, services: list<array{name: string, role: string, description: string, featured?: bool}>}
*/
public function homelab(): array
{
return [
'lead' => 'Cała powyższa infrastruktura działa na moim własnym serwerze fizycznym - od hypervisora, przez sieć i reverse proxy, aż po usługi, z których korzystam na co dzień. Wszystko postawione, skonfigurowane i utrzymywane samodzielnie.',
'services' => [
[
'name' => 'Proxmox VE',
'role' => 'Hypervisor',
'description' => 'Serwer fizyczny postawiony i skonfigurowany od zera. Zarządza maszynami wirtualnymi i kontenerami LXC - stanowi fundament całego homelaba.',
'featured' => true,
],
[
'name' => 'Traefik',
'role' => 'Reverse proxy',
'description' => 'Routing ruchu do poszczególnych usług oraz automatyczne zarządzanie certyfikatami TLS. Każdy serwis dostępny pod własną subdomeną po HTTPS.',
],
[
'name' => 'VM z Dockerem',
'role' => 'Konteneryzacja',
'description' => 'Dedykowana maszyna wirtualna hostująca aplikacje w kontenerach Docker - spójne, powtarzalne środowisko uruchomieniowe dla self-hosted usług.',
],
[
'name' => 'Home Assistant',
'role' => 'Smart home',
'description' => 'Centrum automatyki domowej - integracja urządzeń, scenariusze i sterowanie inteligentnym domem w jednym miejscu.',
],
[
'name' => 'Gitea',
'role' => 'Git hosting',
'description' => 'Własny, lekki hosting repozytoriów Git. Prywatne repozytoria i pełna kontrola nad kodem bez zależności od zewnętrznych usług.',
],
[
'name' => 'Immich',
'role' => 'Zdjęcia',
'description' => 'Prywatna galeria i backup zdjęć oraz filmów - self-hosted alternatywa dla chmury, z automatycznym uploadem z telefonu.',
],
[
'name' => 'Nextcloud',
'role' => 'Chmura plików',
'description' => 'Osobista chmura na pliki, kalendarz i kontakty. Synchronizacja i współdzielenie danych na własnych warunkach.',
],
[
'name' => 'Vaultwarden',
'role' => 'Menedżer haseł',
'description' => 'Self-hosted menedżer haseł kompatybilny z Bitwarden. Wszystkie sekrety trzymane lokalnie, pod pełną kontrolą.',
],
],
];
}
/**
* Lista projektów.
*
* @return list<array{name: string, year: string, role: string, description: string, stack: list<string>, thumbnail: string, github: string, live: string}>
*/
public function projects(): array
{
return [
[
'name' => 'Rozliczenia PIT',
'year' => '2024',
'role' => 'Autor',
'description' => 'Platforma do automatycznego pobierania danych o przychodach z dywidend oraz przeliczania ich zgodnie z obowiązującymi zasadami podatkowymi. Dzięki temu użytkownik szybko otrzymuje zestawienie należnego podatku oraz dane potrzebne do rozliczenia.',
'stack' => ['Symfony', 'API Platform', 'MySQL', 'Docker'],
'thumbnail' => 'images/projects/taxes.svg',
'github' => 'https://git.rhost.ovh/ryjek/taxes',
'live' => 'https://taxes.rhost.ovh/',
],
[
'name' => 'CRM',
'year' => '2025',
'role' => 'Autor',
'description' => 'System CRM dla kancelarii syndyka, napisany w całości w Symfony - widoki renderowane po stronie serwera w Twigu, bez osobnego frontendu i warstwy API. Prostsze wdrożenie i utrzymanie przy zachowaniu pełnej funkcjonalności: sprawozdania z wykonania układu, terminy, statusy postępowań i przypomnienia.
<br><br>Dane logowania:
<br>Nazwa użytkownika: <b>demo</b>
<br>Haslo: <b>LRJXG1Vl1yTO</b>',
'stack' => ['Symfony', 'Twig', 'Doctrine', 'MySQL', 'Docker'],
'thumbnail' => 'images/projects/crm-symfony.svg',
'github' => 'https://git.rhost.ovh/ryjek/sprawozdania',
'live' => 'https://crm-full.rhost.ovh/',
],
[
'name' => 'CRM (beta)',
'year' => '2026',
'role' => 'Autor',
'description' => 'Wersja beta systemu CRM dla kancelarii syndyka, zbudowana w architekturze rozdzielonej: backend w Symfony udostępnia REST API, a interfejs to aplikacja SPA w React. System porządkuje sprawozdania z wykonania układu, terminy oraz dane poszczególnych postępowań, a automatyczne przypomnienia i kontrola statusów ograniczają ryzyko opóźnień przy raportach dla sądu i wierzycieli.
<br><br>Dane logowania:
<br>Nazwa użytkownika: <b>demo</b>
<br>Haslo: <b>LRJXG1Vl1yTO</b>',
'stack' => ['Symfony', 'React', 'REST Api', 'MySQL', 'Docker'],
'thumbnail' => 'images/projects/crm.svg',
'github' => 'https://git.rhost.ovh/ryjek/sprawozdania',
'githubfront' => 'https://git.rhost.ovh/ryjek/sprawozdania/src/branch/masterApi/',
'live' => 'https://crm.rhost.ovh/',
],
// [
// 'name' => 'Wizytówka',
// 'year' => '2024',
// 'role' => 'Backend',
// 'description' => 'Strona wizytówka prezentuje najważniejsze informacje o firmie, jej ofercie i danych kontaktowych w przejrzystej formie. Galeria pozwala zaprezentować realizacje, a sekcja artykułów umożliwia publikowanie aktualności, porad i wartościowych treści dla klientów.',
// 'stack' => ['Symfony', 'Doctrine', 'Stripe', 'Tailwind'],
// 'thumbnail' => 'images/projects/wizytowka.svg',
// 'github' => 'https://github.com/szymongawlik/rynek-lokalny',
// 'live' => 'https://rynek.example.com',
// ],
];
}
}