Modern Link Shortener
Dieses Projekt ist ein skalierbares und featurereiches Link-Shortener, das mit modernen Technologien in .NET 8 erstellt wurde. Es wird geschichtete Architektur verwendet, um Wartbarkeit, Testbarkeit und Skalierbarkeit zu gewährleisten. Die Anwendung besteht aus einer ASP.NET Core-Web-API als Backend und einem Front-End von Blazor WebAssembly . Es nutzt eine breite Palette von Technologien und Designmustern, um ein sicheres, effizientes und benutzerfreundliches Erlebnis zu bieten.
Schlüsselmerkmale
- Secure Link-Verkürzung : Verwendet SHA-256 Hashing mit Kollisionsmanagement
- Benutzerdefinierte Linkunterstützung : Erstellen Sie personalisierte Kurzlinks (Premium -Funktion)
- Monetarisierung : Erzielt Einnahmen nach Werbung.
- Sowohl monetisierte Umleitung als auch einfache Umleitung unterstützen
- Echtzeitstatistiken : Live-Tracking und Updates über SignalR
- Stapelverarbeitung : Unterstützung für Bulk Link -Verkürzungsvorgänge
- Erweiterte Analyse : Detaillierte Erkenntnisse einschließlich geografischer Informationen und Geräteinformationen basierend auf IP -Adresse und Benutzeragenten.
- Sichere Authentifizierung : JWT-basierte Auth mit XSS & CSRF-Schutz.
- Zinsbegrenzung : Intelligente Anfrage Drosselung basierend auf der Endpunkt -Empfindlichkeit
- Linkverwaltung mit einem Klick:
- Aktivierung der Verbindung umschalten.
- Link -Monetarisierung umschalten.
- Benutzerdefinierte Kollisionshandhabung
- Nicht numerische Hash-Garantien
? Sicherheitsfunktionen
- HTTP -nur Cookie -basierte JWT- und Aktualisierungstoken -Speicher.
- CSRF -Schutz über Token -Fälschungsprävention.
- Passwort Hashing mit Bcrypt .
- Ratenbegrenzungsmechanismen .
- XSS -Angriffspräventionsmaßnahmen .
- Cloudflare Drehstilintegration für Seiten, um Bots zu verhindern.
- IP- und Benutzeragentenverarbeitung mit externen vertrauenswürdigen Diensten.
- Benutzergeheimnisse Verwendung von Benutzergeheimnissen zur Verhinderung von Leckagen von API -Schlüssel oder anderen wichtigen Informationen.
- Rollenbasierte Autorisierung
- Strikte Datenvalidierung vom Typ Safe
Technischer Stapel
Backend (.net 8)
- Architektur : Layered Architecture
- API : ASP.Net Core Web API
- Authentifizierung : JWT mit sicherem Cookie -Speicher
- Datenbank : PostgreSQL (Dockerized)
- Caching & Message Broker : Redis (Dockerisiert)
- ORM : Entity Framework Core
- Echtzeitkommunikation : SignalR
- Zahlungsverarbeitung : Zibalclient
Frontend (.net 8)
- Technologie : Blazor WebAssembly
- CSS -Framework : Bootstrap
- Authentifizierung mit benutzerdefiniertem HTTP -Handler zur Authentifizierung von Anforderungen
- Autorisierung : Verwenden von .NET Authorization State Provider
- Echtzeitkommunikation : Signalr Client
- Lokalstor- und Benachrichtigung : Blazed
- Ikonen : Blazorise Font Fantastische Symbole
- Captcha : Blazor Drehstil
Schlüsselpakete
- SignalR : Für die Echtzeitkommunikation
- Automapper für DTO -Mappings
- Fluentvalidierung zur Anfragevalidierung
- IPINFO für IP-basierte Analysen
- NPGSQL für PostgreSQL -Konnektivität
- Bcrypt.net für Passwortsicherheit
- Diagramm.js zum Anzeigen von Diagrammen im Dashboard
- Blazed : Für Lokalstorage und Anzeigen von Benachrichtigungen
- Blazorise : Für UI -Elemente wie Ikonen
? Infrastruktur
- Containerisierte PostgreSQL -Datenbank
- Containerisierte Redis für das Zwischenspeichern und die Nachrichtenvermittlung
- Hintergrunddienste für asynchronen Operationen
- E -Mail -Dienst für Authentifizierungscodes
? Erweiterte Funktionen
Monetarisierung
- Werbung : Unterstützung für das Verdienen von Geld durch Anzeigen von Anzeigen auf der Umleitungsseite bis zu 8 Anzeigen.
Datenverwaltung
- Custom Pagination Implementierung
- Transaktionsmanagement für Verknüpfungsvorgänge, um die Atomizität zu gewährleisten
- Kollisionshandhabungsstrategie
- Nicht numerische Hash-Generation
Caching -System
- Implementierung für generische Redis -Caching
- Batch -Caching -Unterstützung
- Optimierte Leistung für hohe Verkehrszenarien
- Redis -Warteschlange für die Kommunikation von Hintergrundservices
Analyse
- Detaillierte Besucheranalytik
- Geräte- und Browsererkennung
- Geografische Standortverfolgung
- Hintergrundverarbeitung von IP- und Benutzeragentendaten
- Umfassendes Benutzer -Dashboard mit Kundenersichten:
- Diagramm mit den Klicks des vergangenen Monats.
- Die Diagramm, die in der Tageszeit angezeigt wird, sind die Wahrscheinlichkeit, dass die Klicks eher auftreten.
- Wochenklick -Wachstum
- Gesamtlinks zählen
- Klicken gestern
- Durchschnittliche Klicks pro Link
- Die Liste der oben angeklickten Links.
- Top -Länder Die Clicker stammen.
- Top -Geräte -Klicker verwenden.
- Tabelle mit den 5 neuesten verkürzten Links.
Verbindungsverkürzung
- Unterstützung sowohl für Single- als auch für Stapelverkürzungen
- Umschaltungen sowohl für die Aktivierung als auch die Monetarisierung verkürzter Verbindungen
- Einfach zu verwendende und benutzerdefinierte Tabellen zum Verwalten von verkürzten Links im Benutzerprofil und in Shortener-Seite.
Echtzeit-Updates
- SignalR -Integration für lebende Statistiken
- Sofortige Gleichgewichts- und Profilstatistik -Aktualisierungen
- Echtzeit-Benutzerprofilsynchronisation