Index: app/Http/Controllers/RoadmapController.php
===================================================================
--- app/Http/Controllers/RoadmapController.php	(revision afb1e5bfeeac2591568c6a1777975b3c78cade31)
+++ app/Http/Controllers/RoadmapController.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
@@ -4,7 +4,9 @@
 
 use App\Models\CareerPath;
+use App\Models\Roadmap;
 use App\Models\StudyProgram;
 use App\Models\Subject;
 use App\Models\UserProgress;
+use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
 use Illuminate\Http\Request;
 use Illuminate\View\View;
@@ -12,4 +14,5 @@
 class RoadmapController extends Controller
 {
+    use AuthorizesRequests;
     /**
      * Show the roadmap form where user inputs completed, current, and desired study program
@@ -38,4 +41,8 @@
             ->orderBy('semester_type')
             ->get()
+            ->filter(function ($subject) use ($program) {
+                // Only include subjects within the program's duration
+                return $subject->year <= $program->duration_years;
+            })
             ->map(function ($subject) {
                 return [
@@ -107,4 +114,20 @@
         $semesterRoadmap = $this->generateSemesterRoadmap($studyProgram, $completedIds, $inProgressIds, $careerPath);
 
+        // Save the generated roadmap to database
+        $roadmapData = $this->serializeRoadmapData($roadmap);
+        $semesterRoadmapData = $this->serializeSemesterRoadmapData($semesterRoadmap);
+
+        Roadmap::updateOrCreate(
+            [
+                'user_id' => $user->id,
+                'study_program_id' => $studyProgram->id,
+            ],
+            [
+                'career_path_id' => $careerPath?->id,
+                'roadmap_data' => $roadmapData,
+                'semester_roadmap_data' => $semesterRoadmapData,
+            ]
+        );
+
         return view('roadmap.show', [
             'studyProgram' => $studyProgram,
@@ -194,14 +217,16 @@
     {
         $user = auth()->user();
-        $latestProgress = $user->progress()
-            ->latest()
+
+        // Get the latest roadmap for the user
+        $latestRoadmap = Roadmap::where('user_id', $user->id)
+            ->latest('updated_at')
             ->first();
 
-        if (!$latestProgress) {
-            return redirect()->route('roadmap.create')->with('info', 'Please select a study program first.');
-        }
-
-        $studyProgram = $latestProgress->studyProgram;
-        $careerPath = $latestProgress->careerPath;
+        if (!$latestRoadmap) {
+            return view('roadmap.no-roadmap');
+        }
+
+        $studyProgram = $latestRoadmap->studyProgram;
+        $careerPath = $latestRoadmap->careerPath;
 
         $completedIds = $user->progress()
@@ -231,4 +256,81 @@
 
     /**
+     * Show all roadmaps history for the user
+     */
+    public function history(): View
+    {
+        $user = auth()->user();
+        $roadmaps = Roadmap::where('user_id', $user->id)
+            ->with('studyProgram', 'careerPath')
+            ->orderBy('updated_at', 'desc')
+            ->paginate(10);
+
+        return view('roadmap.history', [
+            'roadmaps' => $roadmaps,
+        ]);
+    }
+
+    /**
+     * Edit an existing roadmap
+     */
+    public function edit(Roadmap $roadmap): View
+    {
+        $this->authorize('view', $roadmap);
+
+        $user = auth()->user();
+        $studyProgram = $roadmap->studyProgram;
+        $careerPath = $roadmap->careerPath;
+
+        // Get current completed and in-progress subject IDs
+        $completedIds = $user->progress()
+            ->where('study_program_id', $studyProgram->id)
+            ->where('status', 'completed')
+            ->pluck('subject_id')
+            ->toArray();
+
+        $inProgressIds = $user->progress()
+            ->where('study_program_id', $studyProgram->id)
+            ->where('status', 'in_progress')
+            ->pluck('subject_id')
+            ->toArray();
+
+        // Get all study programs and career paths
+        $studyPrograms = StudyProgram::all();
+        $careerPaths = CareerPath::all();
+
+        return view('roadmap.edit', [
+            'roadmap' => $roadmap,
+            'studyProgram' => $studyProgram,
+            'careerPath' => $careerPath,
+            'studyPrograms' => $studyPrograms,
+            'careerPaths' => $careerPaths,
+            'completedIds' => $completedIds,
+            'inProgressIds' => $inProgressIds,
+        ]);
+    }
+
+    /**
+     * Delete a roadmap
+     */
+    public function destroy(Roadmap $roadmap)
+    {
+        $this->authorize('delete', $roadmap);
+
+        $user = auth()->user();
+        $studyProgram = $roadmap->studyProgram;
+
+        // Delete the roadmap
+        $roadmap->delete();
+
+        // Delete associated user progress
+        UserProgress::where('user_id', $user->id)
+            ->where('study_program_id', $studyProgram->id)
+            ->delete();
+
+        return redirect()->route('roadmap.show')
+            ->with('success', 'Roadmap deleted successfully.');
+    }
+
+    /**
      * Generate semester-by-semester roadmap for upcoming years
      */
@@ -300,3 +402,49 @@
         return $roadmap;
     }
