Как я глобальные чаты в 2023 году представлял — конкурс пет-проектов
Написал небольшой и простой глобальный чат, вдохновившись стратежкой Clash of clans.
395 открытий6К показов
Egor Yolkin, Python backend разработчик, 19 годиков
Сайтик создателя:
GitHub проекта:
Предисловие
Однажды, размышляя над тем, насколько изменились чаты за последние несколько лет, я внезапно вспомнил давным давно забытую стратежку — Clash of clans.
И вспомнилось мне то забытое временем чувство, когда трава была зеленее, чай чернее, а глобальный чат в данной игре ещё существовал и радовал игроков своим присутствием. Сколько ночей у меня проходило там — не сосчитать. Впрочем, это и не нужно.
Так и родилась в недрах моих нейронных связей мысь о том, что глобальные чаты в массе своей представляли крайне интересную концепцию: все ко всем. Многим (мне, порой, тоже) они приносили новые знакомства. Каждый мог извлечь какую-либо пользу для себя в подобном интерфейсе, или с радостью провести пару десятков минут за обсуждением ныне злободневного за чашечкой чая тыкая буковки.
И подумал я, а не поискать ли мне спустя стольких лет скитаний аналог подобных чатов? Да, следовало бы. И я начал поиски, но успехом они не увенчались. Не было того самого лампового чатика, где каждый мог бы найти себе собеседника по душе.
В тот самый момент я понял, что мне следует взять ситуацию под свой контроль и подарить этому миру нечто, пусть и не столь полезное, но дающее те самые забытые чувства после нескольких часов общения с абсолютно незнакомыми людьми.
Так и появился он…
World ⚡️ Connect
Я начал свой путь с изучения вопроса: а что вообще требуется от подобной категории цифровых продуктов?
Пришёл к выводу, что лучшей идеей будет чат с максимально простой регистрацией (банально — имя и пароль), разделением чатов на категории (далее — топики) и красивым дизайном.
Время бэкенда!
Подумал я и приступил к выбору инструментов для разработки. По душе мне пришёлся FastAPI. На нём и ехала конструкция моя. Реализовал простенькое API, которое позволяло:
- Производить регистрацию и авторизацию пользователей без кучи полей информации.
- Отправлять сообщения.
- Создавать топики и редактировать их.
- Получать информацию о топиках (общее количество сообщений и несколько сотен последних сообщений с возможностью пагинации).
- Использовать WebSocket’ы для реализации чат.
Итог: имеем красивое RESTful API на FastAPI и WebSockets. Поспешаем не торопясь.
Момент фронтенд-части
Поразмыслило моё десятое «Я» и сделало шаг в сторону использования Bootstrap. В веб-дезигнах ваших я не силён, а много эстетических рыбов от проекта получить всегда рад. Также роль сыграла скорость возведения великой китайской стены №2 в виде моего чата.
Итог: имеем минималистичную вёрстку с использованием Вootstrap. Доволен как слон.
— Так мало?
Возмутиться кто-то.
— Да
Отвечу я.
Задумка была именно в простоте. Имея для примера глобальный чат Clash of clans, я принял решение, что моё веб-приложение не должно содержать много сотен фишек и прочего. Скажем так, это моя философия ?
А что в итоге то?
В итоге имею личный прекрасный пет-проект для себя и моих девяти личностей. Будем вместе общаться ? В процессе реализации проекта я проникся ностальгией о прошлом. Глобальные чаты прекрасны, а мой — так вообще (шутка юмора, конечно же).
Хочу сказать спасибо Tproger за то, что дали мотивацию написать эту статью, а также за действительно удобный редактор статей.
Всем добра (◕ᴗ◕✿)
395 открытий6К показов