12 subscribers
182 photos
3 videos
212 links
Programmer - Курсы программирования. Канал для тех, кто не хочет остаться на задворках цивилизации.
Download Telegram
🚀 Веб-разработка с нуля: Урок 20 - Чат к задачам и подведение итогов

Привет, дорогие разработчики! 👨💻👩💻
Мы прошли огромный путь — от простого To-Do List до полноценного collaborative-приложения! Сегодня добавим чат к задачам и подведем итоги нашего 20-дневного марафона.

💬 Что нового:
1. Реализуем чат для обсуждения задач
2. Добавим уведомления о новых сообщениях
3. Подведем итоги всего курса

📌 Как будет работать чат:
• Каждая задача получает свой чат
• Сообщения сохраняются в Firebase
• Участники получают уведомления

💻 Практика: добавляем чат

1. Добавляем HTML-разметку:
<div class="task-chat">
<div id="chatMessages"></div>
<div class="chat-input">
<input type="text" id="chatInput" placeholder="Ваше сообщение...">
<button id="sendMessageBtn">Отправить</button>
</div>
</div>


2. Настраиваем структуру в Firebase:
function sendMessage(taskId, message) {
const userId = firebase.auth().currentUser.uid;
database.ref(`taskChats/${taskId}`).push({
text: message,
sender: userId,
timestamp: firebase.database.ServerValue.TIMESTAMP
});
}

function loadMessages(taskId) {
database.ref(`taskChats/${taskId}`).on('value', snapshot => {
const messages = [];
snapshot.forEach(child => {
messages.push({
id: child.key,
...child.val()
});
});
renderMessages(messages);
});
}


3. Добавляем стили для чата:
.task-chat {
border-top: 1px solid #eee;
margin-top: 20px;
padding-top: 15px;
}

#chatMessages {
max-height: 200px;
overflow-y: auto;
margin-bottom: 10px;
}

.chat-message {
margin-bottom: 8px;
padding: 8px 12px;
background: #f5f5f5;
border-radius: 12px;
display: inline-block;
max-width: 70%;
}

.my-message {
background: #007bff;
color: white;
float: right;
}


🎓 Итоги 20 уроков:
Создали полноценное веб-приложение
Реализовали:
- Работу с DOM
- Адаптивную верстку
- PWA-функционал
- Firebase-интеграцию
- Совместную работу
- Чат к задачам

🚀 Что дальше?
1. Дорабатываем приложение:
- Добавляем теги к задачам
- Реализуем поиск и фильтрацию
- Улучшаем UI/UX

2. Публикуем проект:
- Настраиваем хостинг Firebase
- Регистрируем домен
- Добавляем в App Store/Google Play через PWA

💡 Главные выводы:
1. Современная веб-разработка — это мощно и увлекательно
2. JavaScript + Firebase — отличный стек для старта
3. Лучший способ научиться — делать реальные проекты

📢 Важно:
Весь код доступен в GitHub-репозитории: [ссылка]
Присоединяйтесь к чату участников: [@rm_programmer_chat]

Подписывайтесь: [t.me/rm_programmer](https://t.me/rm_programmer)
Делитесь своими реализациями — лучшие проекты мы разберем в канале!

#вебразработка #Итоги #JavaScript #Firebase #PWA