- Обзор моего проекта
- Модули Redis, используемые в приложении
- Категория заявки:
- Видео объяснение моего проекта
- Используемый язык
- Ссылка на код
- ashiqsultan / pollboard-backend
- Poll board — это простое приложение для опросов, созданное с использованием Redis. Это репо является API сервисом для приложения
- Приложение для опросов в реальном времени Poll Board
- Архитектурная диаграмма
- Домашняя страница
- Страница голосования
- Создать новую страницу опроса
- Обзорное видео TODO (необязательно)
- Как это работает
- Poll API Service
- Сокетный сервис
- Фронтенд
- Дополнительные ресурсы / информация
- Домашняя страница
- Страница голосования
- Создайте новую страницу опроса
Обзор моего проекта
Диаграмма архитектуры
Для хакатона я создал полнофункциональное приложение Poll, которое использует различные модули Redis для реализации микросервисной архитектуры. Приложение позволяет пользователям создавать опросы и делиться ими с другими. После того, как пользователи проголосуют, они могут просматривать результаты в режиме реального времени, т.е. график результатов опроса во Frontend будет обновляться в режиме реального времени для всех пользователей по мере того, как голоса будут отдаваться.
Модули Redis, используемые в приложении
- RedisJSON
- Хэш
- Список как очередь
- pub/sub
Примечание: Подробную документацию можно найти в файле Readme встроенного репозитория GitHub. Этот пост содержит только минимальную информацию, необходимую для участия в хакатоне.
Я использовал Node.js для бэкенда и React для фронтенда. Я использовал Socket.io для реализации Websocket, а также адаптер socket.io Redis для развертывания нескольких узлов, что делает это решение полностью горизонтально масштабируемым.
Категория заявки:
Microservice Mavens (я считаю, что мой проект также может быть рассмотрен в категории MEAN/MERN Mavericks 😄)
Видео объяснение моего проекта
Используемый язык
TypeScript / Node.js
Ссылка на код
Проект состоит из трех репозиториев
- API опроса
- Сокетный сервис
- Фронтенд
ashiqsultan / pollboard-backend
Poll board — это простое приложение для опросов, созданное с использованием Redis. Это репо является API сервисом для приложения
Приложение для опросов в реальном времени Poll Board
Приложение позволяет пользователям создавать опросы и делиться ими с другими. После того, как пользователи проголосуют, они могут просматривать результаты в реальном времени, т.е. график результатов опроса во Frontend будет обновляться в реальном времени для всех пользователей по мере того, как голоса отдаются.
Архитектурная диаграмма
Домашняя страница
Страница голосования
Создать новую страницу опроса
Обзорное видео TODO (необязательно)
Вот короткое видео, которое объясняет проект и то, как в нем используется Redis:
[Вставьте сюда свое собственное видео, а видео ниже удалите].
Как это работает
Приложение состоит из трех репозиториев
- Poll API Service (текущее репозитарий).
- Сокетный сервис
- Фронтенд
Poll API Service
API-сервер отвечает за все CRUD-операции над сущностью Poll.
Сокетный сервис
Сокетный сервис использует Socket.IO . Все пользователи подключаются к комнате сокета. Имя комнаты — это идентификатор опроса, на который они отвечают.
Фронтенд
Как вы уже догадались, это…
Дополнительные ресурсы / информация
Я давно хотел поработать с Redis, и спасибо этому хакатону, так как он послужил лучшим временем для изучения и создания небольшого проекта с использованием Redis. Все выходные этого месяца я потратил на планирование приложения. Я понял, что стек Redis предоставляет множество модулей, поэтому мне нужно выбрать подходящий для моих нужд. Спасибо команде Redis за подробную документацию и ресурсы. Также отдельное спасибо команде RedisInsight — это такой полезный инструмент для новичков в Redis, я нашел его похожим на MongoDB Compass.
Домашняя страница
Страница голосования
Создайте новую страницу опроса
- Ознакомьтесь с Redis OM, клиентскими библиотеками для работы с Redis как с многомодельной базой данных.
- Используйте RedisInsight для визуализации данных в Redis.
- Зарегистрируйтесь для получения бесплатной базы данных Redis.