Все социальные сети в одном месте! Аналог Taplink и Linktree на React JS и Chakra UI!
Я думаю многие из вас видели у блогеров ссылку размещенную в описании профиля, перейдя по которой можно было бы увидеть все социальные сети данного человека!
Есть очень много сервисов, которые помогут Вам сделать такую ссылку, но мы не можем достаточно кастомизировать такие страницы, выбирать домен, а также везде будет упоминание сервиса, через который мы такую ссылку делали.
Поэтому мне пришла идея сделать такой сервис для себя и разместить конечный результат на сервере, а в этой статье я хочу поделиться своим проектом и рассказать Вам как его настроить и использовать!
Вот как это сейчас выглядит у меня)
Переходим по ссылке и попадаем на мою страничку со всеми социальными сетями разом!
Мой проект размещен в профиле на GitHub.
В данном проекте я использовал React JS и библиотеку компонентов Chakra UI.
Выбор пал на Chakra UI просто потому что я очень давно хотел попробовать данную библиотеку.
Запуск проекта:
1) Форкаем данные репозиторий, после чего клонируем его себе на компьютер:
2) Заходим в директорию проекта и устанавливаем зависимости:
3) Запуск проекта
После того как мы убедились, что локально у нас все работает можно переходим к настройке проекта под себя!
Настройка проекта
В самом проекте я оставил множество комментариев, поэтому не думаю, что будут сложности с разбором и адаптацией проекта под себя. Однако на пару вещей я все таки хотел обратить внимание.
Для добавления иконок я использовал библиотеку React Icons. Для того, что бы подобрать свои иконки перейдите на сайт, выберите необходимую иконку и импортируйте ее в проект.
Для создания анимаций использована библиотека Framer Motion, ссылка на документацию.
Также хотел обратить внимание, что у chakra UI есть библиотека готовых компонентов, которыми вы можете воспользоваться при адаптации проекта под себя и его доработки. Ознакомиться с компонентами можно по ссылке.
Как разместить сайт на сервере?
В этой части статьи я расскажу Вам как загрузить свое React приложение на сервер, пропишем автозапуск приложения с утилитой pm2, настроим конфиг nginx, установим ssl сертификат, пропишем переадресацию с http н https!
В первую очередь необходимо арендовать сервер на Ubuntu 22.04 (все приведенные в статье команды полностью совместимы с ней), сам я уже давно использую сервера timeweb, на них у меня установлено уже достаточно много проектов от VPN до собственного сайта, эти ребята меня не подводили!
Промокоды на скидку от меня:
“tehnomaniak” получи 1 месяц в подарок при оплате сервера на 1 год;
“super” получи 3 месяца в подарок при оплате сервера на 2 года;
После того как сервер уже арендован необходимо выполнить следующее:
1) Подключаемся к нашему серверу через ssh, для этого в терминале прописываем следующую команду:
2) Устанавливаем node js:
3) Устанавливаем git:
4) Клонируем репозиторий нашего React приложения командой: git clone
5) Устанавливаем зависимости
6) Устанавливаем pm2 и запускаем наше приложение при старте сервера
7) Настраиваем Файрвол и nginx
8) Настройка конфига nginx
Ваш конфиг должен выглядить примерно так, можете скопировать:
9) Установка ssl сертификата
Если вы приобрели сертификат, то у вас должны быть на руках файл CRT и ключ, содержимое этих файлов необходимо записать в файлы: /etc/ssl/domain.ru.crt и /etc/ssl/domain.ru.key соответственно;
С подробной инструкцией можете ознакомится тут.
На этом все, деплой React приложения на сервер завершен успешно!
В статье есть реклама ООО «ТАЙМВЭБ.КЛАУД», ИНН 7810945525, 2VtzqxL7pa2
Блядь х2. Арендовать сервер для статической странички. Господа, мы проебали ойти, пора отбирать смузи и вводить в практику плети и дыбы.
Ты ебаный шиз, если для ссаной странички с парой ссылок поднял ноду. Вот такие "разрабы" идут в геймдев и потом мы получаем 10 ФПС на 4090.
А нужно было всего-то на голом хтмле и ксссе сделать пару дивов и ссылок. Я в ахуе от современной разработки нодоебланов.
Без негатива, если что. :3
То есть это "проект", который генерит страничку с десятком статических ссылок?
Это и есть современный фронтенд.
Это прям беда. Взял бы что-то вроде https://astro.build/ или https://www.11ty.dev/, если не хочешь на чистом html + css.
Да хорош ныть.
Если делать по простому, то я бы просто сделал на голом js, а ссылки просто из файлика брать. Но если ты делаешь на фреймворке, так хоть используй разделение файлов, а то у тебя простыня текста в App.