+
+    /**
+     * Serialize roadmap data for storage in JSON format
+     */
+    private function serializeRoadmapData(array $roadmap): array
+    {
+        return array_map(function ($item) {
+            return [
+                'subject_id' => $item['subject']->id,
+                'subject_code' => $item['subject']->code,
+                'subject_name' => $item['subject']->name,
+                'subject_name_mk' => $item['subject']->name_mk,
+                'prerequisites' => $item['prerequisites']->pluck('id')->toArray(),
+                'ready' => $item['ready'],
+                'year' => $item['year'],
+                'type' => $item['type'],
+                'inCareerPath' => $item['inCareerPath'],
+                'credits' => $item['subject']->credits,
+            ];
+        }, $roadmap);
+    }
+
+    /**
+     * Serialize semester roadmap data for storage in JSON format
+     */
+    private function serializeSemesterRoadmapData(array $semesterRoadmap): array
+    {
+        $serialized = [];
+        foreach ($semesterRoadmap as $year => $semesters) {
+            $serialized[$year] = [];
+            foreach ($semesters as $semester => $items) {
+                $serialized[$year][$semester] = array_map(function ($item) {
+                    return [
+                        'subject_id' => $item['subject']->id,
+                        'subject_code' => $item['subject']->code,
+                        'subject_name' => $item['subject']->name,
+                        'subject_name_mk' => $item['subject']->name_mk,
+                        'prerequisites' => $item['prerequisites']->pluck('id')->toArray(),
+                        'ready' => $item['ready'],
+                        'credits' => $item['subject']->credits,
+                    ];
+                }, $items);
+            }
+        }
+        return $serialized;
+    }
 }
