first commit

This commit is contained in:
Doar Mihai
2026-08-08 18:03:29 +03:00
commit df2128ebff
183 changed files with 18719 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
<?php
use App\Http\Controllers\Api\AuthController;
use App\Http\Controllers\Api\CategoryController;
use App\Http\Controllers\Api\PostController;
use App\Http\Controllers\Api\TagController;
use App\Http\Controllers\Api\ToolController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
Route::post('/login', [AuthController::class, 'login'])->middleware('throttle:10,1');
Route::middleware('auth:sanctum')->group(function () {
Route::post('/logout', [AuthController::class, 'logout']);
Route::get('/user', fn (Request $request) => $request->user());
Route::apiResource('posts', PostController::class)->scoped(['post' => 'id'])->names('api.posts');
Route::apiResource('categories', CategoryController::class)->scoped(['category' => 'id'])->names('api.categories');
Route::apiResource('tags', TagController::class)->scoped(['tag' => 'id'])->names('api.tags');
Route::apiResource('tools', ToolController::class)->scoped(['tool' => 'id'])->names('api.tools');
});
+8
View File
@@ -0,0 +1,8 @@
<?php
use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->purpose('Display an inspiring quote');
+25
View File
@@ -0,0 +1,25 @@
<?php
use App\Http\Controllers\BlogController;
use App\Http\Controllers\PageController;
use App\Http\Controllers\SitemapController;
use App\Http\Controllers\ToolController;
use Illuminate\Support\Facades\Route;
Route::redirect('/login', '/admin/login')->name('login');
Route::get('/', [BlogController::class, 'index'])->name('blog.index');
Route::get('/blog/feed.xml', [BlogController::class, 'feed'])->name('blog.feed');
Route::get('/sitemap.xml', [SitemapController::class, 'index'])->name('sitemap');
Route::get('/category/{category:slug}', [BlogController::class, 'category'])->name('blog.category');
Route::get('/tag/{tag:slug}', [BlogController::class, 'tag'])->name('blog.tag');
Route::get('/blog/{post:slug}', [BlogController::class, 'show'])->name('blog.show');
Route::get('/tools', [ToolController::class, 'index'])->name('tools.index');
Route::get('/tools/category/{category}', [ToolController::class, 'category'])->name('tools.category');
Route::get('/tools/{tool:slug}/visit', [ToolController::class, 'visit'])->name('tools.visit');
Route::get('/tools/{tool:slug}', [ToolController::class, 'show'])->name('tools.show');
// Kept last: a single-segment catch-all for static pages (e.g. /about).
// Must not precede any other single-segment route above (e.g. /tools, /login).
Route::get('/{page:slug}', [PageController::class, 'show'])->name('pages.show');