CRYSTAL доступна для тестирования
24.10.2024
CRYSTAL — это социальная сеть с открытым исходным кодом, находящаяся в стадии разработки.
Основные возможности, которые есть сейчас:
- 1. Регистрация/редактирование/удаление пользователя.
- 2. Аватар, баннер, описание и уникальный Id пользователя.
- 3. Добавление/редактирование/удаление постов.
- 4. Сжатие загружаемых изображений в браузере, с помощью — npmjs.com/package/browser-image-compression и проверка размера загружаемых изображений на сервере.
- 5. Система лайков и хештегов.
- 6. Частичный перевод на английский, с использованием react.i18next.com.
- 7. Тёмная тема с использованием Redux (покрашено не полностью).
- 8. Валидация, частично с использованием Yup npmjs.com/package/yup, иногда кастомная.
- 9. Регистрация/аутентификация/авторизация и общая работа с запросами, построена на TanStack Query tanstack.com/query/latest + Redux.
- 10. Авторизация через Cookie/JWT (HTTPonly, Secure, SameSite: Strict).
- 11. reCAPTCHA v3 при регистрации.
- 12. Infinite scroll постов.
В дальнейшем планируется добавить: личные сообщения с шифрованием, комментарии, фото/видео альбомы и т.д.
Цель проекта – создать безопасную, быструю и удобную социальную сеть с применением лучших технологий.
В настоящее время, проект в стеке MERN, развернут на VPC.
Проект будет состоять из стадий. Первая стадия в стеке MERN, будет с открытым исходным кодом, и с подробными инструкциями, как развернуть проект на VPC с Debian, настроить и запустить его в полностью рабочем виде с настройкой Nginx, настройками безопасности, автопродлением SSL-сертификата, работой через GitHub и т.д. Через некоторое время, код будет опубликован на GitHub, а инструкции в разделе CRYSTAL. Вторая стадия и последующие, будут или с открытым или частично открытым исходным кодом, также планируется переход на ScyllaDB, Next.js и TypeScript.
Поделиться
BTC (Network BTC) - 1C2EWWeEXVhg93hJA9KovpkSd3Rn3BkcYm
Ethereum (Network ERC20) - 0x05037ecbd8bcd15631d780c95c3799861182e6b8
Прокомментировать в