Index: app/Models/Roadmap.php
===================================================================
--- app/Models/Roadmap.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
+++ app/Models/Roadmap.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
@@ -0,0 +1,39 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\Relations\BelongsTo;
+
+class Roadmap extends Model
+{
+    protected $table = 'roadmaps';
+
+    protected $fillable = [
+        'user_id',
+        'study_program_id',
+        'career_path_id',
+        'roadmap_data',
+        'semester_roadmap_data',
+    ];
+
+    protected $casts = [
+        'roadmap_data' => 'array',
+        'semester_roadmap_data' => 'array',
+    ];
+
+    public function user(): BelongsTo
+    {
+        return $this->belongsTo(User::class);
+    }
+
+    public function studyProgram(): BelongsTo
+    {
+        return $this->belongsTo(StudyProgram::class);
+    }
+
+    public function careerPath(): BelongsTo
+    {
+        return $this->belongsTo(CareerPath::class);
+    }
+}
Index: app/Policies/RoadmapPolicy.php
===================================================================
--- app/Policies/RoadmapPolicy.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
+++ app/Policies/RoadmapPolicy.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
@@ -0,0 +1,25 @@
+<?php
+
+namespace App\Policies;
+
+use App\Models\Roadmap;
+use App\Models\User;
+
+class RoadmapPolicy
+{
+    /**
+     * Determine whether the user can view the roadmap
+     */
+    public function view(User $user, Roadmap $roadmap): bool
+    {
+        return $user->id === $roadmap->user_id;
+    }
+
+    /**
+     * Determine whether the user can delete the roadmap
+     */
+    public function delete(User $user, Roadmap $roadmap): bool
+    {
+        return $user->id === $roadmap->user_id;
+    }
+}
Index: app/Providers/AppServiceProvider.php
===================================================================
--- app/Providers/AppServiceProvider.php	(revision afb1e5bfeeac2591568c6a1777975b3c78cade31)
+++ app/Providers/AppServiceProvider.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
@@ -3,4 +3,7 @@
 namespace App\Providers;
 
+use App\Models\Roadmap;
+use App\Policies\RoadmapPolicy;
+use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\ServiceProvider;
 
@@ -20,5 +23,13 @@
     public function boot(): void
     {
-        //
+        $this->registerPolicies();
+    }
+
+    /**
+     * Register authorization policies
+     */
+    protected function registerPolicies(): void
+    {
+        Gate::policy(Roadmap::class, RoadmapPolicy::class);
     }
 }
Index: database/migrations/2026_01_28_000000_create_roadmaps_table.php
===================================================================
--- database/migrations/2026_01_28_000000_create_roadmaps_table.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
+++ database/migrations/2026_01_28_000000_create_roadmaps_table.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
@@ -0,0 +1,35 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::create('roadmaps', function (Blueprint $table) {
+            $table->id();
+            $table->foreignId('user_id')->constrained('users')->onDelete('cascade');
+            $table->foreignId('study_program_id')->constrained('study_programs')->onDelete('cascade');
+            $table->foreignId('career_path_id')->nullable()->constrained('career_paths')->onDelete('set null');
+            $table->json('roadmap_data'); // Stores the generated roadmap suggestions
+            $table->json('semester_roadmap_data'); // Stores semester-by-semester roadmap
+            $table->timestamps();
+
+            // Add index for quick lookups
+            $table->index(['user_id', 'study_program_id']);
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::dropIfExists('roadmaps');
+    }
+};
Index: resources/views/admin/subjects/index.blade.php
===================================================================
--- resources/views/admin/subjects/index.blade.php	(revision afb1e5bfeeac2591568c6a1777975b3c78cade31)
+++ resources/views/admin/subjects/index.blade.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
@@ -10,16 +10,16 @@
                     </a>
                 </div>
-                
+
                 <div class="mb-6">
                     <form action="{{ route('subjects.index') }}" method="GET" class="flex gap-3">
-                        <input 
-                            type="text" 
-                            name="search" 
-                            placeholder="Пребарај по имена или код..." 
-                            value="{{ request('search') }}" 
+                        <input
+                            type="text"
+                            name="search"
+                            placeholder="Пребарај по име на предмет или код..."
+                            value="{{ request('search') }}"
                             class="flex-1 px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500"
                         >
-                        <button 
-                            type="submit" 
+                        <button
+                            type="submit"
                             class="px-6 py-2 bg-indigo-600 text-white rounded-md font-semibold text-sm hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2"
                         >
@@ -27,6 +27,6 @@
                         </button>
                         @if(request('search'))
-                            <a 
-                                href="{{ route('subjects.index') }}" 
+                            <a
+                                href="{{ route('subjects.index') }}"
                                 class="px-6 py-2 bg-gray-300 text-gray-800 rounded-md font-semibold text-sm hover:bg-gray-400 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2"
                             >
