Pemendekan Tautan Modern
Proyek ini adalah pemendekan tautan yang dapat diskalakan dan kaya fitur yang dibangun dengan teknologi modern di .NET 8. Ia menggunakan arsitektur berlapis untuk memastikan pemeliharaan, kemampuan testabilitas, dan skalabilitas. Aplikasi ini terdiri dari API Web Core ASP.NET sebagai backend dan front-end Web Blazor . Ini memanfaatkan berbagai teknologi dan pola desain untuk menawarkan pengalaman yang aman, efisien, dan ramah pengguna.
Fitur utama
- Secure Link Shortening : Memanfaatkan hashing SHA-256 dengan manajemen tabrakan
- Dukungan Tautan Kustom : Buat tautan pendek yang dipersonalisasi (fitur premium)
- Monetisasi : Menghasilkan pendapatan berdasarkan iklan.
- Mendukung pengalihan yang dimonetisasi dan pengalihan polos
- Statistik real-time : pelacakan langsung dan pembaruan melalui SignalR
- Pemrosesan Batch : Dukungan untuk Operasi Pemendekan Tautan Massal
- Lanjutan Analytics : Wawasan terperinci termasuk info geografis dan info perangkat berdasarkan alamat IP dan agen pengguna.
- Otentikasi Aman : Auth berbasis JWT dengan perlindungan XSS & CSRF.
- Pembatasan Tingkat : Throttling Permintaan Cerdas Berdasarkan Sensitivitas Titik Akhir
- Manajemen Tautan dengan satu klik:
- Aktivasi tautan sakelar.
- Monetisasi tautan sakelar.
- Penanganan tabrakan khusus
- Jaminan hash non-numerik
? Fitur Keamanan
- HTTP -Cookie -Based JWT dan Refresh Token Storage.
- Perlindungan CSRF melalui pencegahan pemalsuan token.
- Hashing Kata Sandi Menggunakan BCRYPT .
- Mekanisme pembatas tingkat .
- Langkah -langkah pencegahan serangan XSS .
- Integrasi turnstile Cloudflare untuk halaman untuk mencegah bot.
- IP dan Pemrosesan Agen Pengguna menggunakan layanan tepercaya eksternal.
- Rahasia Pengguna Penggunaan Rahasia Pengguna untuk mencegah kebocoran kunci API atau informasi vital lainnya.
- Otorisasi Berbasis Peran
- Validasi data tipe-aman yang ketat
Tumpukan Teknis
Backend (.net 8)
- Arsitektur : Arsitektur berlapis
- API : ASP.NET Core Web API
- Otentikasi : JWT dengan penyimpanan cookie yang aman
- Database : PostgreSQL (Dockerized)
- Pialang Caching & Message : Redis (Dockerized)
- ORM : Inti Kerangka Entitas
- Komunikasi real-time : Signalr
- Pemrosesan Pembayaran : Zibalclient
Frontend (.net 8)
- Teknologi : Blazor WebAssembly
- Kerangka kerja CSS : Bootstrap
- Otentikasi Menggunakan Handler HTTP Kustom untuk mengautentikasi permintaan
- Otorisasi : Menggunakan Penyedia Negara Otorisasi .NET
- Komunikasi real-time : Klien Signalr
- LocalStorage dan Notification : Blazored
- Ikon : Blazorise Font Ikon Luar Biasa
- CAPTCHA : Turnstile Blazor
Paket utama
- Signalr : untuk komunikasi real-time
- Automapper untuk pemetaan DTO
- Fluentvalidasi untuk validasi permintaan
- IPINFO untuk analitik berbasis IP
- NPGSQL untuk konektivitas postgresql
- Bcrypt.net untuk keamanan kata sandi
- Chart.js untuk menampilkan grafik di dasbor
- Blazored : Untuk LocalStorage dan menunjukkan pemberitahuan
- Blazorise : untuk elemen UI seperti ikon
? Infrastruktur
- Database PostgreSQL yang dikemas
- Redis yang dikemas untuk caching dan perantara pesan
- Layanan Latar Belakang untuk Operasi Async
- Layanan Email untuk Kode Otentikasi
? Fitur canggih
Monetisasi
- Iklan : Dukungan untuk mendapatkan uang dengan menampilkan iklan di halaman pengalihan hingga 8 iklan.
Manajemen Data
- Implementasi Pagination Kustom
- Manajemen transaksi untuk operasi tautan untuk memastikan atomisitas
- Strategi penanganan tabrakan
- Generasi hash non-numerik
Sistem caching
- Implementasi Caching Redis Generik
- Dukungan caching batch
- Kinerja yang dioptimalkan untuk skenario lalu lintas tinggi
- Antrian redis untuk komunikasi layanan latar belakang
Analitik
- Analisis pengunjung terperinci
- Deteksi perangkat dan browser
- Pelacakan Lokasi Geografis
- Pemrosesan latar belakang IP dan data agen pengguna
- Dasbor Pengguna Komprehensif dengan Wawasan Pelanggan:
- Bagan menunjukkan klik bulan lalu.
- Bagan yang ditampilkan pada jam berapa klik lebih mungkin terjadi.
- Pertumbuhan klik mingguan
- Jumlah tautan total
- Klik kemarin
- Klik rata -rata per tautan
- Daftar tautan yang diklik atas.
- Negara -negara teratas dari clickers berasal.
- Perangkat Teratas digunakan clickers.
- Tabel menunjukkan 5 tautan singkat yang lebih baru.
Tautan pemendekan
- Dukungan untuk pemendekan tautan tunggal dan batch
- Beralih untuk aktivasi dan monetisasi tautan yang dipersingkat
- Tabel yang mudah digunakan dan kustom untuk mengelola tautan yang lebih pendek di profil pengguna dan halaman pendek.
Pembaruan waktu nyata
- Integrasi Signalr untuk Statistik Langsung
- Pembaruan Saldo dan Statistik Profil Instan
- Sinkronisasi profil pengguna waktu nyata