Современный шортенера
Этот проект представляет собой масштабируемую и богатую функциями сокращение связи , построенное с современными технологиями в .NET 8. Он использует многоуровневую архитектуру для обеспечения обслуживания, тестируемости и масштабируемости. Приложение состоит из основного веб-API ASP.NET в качестве бэкэнда и фронтального фронта Blazor Webassembly . Он использует широкий спектр технологий и моделей проектирования, чтобы предложить безопасный, эффективный и удобный опыт.
Ключевые функции
- Закрытие безопасного канала : использует хешинг SHA-256 с управлением столкновением
- Поддержка пользовательской ссылки : создание персонализированных коротких ссылок (Premium Feature)
- Монетизация : генерирует доход по рекламе.
- Поддержка как монетизированного перенаправления, так и перенаправления
- Статистика в режиме реального времени : отслеживание и обновления в прямом эфире через сигнал
- Обработка партии : поддержка операций сокращения объемных каналов
- Advanced Analytics : подробная информация, включая географическую информацию и информацию о устройстве на основе IP -адреса и пользовательского агента.
- Безопасная аутентификация : AUTH на основе JWT с защитой XSS & CSRF.
- Ограничение скорости : интеллектуальная подача запроса на основе чувствительности конечной точки
- Управление ссылками с одним щелчком:
- Активация переключения связи.
- Переключатель монетизации .
- Пользовательская обработка столкновений
- НЕ ЧЕТВЕРНЫЕ ХАБОРТАЦИИ
? Функции безопасности
- HTTP -файл jwt на основе HTTP и хранения токенов обновления.
- Защита CSRF с помощью токеновой подделки.
- Пароль с использованием bcrypt .
- Скорость ограничивающих механизмов.
- XSS Атака меры по предотвращению .
- CloudFlare Turnstile Integration для страниц для предотвращения ботов.
- IP и обработка пользовательского агента с использованием внешних доверенных сервисов.
- Пользовательские секреты использование пользовательских секретов для предотвращения утечки клавиш API или другой жизненно важной информации.
- На основе ролей авторизация
- Проверка данных строгого типа.
Технический стек
Бэкэнд (.NET 8)
- Архитектура : многослойная архитектура
- API : ASP.NET CORE API API
- Аутентификация : JWT с безопасным хранением cookie
- База данных : postgresql (Dockerized)
- Кэширование и брокер сообщений : Redis (Dockerized)
- ORM : Entity Framework Core
- Общение в реальном времени : сигнал
- Обработка оплаты : ZibalClient
Frontend (.net 8)
- Технология : Blazor Webassembly
- CSS Framework : начальная загрузка
- Аутентификация с использованием пользовательского HTTP -обработчика для аутентификации запросов
- Авторизация : использование государственного поставщика .NET Authortion
- Общение в реальном времени : клиент Signalr
- LocalStorage и уведомление : Blazored
- Иконки : Blazorise Font Awesome Icons
- Captcha : Blazor Turnstile
Ключевые пакеты
- Signalr : для общения в реальном времени
- Automapper для сопоставлений DTO
- FluentValidation для проверки запроса
- IPinfo для аналитики на основе IP
- NPGSQL для подключения PostGRESQL
- Bcrypt.net для безопасности пароля
- Chart.js для показы диаграмм на панели панели
- Blazored : для LocalStorage и показывают уведомления
- Blazorise : для элементов пользовательского интерфейса, таких как значки
? Инфраструктура
- Контейнерная база данных PostgreSQL
- Контейнерные REDIS для кэширования и посредника сообщений
- Фоновые услуги для асинхронных операций
- Электронная служба для кодов аутентификации
? Расширенные функции
Монетизация
- Реклама : поддержка заработка денег, показывая рекламу на странице перенаправления до 8 объявлений.
Управление данными
- Пользовательская реализация страниц
- Управление транзакциями для операций на связи для обеспечения атомичности
- Стратегия обработки столкновений
- НЕ ЧЕТВЕРНОЕ Генерация хеш
Система кэширования
- Общая реализация кэширования Redis
- Поддержка пакетного кэширования
- Оптимизированная производительность для сценариев с высоким трафиком
- Redis queue для фонового обслуживания общения
Аналитика
- Подробная аналитика посетителей
- Обнаружение устройства и браузера
- Географическое отслеживание местоположения
- Фоновая обработка данных IP и пользовательского агента
- Комплексная пользовательская панель инструментов с пониманием клиентов:
- Диаграмма, показывающая клики в прошлом месяце.
- Диаграмма показывает в какое время суток, которые будут с большей вероятностью.
- Еженедельный рост щелчка
- Общее количество ссылок
- Вчера щелкнет
- Средние клики по ссылке
- Список ссылок на топ.
- Верхние страны от кликов.
- Верхние устройства используют клинки.
- Таблица, показывающая 5 самых последних сокращенных ссылок.
Укорочение ссылок
- Поддержка как для единого, так и для пакетного укорочения ссылок
- Переключает как для активации, так и монетизации сокращенных ссылок
- Простые в использовании и пользовательские таблицы для управления сокращенными ссылками в профиле пользователя и странице сокращения.
Обновления в реальном времени
- Интеграция сигнала для живой статистики
- Обновления мгновенного баланса и статистики профиля
- Синхронизация профиля пользователя в реальном времени