\documentclass[12pt,a4paper]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[polish]{babel}
\usepackage{graphicx}
\usepackage{float}
\usepackage{hyperref}
\usepackage{geometry}
\usepackage{listings}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric,positioning}
\usetikzlibrary{positioning}

\usetikzlibrary{arrows.meta, positioning}

\geometry{margin=2.5cm}

% --- Ustawienia listingów ---
\lstset{
    frame=single,
    basicstyle=\ttfamily\small,
    captionpos=b,
    numbers=left,
    numberstyle=\tiny,
    breaklines=true,
    tabsize=4
}

% --- Nazwy po polsku ---
\renewcommand{\lstlistingname}{Listing}
\renewcommand{\lstlistlistingname}{Spis listingów}

\begin{document}

% ---------------- STRONA TYTUŁOWA ----------------
\begin{titlepage}

\begin{minipage}{0.5\textwidth}
    \flushleft
    \includegraphics[height=2.5cm]{imgs/prz_ang.png}
\end{minipage}
\begin{minipage}{0.5\textwidth}
    \flushright
    \includegraphics[height=2.5cm]{imgs/weii_ang.png}
\end{minipage}

\vspace{3cm}

\begin{center}

{\Large \textbf{NAZWA PRZEDMIOTU}}

\vspace{1cm}

{\LARGE \textbf{Sprawozdanie nr X}}

\vspace{1cm}

{\large pt.: „Tytuł sprawozdania/pracy”}

\end{center}

\vfill

\begin{minipage}{0.5\textwidth}
\flushleft
\textbf{Data wykonania:} XXX
\end{minipage}
\begin{minipage}{0.5\textwidth}
\flushright
\textbf{Grupa:} LX \\
Imię Nazwisko
\end{minipage}

\end{titlepage}

% ---------------- SPISY ----------------

\tableofcontents
\newpage

\listoffigures
\newpage

\listoftables
\newpage

\lstlistoflistings
\newpage

% ---------------- TREŚĆ ----------------

\section{Cel pracy}
Tutaj wpisz cel pracy. Można odwołać się do źródła~\cite{knuth1984}.

\section{Przebieg pracy}

\subsection{Etap 1}
Przykład cytowania~\cite{lamport1994}.

\subsection{Etap 2}

\begin{lstlisting}[language=C, caption={Przykładowy kod w C}]
#include <stdio.h>

int main() {
    printf("Hello World!\n");
    return 0;
}
\end{lstlisting}

\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{imgs/example.jpg}
\caption{Przykładowy rysunek 1}
\end{figure}

\begin{table}[H]
\centering
\begin{tabular}{|c|c|c|}
\hline
Kolumna 1 & Kolumna 2 & Kolumna 3 \\ \hline
1 & 2 & 3 \\ \hline
4 & 5 & 6 \\ \hline
\end{tabular}
\caption{Przykładowa tabela}
\end{table}

\section{Diagram drzewa}

Poniższy diagram przedstawia przykładowe drzewo decyzyjne / binarne.

\begin{figure}[H]
\centering
\begin{tikzpicture}[sibling distance=10em, level distance=6em,
  every node/.style = {shape=rectangle, draw, align=center, top color=white, bottom color=blue!20}]

\node {Korzeń}
    child { node {Lewy węzeł}
        child { node {Lewy-lewy} }
        child { node {Lewy-prawy} }
    }
    child { node {Prawy węzeł}
        child { node {Prawy-lewy} }
        child { node {Prawy-prawy} }
    };
\end{tikzpicture}
\caption{Przykładowe drzewo binarne}
\label{fig:drzewo}
\end{figure}

\section{Diagram przypadków użycia (Use Case)}

Poniższy diagram przedstawia przykładowe przypadki użycia systemu.

\begin{figure}[H]
\centering
\begin{tikzpicture}[every node/.style={font=\small}, node distance=2cm]

% System boundary
\node[draw, rectangle, minimum width=10cm, minimum height=6cm] (system) {System};

% Use cases
\node[draw, ellipse, right=1cm of system.north west, yshift=-3cm] (login) {Logowanie};
\node[draw, ellipse, right=4cm of system.north west, yshift=-1cm] (search) {Przeszukiwanie danych};
\node[draw, ellipse, right=2.5cm of system.south west, yshift=1cm] (report) {Generowanie raportu};

% Actor
\node[left=3cm of login] (user) {Użytkownik};

% Połączenia
\draw[-{Stealth[length=3mm]}] (user) -- (login);
\draw[-{Stealth[length=3mm]}] (user) -- (search);
\draw[-{Stealth[length=3mm]}] (user) -- (report);

\end{tikzpicture}
\caption{Przykładowy diagram przypadków użycia (Use Case)}
\label{fig:usecase}
\end{figure}

\section{Wnioski}
Tutaj wpisz wnioski.

% ---------------- BIBLIOGRAFIA ----------------

\newpage
\bibliographystyle{plain}
\bibliography{bibliography}

\end{document}