@@ -45,5 +45,5 @@
                 @endif
 
-                
+
                 <div class="overflow-x-auto">
                     <table class="min-w-full border-collapse border border-gray-300">
Index: resources/views/layouts/navigation.blade.php
===================================================================
--- resources/views/layouts/navigation.blade.php	(revision afb1e5bfeeac2591568c6a1777975b3c78cade31)
+++ resources/views/layouts/navigation.blade.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
@@ -25,8 +25,9 @@
                     @endif
                     @if(Auth::user()->isStudent())
-                        <x-nav-link :href="route('roadmap.create')" :active="request()->routeIs('roadmap.*')">
+                        <x-nav-link :href="route('roadmap.show')" :active="request()->routeIs('roadmap.*')">
                             {{ __('Академски roadmap') }}
                         </x-nav-link>
                     @endif
+
                 </div>
             </div>
Index: resources/views/roadmap/create.blade.php
===================================================================
--- resources/views/roadmap/create.blade.php	(revision afb1e5bfeeac2591568c6a1777975b3c78cade31)
+++ resources/views/roadmap/create.blade.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
@@ -191,5 +191,5 @@
 
         // Summer Semester
-        html += buildSemesterSection('summer', semesters.summer, '☀️ Летни Семестар', 'amber');
+        html += buildSemesterSection('summer', semesters.summer, '☀️ Летен Семестар', 'amber');
 
         html += `</div></div></div>`;
