diff --git a/app/Http/Controllers/Dashboard/NoteController.php b/app/Http/Controllers/Dashboard/NoteController.php
new file mode 100644
index 0000000..b171d17
--- /dev/null
+++ b/app/Http/Controllers/Dashboard/NoteController.php
@@ -0,0 +1,84 @@
+ new NoteCollection(
+ Note::query()
+ ->orderByDesc('id')
+ ->get()
+ ),
+ ]
+ );
+ }
+
+ public function create(): InertiaResponse
+ {
+ return inertia('Notes/Create');
+ }
+
+ public function store(NoteRequest $request): RedirectResponse
+ {
+ $note = Note::query()->create([
+ 'title' => $request->get('title'),
+ 'note' => $request->get('note'),
+ ]);
+
+ return redirect()
+ ->route('admin.note.show', compact('note'))
+ ->with('success', 'Utworzono nową notatkę.');
+ }
+
+ public function show(Note $note): InertiaResponse
+ {
+ return inertia('Notes/Show', ['note' => new NoteResource($note)]);
+ }
+
+ public function edit(Note $note): InertiaResponse
+ {
+ return inertia('Notes/Edit', ['note' => new NoteResource($note)]);
+ }
+
+ public function update(NoteRequest $request, Note $note): RedirectResponse
+ {
+ $note->update([
+ 'title' => $request->get('title'),
+ 'note' => $request->get('note'),
+ ]);
+
+ return redirect()
+ ->route('admin.note.show', compact('note'))
+ ->with('success', 'Notatka ' . $request->get('title') . ' została zaktualizowana.');
+ }
+
+ public function delete(Note $note): InertiaResponse
+ {
+ return inertia('Notes/ConfirmDelete', ['note' => new NoteResource($note)]);
+ }
+
+ public function destroy(Note $note): RedirectResponse
+ {
+ $title = $note->title;
+ $note->delete();
+
+ return redirect()
+ ->route('admin.note.index')
+ ->with('info', 'Notatka ' . $title . ' została usunięta.');
+ }
+}
diff --git a/app/Http/Requests/NoteRequest.php b/app/Http/Requests/NoteRequest.php
new file mode 100644
index 0000000..8bc6026
--- /dev/null
+++ b/app/Http/Requests/NoteRequest.php
@@ -0,0 +1,18 @@
+ 'required|string|min:3|max:250',
+ 'note' => 'required|string|min:3|max:1000',
+ ];
+ }
+}
diff --git a/app/Http/Resources/NoteCollection.php b/app/Http/Resources/NoteCollection.php
new file mode 100644
index 0000000..2209dde
--- /dev/null
+++ b/app/Http/Resources/NoteCollection.php
@@ -0,0 +1,17 @@
+ $this->collection,
+ ];
+ }
+}
diff --git a/app/Http/Resources/NoteResource.php b/app/Http/Resources/NoteResource.php
new file mode 100644
index 0000000..1d64ebe
--- /dev/null
+++ b/app/Http/Resources/NoteResource.php
@@ -0,0 +1,25 @@
+ $this->resource->id,
+ 'title' => $this->resource->title,
+ 'note' => $this->resource->note,
+ ];
+ }
+}
diff --git a/app/Models/Note.php b/app/Models/Note.php
new file mode 100644
index 0000000..ec3da41
--- /dev/null
+++ b/app/Models/Note.php
@@ -0,0 +1,20 @@
+id();
+ $table->string('title', 250);
+ $table->text('note');
+ $table->timestamps();
+ });
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('notes');
+ }
+};
diff --git a/resources/js/Pages/Notes/ConfirmDelete.vue b/resources/js/Pages/Notes/ConfirmDelete.vue
new file mode 100644
index 0000000..7ff6c5d
--- /dev/null
+++ b/resources/js/Pages/Notes/ConfirmDelete.vue
@@ -0,0 +1,37 @@
+
+
+
+ Na pewno usunąć notatkę {{ note.title }}? {{ note.title }} {{ noteLine }}Usuwanie notatki
+ Nowe dane do CV
+ Edycja notatki
+ Lista notatek
+
+
+ Szczegóły notatki
+ Podstawowe informacje
+