SafePost adalah platform blog berbasis Laravel 12 yang mendukung:
- Login Email & Password
- Login Google (OAuth)
- 2FA Google Authenticator
- CRUD Post
- Category & Tag (Many-to-Many)
- Comment System
- Advanced Full-Text Search (Ranking + Relevance)
- SEO Optimization (Meta Tag + Sitemap)
- Database Indexing & Optimized Query
- Laravel ^12.0
- PHP ^8.2
- MySQL (FULLTEXT index)
- Laravel Breeze — Auth scaffolding
- Laravel Socialite ^5.24 — OAuth Google login
- Google Authenticator (via pragmarx/google2fa-laravel) — 2FA TOTP
- bacon/bacon-qr-code — Generate QR Code 2FA
- Artesaos SEOTools — Meta tag management
- Spatie Laravel Sitemap — Generate sitemap.xml
- MySQL FULLTEXT — Advanced ranked search
- Laravel Sail — Docker environment
- Laravel Pint — Code formatter
- PHPUnit — Testing
- Faker — Dummy data
- Password hashing (bcrypt)
- OAuth Google secure flow
- 2FA middleware verification
- Session regeneration
- Try–catch error handling
- Indexed database query
Database indexing:
slug→ uniquetitle→ indexuser_id→ indexpost_id→ index- FULLTEXT(
title,content)
Optimized query:
- Eager loading (
with()) - Pagination
- Relevance scoring
- Indexed filtering
Menggunakan:
MATCH(title, content) AGAINST(?)Fitur:
- Ranking score
- Boost title weight
- Order by relevance DESC
- Safe binding
- Pagination
- Dynamic meta title & description
- OpenGraph & Twitter Card
- Structured Data (JSON-LD)
/sitemap.xmlauto-generated
- Login
- Jika 2FA aktif → redirect
/2fa/verify - Verifikasi kode Google Authenticator
- Session
2fa_verified = true - Middleware mengizinkan akses