Index: resources/views/roadmap/edit.blade.php
===================================================================
--- resources/views/roadmap/edit.blade.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
+++ resources/views/roadmap/edit.blade.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
@@ -0,0 +1,215 @@
+<x-app-layout>
+<div class="py-12">
+    <div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
+        <!-- Header -->
+        <div class="bg-white overflow-hidden shadow-sm sm:rounded-lg mb-6">
+            <div class="p-6 bg-white border-b border-gray-200">
+                <div class="flex justify-between items-start">
+                    <div>
+                        <h2 class="font-bold text-3xl text-gray-900">Уреди го твојот Roadmap</h2>
+                        <p class="text-gray-600 mt-2">
+                            <strong class="text-indigo-600">{{ $studyProgram->name_mk }}</strong>
+                            <span class="text-gray-500">({{ $studyProgram->duration_years }} години)</span>
+                        </p>
+                        @if($careerPath)
+                            <div class="mt-3 inline-block bg-purple-100 text-purple-800 px-3 py-1 rounded-full text-sm font-semibold">
+                                🎯 Кариерна патека: {{ $careerPath->name }}
+                            </div>
+                        @endif
+                    </div>
+                    <a href="{{ route('roadmap.show') }}" class="inline-flex items-center px-4 py-2 bg-gray-200 border border-transparent rounded-md font-semibold text-xs text-gray-700 uppercase tracking-widest hover:bg-gray-300">
+                        ← Назад на roadmap
+                    </a>
+                </div>
+            </div>
+        </div>
+
+        <!-- Form -->
+        <div class="bg-white overflow-hidden shadow-sm sm:rounded-lg">
+            <div class="p-6 bg-white border-b border-gray-200">
+                <form method="POST" action="{{ route('roadmap.store') }}" id="roadmapForm">
+                    @csrf
+
+                    <!-- STEP 1: Select Program and Career Path -->
+                    <div class="mb-8 pb-8 border-b border-gray-200">
+                        <h3 class="font-bold text-lg text-gray-900 mb-6">Чекор 1: Избор Програма и Кариера</h3>
+
+                        <div class="grid grid-cols-1 gap-6 md:grid-cols-2">
+                            <div>
+                                <label for="study_program_id" class="block text-sm font-semibold text-gray-900 mb-2">
+                                    Студирана програма:
+                                </label>
+                                <select name="study_program_id" id="programSelect" class="w-full px-4 py-2 border border-gray-300 rounded-lg" required>
+                                    <option value="">-- Избери програма --</option>
+                                    @foreach($studyPrograms as $program)
+                                        <option value="{{ $program->id }}" {{ $program->id === $studyProgram->id ? 'selected' : '' }}>
+                                            {{ $program->name_mk }} ({{ $program->duration_years }} години)
+                                        </option>
+                                    @endforeach
+                                </select>
+                            </div>
+
+                            <div>
+                                <label for="career_path_id" class="block text-sm font-semibold text-gray-900 mb-2">
+                                    Кариерна патека (опционално):
+                                </label>
+                                <select name="career_path_id" id="careerPathSelect" class="w-full px-4 py-2 border border-gray-300 rounded-lg">
+                                    <option value="">-- Без патека --</option>
+                                    @foreach($careerPaths as $path)
+                                        <option value="{{ $path->id }}" {{ $careerPath && $path->id === $careerPath->id ? 'selected' : '' }}>
+                                            {{ $path->name }}
+                                        </option>
+                                    @endforeach
+                                </select>
+                            </div>
+                        </div>
+                    </div>
+
+                    <!-- STEP 2: Select Completed Subjects -->
+                    <div class="mb-8">
+                        <h3 class="font-bold text-lg text-gray-900 mb-6">Чекор 2: Завршени Предмети</h3>
+                        <div id="completedSubjectsContainer" class="space-y-4">
+                            <p class="text-gray-600">Вчитување на предмети...</p>
+                        </div>
+                    </div>
+
+                    <!-- Submit -->
+                    <div class="flex gap-4">
+                        <button type="submit" class="inline-flex items-center px-6 py-3 bg-indigo-600 border border-transparent rounded-lg font-semibold text-white hover:bg-indigo-700">
+                            🔄 Регенерирај Roadmap
+                        </button>
+                        <a href="{{ route('roadmap.history') }}" class="inline-flex items-center px-6 py-3 bg-gray-200 border border-transparent rounded-lg font-semibold text-gray-700 hover:bg-gray-300">
+                            Откажи
+                        </a>
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+</div>
+
+<script>
+// Преходни функции за избор на предмети - исти како во create.blade.php
+const completedIds = @json($completedIds);
+
+document.getElementById('programSelect').addEventListener('change', function() {
+    const programId = this.value;
+
+    if (!programId) {
+        document.getElementById('completedSubjectsContainer').innerHTML = '<p class="text-gray-600">Прво избери програма</p>';
+        return;
+    }
+
+    // Fetch subjects for this program
+    fetch(`/api/study-program/${programId}/subjects`)
+        .then(response => response.json())
+        .then(data => {
+            // The API returns the array directly, not wrapped in a subjects property
+            displaySubjects(data);
+        })
+        .catch(error => console.error('Error:', error));
+});
+
+function displaySubjects(subjects) {
+    // Group by year
+    const subjectsByYear = {};
+
+    subjects.forEach(subject => {
+        if (!subjectsByYear[subject.year]) {
+            subjectsByYear[subject.year] = {
+                winter: [],
+                summer: []
+            };
+        }
+
+        const semester = subject.semester_type === 'winter' ? 'winter' : 'summer';
+        subjectsByYear[subject.year][semester].push(subject);
+    });
+
+    // Display completed subjects
+    let completedHtml = '';
+    Object.keys(subjectsByYear).sort().forEach(year => {
+        completedHtml += `
+            <div class="mb-8">
+                <div class="bg-indigo-100 rounded-lg p-4 mb-4">
+                    <h4 class="font-bold text-lg text-indigo-700">Година ${year}</h4>
+                </div>
+                <div class="grid grid-cols-1 lg:grid-cols-2 gap-6">`;
+
+        // Winter Semester
+        const winterSubjects = subjectsByYear[year].winter;
+        completedHtml += `
+                    <div class="bg-blue-50 rounded-lg p-6 border-l-4 border-blue-600">
+                        <h5 class="font-bold text-lg text-blue-700 mb-4">❄️ Зимски семестар</h5>`;
+
+        if (winterSubjects.length > 0) {
+            completedHtml += '<div class="space-y-3">';
+            winterSubjects.forEach(subject => {
+                const isChecked = completedIds.includes(subject.id) ? 'checked' : '';
+                completedHtml += `
+                    <div class="flex items-start p-3 bg-white rounded border border-blue-200">
+                        <input type="checkbox" name="completed_subjects[]" value="${subject.id}"
+                               class="mt-1 rounded" ${isChecked}>
+                        <div class="ml-3 flex-1">
+                            <p class="font-bold text-gray-900">${subject.code}</p>
+                            <p class="text-gray-700 text-sm">${subject.name}</p>
+                            <span class="inline-block mt-1 bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">
+                                ${subject.credits} ECTS
+                            </span>
+                        </div>
+                    </div>`;
+            });
+            completedHtml += '</div>';
+        } else {
+            completedHtml += '<p class="text-gray-500 text-sm">Нема предмети</p>';
+        }
+
+        completedHtml += `
+                    </div>`;
+
+        // Summer Semester
+        const summerSubjects = subjectsByYear[year].summer;
+        completedHtml += `
+                    <div class="bg-amber-50 rounded-lg p-6 border-l-4 border-amber-600">
+                        <h5 class="font-bold text-lg text-amber-700 mb-4">☀️ Летен семестар</h5>`;
+
+        if (summerSubjects.length > 0) {
+            completedHtml += '<div class="space-y-3">';
+            summerSubjects.forEach(subject => {
+                const isChecked = completedIds.includes(subject.id) ? 'checked' : '';
+                completedHtml += `
+                    <div class="flex items-start p-3 bg-white rounded border border-amber-200">
+                        <input type="checkbox" name="completed_subjects[]" value="${subject.id}"
+                               class="mt-1 rounded" ${isChecked}>
+                        <div class="ml-3 flex-1">
+                            <p class="font-bold text-gray-900">${subject.code}</p>
+                            <p class="text-gray-700 text-sm">${subject.name}</p>
+                            <span class="inline-block mt-1 bg-amber-100 text-amber-800 text-xs px-2 py-1 rounded">
+                                ${subject.credits} ECTS
+                            </span>
+                        </div>
+                    </div>`;
+            });
+            completedHtml += '</div>';
+        } else {
+            completedHtml += '<p class="text-gray-500 text-sm">Нема предмети</p>';
+        }
+
+        completedHtml += `
+                    </div>
+                </div>
+            </div>`;
+    });
+
+    document.getElementById('completedSubjectsContainer').innerHTML = completedHtml;
+}
+
+// Load subjects on page load if program is pre-selected
+window.addEventListener('DOMContentLoaded', function() {
+    const programSelect = document.getElementById('programSelect');
+    if (programSelect.value) {
+        programSelect.dispatchEvent(new Event('change'));
+    }
+});
+</script>
+</x-app-layout>
Index: resources/views/roadmap/no-roadmap.blade.php
===================================================================
--- resources/views/roadmap/no-roadmap.blade.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
+++ resources/views/roadmap/no-roadmap.blade.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
@@ -0,0 +1,23 @@
+<x-app-layout>
+<div class="py-12">
+    <div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
+        <!-- Header -->
+        <div class="bg-white overflow-hidden shadow-sm sm:rounded-lg mb-6">
+            <div class="p-6 bg-white border-b border-gray-200">
+                <h2 class="font-bold text-3xl text-gray-900">Вашиот Академски Roadmap</h2>
+            </div>
+        </div>
+
+        <!-- Empty State -->
+        <div class="bg-gradient-to-r from-blue-50 to-indigo-50 border-l-4 border-blue-500 p-6 rounded">
+            <p class="text-blue-900 font-semibold text-lg mb-3">
+                📋 Немаш создадено roadmap.
+            </p>
+            <p class="text-blue-800 mb-4">Почни со создавање на твој прв академски roadmap за да го планираш твоето студирање.</p>
+            <a href="{{ route('roadmap.create') }}" class="inline-flex items-center px-4 py-2 bg-blue-600 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest hover:bg-blue-700">
+                + Создај Roadmap
+            </a>
+        </div>
+    </div>
+</div>
+</x-app-layout>
Index: resources/views/roadmap/show.blade.php
===================================================================
--- resources/views/roadmap/show.blade.php	(revision afb1e5bfeeac2591568c6a1777975b3c78cade31)
+++ resources/views/roadmap/show.blade.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
@@ -21,7 +21,31 @@
                         @endif
                     </div>
