Acortador de enlaces modernos
Este proyecto es un acortador de enlaces escalable y rico en características construido con tecnologías modernas en .NET 8. Emplea una arquitectura en capas para garantizar la mantenibilidad, la prueba y la escalabilidad. La aplicación consta de una API web ASP.NET Core como Backend y un Blazor WebAssembly front-end. Aprovecha una amplia gama de tecnologías y patrones de diseño para ofrecer una experiencia segura, eficiente y fácil de usar.
Características clave
- Corto de enlace seguro : utiliza el hash de SHA-256 con la gestión de colisiones
- Soporte de enlaces personalizados : Crear enlaces cortos personalizados (función premium)
- Monetización : genera ingresos por publicidad.
- Apoyando tanto la redirección monetizada como la redirección simple
- Estadísticas en tiempo real : seguimiento en vivo y actualizaciones a través de Signalr
- Procesamiento por lotes : soporte para operaciones de acortamiento de enlaces a granel
- Análisis avanzado : información detallada que incluyen información geográfica e información del dispositivo basada en la dirección IP y el agente de usuario.
- Autenticación segura : autenticación basada en JWT con protección XSS y CSRF.
- Limitación de tasas : solicitud de solicitud inteligente basada en la sensibilidad del punto final
- Gestión de enlaces con un clic:
- Activación de enlace de alternativa.
- Monetización de enlace de alternativa.
- Manejo de colisiones personalizadas
- Garantías de hash no numérico
? Características de seguridad
- JWT basado en cookie solo HTTP y actualización de token de actualización.
- Protección de CSRF a través de la prevención de falsificación de tokens.
- Passion hash utilizando BCRYPT .
- Mecanismos limitantes de tasa .
- Medidas de prevención del ataque XSS .
- Integración de tendencia CloudFlare para páginas para evitar bots.
- IP y procesamiento de agentes de usuarios utilizando servicios de confianza externos.
- Secretos del usuario Uso de los secretos del usuario para evitar la fuga de claves API u otra información vital.
- Autorización basada en roles
- Validación de datos seguras de tipo estricto
Pila técnica
Backend (.NET 8)
- Arquitectura : arquitectura en capas
- API : ASP.NET Core Web API
- Autenticación : JWT con almacenamiento seguro de cookies
- Base de datos : PostgreSQL (Dockerized)
- Caching y corredor de mensajes : Redis (Dockerized)
- ORM : Entity Framework Core
- Comunicación en tiempo real : señalrr
- Procesamiento de pagos : Zibalclient
Frontend (.net 8)
- Tecnología : Blazor WebAssembly
- Marco CSS : Bootstrap
- Autenticación utilizando el controlador HTTP personalizado para autenticar las solicitudes
- Autorización : utilizando el proveedor de estado de autorización de .NET
- Comunicación en tiempo real : Cliente SignalR
- LocalStorage and Notification : Blazored
- Íconos : blazorise fuente impresionante iconos
- Captcha : Blazor Twintsile
Paquetes clave
- SignalR : para la comunicación en tiempo real
- Automaper para mapeos DTO
- Validación con fluidez para la validación de la solicitud
- IPINFO para análisis basado en IP
- NPGSQL para conectividad PostgreSQL
- Bcrypt.net para la seguridad de la contraseña
- Chart.js para mostrar gráficos en el tablero
- Blazored : para localstorage y mostrando notificaciones
- Blazorise : para elementos de interfaz de usuario como iconos
? Infraestructura
- Base de datos de postgreSQL contenedorizada
- Redis en contenedores para almacenamiento en caché y intermediación de mensajes
- Servicios de fondo para operaciones de asíncrono
- Servicio de correo electrónico para códigos de autenticación
? Características avanzadas
Monetización
- Anuncio : Soporte para ganar dinero mostrando anuncios en la página de redirección en hasta 8 anuncios.
Gestión de datos
- Implementación de paginación personalizada
- Gestión de transacciones para operaciones de enlaces para garantizar la atomicidad
- Estrategia de manejo de colisiones
- Generación del hash no numérica
Sistema de almacenamiento en caché
- Implementación genérica de almacenamiento en caché de Redis
- Soporte de almacenamiento en caché por lotes
- Rendimiento optimizado para escenarios de alto tráfico
- Redis cola para comunicación de servicios de fondo
Analítica
- Análisis detallado de visitantes
- Detección de dispositivos y navegadores
- Seguimiento de ubicación geográfica
- Procesamiento de fondo de los datos de IP y agente de usuario
- Panel de usuario integral con información del cliente:
- Gráfico que muestra los clics del mes pasado.
- La tabla que muestra en qué hora del día tienen más probabilidades de suceder.
- Crecimiento semanal de clics
- Cuenta total de enlaces
- Clics ayer
- Clicks promedio por enlace
- Lista de enlaces de clic superior.
- De los principales países de los que son los clickers.
- Los mejores dispositivos hacen clics.
- Tabla que muestra los 5 enlaces acortados más recientes.
Acortamiento de enlaces
- Soporte para el acortamiento de enlaces individuales y de lotes
- Targue para la activación y la monetización de los enlaces acortados
- Tablas fáciles de usar y personalizadas para administrar enlaces acortados en el perfil de usuario y la página de acortador.
Actualizaciones en tiempo real
- Integración de señales para estadísticas en vivo
- Actualizaciones de estadísticas de balance instantáneo y perfil
- Sincronización del perfil de usuario en tiempo real