Простий чат у реальному часі на базі Node.js, Express, Socket.io та PostgreSQL (Sequelize). Підтримує кімнати (створення / перейменування / приєднання / видалення), збереження повідомлень (автор, час, текст) та відображення попередньої історії повідомлень у кімнаті. Ім'я користувача вводиться при підключенні та зберігається у localStorage.
- Збереження повідомлень: автор, час, текст
- Кімнати: create / rename / join / delete
- Історія повідомлень для кожної кімнати
- Реальний час через Socket.io
- Node.js (рекомендовано 16+)
- Docker (для локального запуску PostgreSQL) або доступна PostgreSQL
- npm
- Встановіть залежності:
npm install- Запустіть PostgreSQL (рекомендовано через Docker Compose):
docker-compose up -d- Запустіть сервер у режимі розробки:
npm run dev- Відкрийте у браузері:
http://localhost:3000
Додайте файл .env у корінь проєкту або налаштуйте змінні оточення. Приклад:
DB_NAME=main
DB_USER=vladok
DB_PASS=mytestdbpass1
DB_HOST=localhost
DB_PORT=5432
PORT=3000- SQL-скрипти для ініціалізації бази знаходяться в
postgres-init/і виконуються при піднятті контейнера. - Докладні вимоги та завдання: https://github.com/mate-academy/js_task-guideline/blob/master/README.md