add full crm
Build and Deploy Docker / build (push) Successful in 6m39s
Build and Deploy Docker / deploy (push) Successful in 19s

This commit is contained in:
2026-08-27 16:44:55 +02:00
parent dfd3e17cc3
commit 25854e8a65
3 changed files with 60 additions and 11 deletions
+15 -9
View File
@@ -253,8 +253,11 @@ a { color: inherit; text-decoration: none; }
.projects-grid { .projects-grid {
display: grid; display: grid;
grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 22px; gap: 18px;
}
@media (min-width: 900px) {
.projects-grid { grid-template-columns: repeat(3, 1fr); }
} }
.project { .project {
display: flex; display: flex;
@@ -269,11 +272,13 @@ a { color: inherit; text-decoration: none; }
.project-thumb { .project-thumb {
aspect-ratio: 16 / 9; aspect-ratio: 16 / 9;
width: 100%; width: 100%;
object-fit: cover; height: auto;
object-fit: contain;
background: #0d1a2b;
display: block; display: block;
border-bottom: 1px solid var(--line); border-bottom: 1px solid var(--line);
} }
.project-body { padding: 22px; display: flex; flex-direction: column; flex: 1; } .project-body { padding: 18px; display: flex; flex-direction: column; flex: 1; }
.project-meta { .project-meta {
display: flex; display: flex;
gap: 12px; gap: 12px;
@@ -285,16 +290,17 @@ a { color: inherit; text-decoration: none; }
.project-name { .project-name {
font-family: var(--display); font-family: var(--display);
font-weight: 600; font-weight: 600;
font-size: 1.35rem; font-size: 1.2rem;
letter-spacing: -0.015em; letter-spacing: -0.015em;
margin: 0 0 10px; margin: 0 0 10px;
} }
.project-desc { color: var(--muted); font-size: 0.98rem; margin: 0 0 18px; } .project-desc { color: var(--muted); font-size: 0.92rem; margin: 0 0 16px; }
.project-stack { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 20px; } .project-stack { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 20px; }
.project-stack .chip { font-size: 0.74rem; padding: 4px 9px; } .project-stack .chip { font-size: 0.74rem; padding: 4px 9px; }
.project-actions { .project-actions {
display: flex; display: flex;
gap: 10px; flex-wrap: wrap;
gap: 8px;
margin-top: auto; margin-top: auto;
padding-top: 4px; padding-top: 4px;
} }
@@ -303,8 +309,8 @@ a { color: inherit; text-decoration: none; }
align-items: center; align-items: center;
gap: 7px; gap: 7px;
font-family: var(--mono); font-family: var(--mono);
font-size: 0.82rem; font-size: 0.78rem;
padding: 9px 14px; padding: 8px 12px;
border-radius: 9px; border-radius: 9px;
border: 1px solid var(--line-strong); border: 1px solid var(--line-strong);
transition: border-color 0.16s, background 0.16s, color 0.16s; transition: border-color 0.16s, background 0.16s, color 0.16s;
@@ -0,0 +1,30 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 270" width="480" height="270" role="img" aria-label="CRM Symfony">
<defs>
<linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#7dd87d"/>
<stop offset="1" stop-color="#2f9e44"/>
</linearGradient>
<radialGradient id="glow" cx="0.78" cy="0.22" r="0.75">
<stop offset="0" stop-color="#7dd87d" stop-opacity="0.55"/>
<stop offset="1" stop-color="#7dd87d" stop-opacity="0"/>
</radialGradient>
</defs>
<rect width="480" height="270" fill="#0d1a2b"/>
<rect width="480" height="270" fill="url(#glow)"/>
<!-- pasek okna -->
<rect x="28" y="28" width="424" height="214" rx="14" fill="#14293f" stroke="rgba(150,178,209,0.18)"/>
<g fill="rgba(150,178,209,0.5)">
<circle cx="52" cy="52" r="5"/><circle cx="70" cy="52" r="5"/><circle cx="88" cy="52" r="5"/>
</g>
<rect x="112" y="46" width="316" height="12" rx="6" fill="rgba(150,178,209,0.14)"/>
<!-- znak / inicjaly -->
<rect x="66" y="88" width="86" height="86" rx="20" fill="url(#g)"/>
<text x="109" y="143" font-family="'Space Grotesk',system-ui,sans-serif" font-size="24" font-weight="700" fill="#0d1a2b" text-anchor="middle">CRM</text>
<!-- linie tekstu -->
<rect x="174" y="96" width="200" height="16" rx="8" fill="rgba(234,241,248,0.85)"/>
<rect x="174" y="124" width="252" height="10" rx="5" fill="rgba(150,178,209,0.35)"/>
<rect x="174" y="142" width="216" height="10" rx="5" fill="rgba(150,178,209,0.28)"/>
<rect x="174" y="160" width="150" height="10" rx="5" fill="rgba(150,178,209,0.22)"/>
<!-- nazwa -->
<text x="66" y="216" font-family="'Space Grotesk',system-ui,sans-serif" font-size="20" font-weight="600" fill="#eaf1f8">CRM · Symfony + Twig</text>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

+15 -2
View File
@@ -125,14 +125,27 @@ final class PortfolioContent
'name' => 'CRM', 'name' => 'CRM',
'year' => '2025', 'year' => '2025',
'role' => 'Autor', 'role' => 'Autor',
'description' => 'System CRM dla kancelarii syndyka usprawnia zarządzanie sprawozdaniami z wykonania układu, porządkując terminy oraz dane dotyczące poszczególnych postępowań. Automatyczne przypomnienia i kontrola statusów ograniczają ryzyko opóźnień oraz ułatwiają przygotowanie kompletnych raportów dla sądu i wierzycieli. '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><br>Dane logowania:
<br>Nazwa użytkownika: <b>demo</b> <br>Nazwa użytkownika: <b>demo</b>
<br>Haslo: <b>LRJXG1Vl1yTO</b>', <br>Haslo: <b>LRJXG1Vl1yTO</b>',
'stack' => ['Symfony', 'React', 'REST Api', 'MySQL', 'Docker'], 'stack' => ['Symfony', 'React', 'REST Api', 'MySQL', 'Docker'],
'thumbnail' => 'images/projects/crm.svg', 'thumbnail' => 'images/projects/crm.svg',
'github' => 'https://git.rhost.ovh/ryjek/sprawozdania', 'github' => 'https://git.rhost.ovh/ryjek/sprawozdania',
'githubfront' => 'https://git.rhost.ovh/ryjek/sprawozdania-frontend', 'githubfront' => 'https://git.rhost.ovh/ryjek/sprawozdania/src/branch/masterApi/',
'live' => 'https://crm.rhost.ovh/', 'live' => 'https://crm.rhost.ovh/',
], ],
// [ // [