-                    <a href="{{ route('roadmap.create') }}" class="inline-flex items-center px-4 py-2 bg-gray-200 border border-transparent rounded-md font-semibold text-xs text-gray-700 uppercase tracking-widest hover:bg-gray-300 focus:bg-gray-300">
-                        Уреди roadmap
-                    </a>
+                    <div class="flex gap-2">
+                        @php
+                            // Get the current roadmap for this user and study program
+                            $currentRoadmap = \App\Models\Roadmap::where('user_id', auth()->id())
+                                ->where('study_program_id', $studyProgram->id)
+                                ->first();
+                        @endphp
+                        @if($currentRoadmap)
+                            <a href="{{ route('roadmap.edit', $currentRoadmap) }}" class="inline-flex items-center px-4 py-2 bg-blue-600 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest hover:bg-blue-700">
+                                ✏️ Уреди
+                            </a>
+                            <form action="{{ route('roadmap.destroy', $currentRoadmap) }}" method="POST" class="inline" onsubmit="return confirm('Дали сте сигурни дека сакате да го избришете овој roadmap?');">
+                                @csrf
+                                @method('DELETE')
+                                <button type="submit" class="inline-flex items-center px-4 py-2 bg-red-600 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest hover:bg-red-700">
+                                    🗑️ Избриши
+                                </button>
+                            </form>
+                        @else
+                            <a href="{{ route('roadmap.create') }}" class="inline-flex items-center px-4 py-2 bg-gray-200 border border-transparent rounded-md font-semibold text-xs text-gray-700 uppercase tracking-widest hover:bg-gray-300">
+                                Создај нов roadmap
+                            </a>
+                        @endif
+                        <a href="{{ route('roadmap.history') }}" class="inline-flex items-center px-4 py-2 bg-gray-200 border border-transparent rounded-md font-semibold text-xs text-gray-700 uppercase tracking-widest hover:bg-gray-300">
+                            📋 Историја
+                        </a>
+                    </div>
                 </div>
             </div>
Index: routes/web.php
===================================================================
--- routes/web.php	(revision afb1e5bfeeac2591568c6a1777975b3c78cade31)
+++ routes/web.php	(revision aef3281e9fd96630ded0d7325703066bf3b2929f)
@@ -21,6 +21,9 @@
 
     // Roadmap routes
+    Route::get('/roadmap/history', [RoadmapController::class, 'history'])->name('roadmap.history');
     Route::get('/roadmap/create', [RoadmapController::class, 'create'])->name('roadmap.create');
     Route::post('/roadmap', [RoadmapController::class, 'store'])->name('roadmap.store');
+    Route::get('/roadmap/{roadmap}/edit', [RoadmapController::class, 'edit'])->name('roadmap.edit');
+    Route::delete('/roadmap/{roadmap}', [RoadmapController::class, 'destroy'])->name('roadmap.destroy');
     Route::get('/roadmap', [RoadmapController::class, 'show'])->name('roadmap.show');
     Route::get('/api/study-program/{programId}/subjects', [RoadmapController::class, 'getSubjectsByProgram'])->name('api.program.subjects');
