Серверная часть онлайн-мессенджера "Kyzai". Разработана в рамках обучения в Центре цифрового образования "IT-CUBE".
- Установите зависимости:
git clone https://github.com/MasterCont/kyzai-backend.git
cd kyzai-backend
npm install- Соберите и запустите проект:
npm run build
npm run startСервер будет доступен по адресу: http://<адрес_сервера>:23094
const ws = new WebSocket('ws://localhost:23094'); // ws://<ваш_адрес_сервера>:23094
ws.onmessage = (e) => { // Если используйте веб-браузер
console.log(e)
}message - Отправка сообщения
history - Получение истории чата
ws.send(JSON.stringify({
type: "message",
data: {
username: "MasterCont",
content: "Привет из README!"
}
}));ws.send(JSON.stringify({
type: "history"
}));{
"type": "message",
"data": {
"id": 1,
"username": "MasterCont",
"content": "Hello World",
"timestamp": "2025-02-25 22:02:10"
}
}{
"type": "history",
"data": [
{/* ... */},
{/* ... */}
]
} GET /teapotПример ответа:
{
"code": 418,
"status": "I'm a teapot",
"reason": "The server refuses to brew coffee because it is a teapot"
}TypeScript - Основной язык разработки
WebSocket - Реальный времени чат
SQLite - Хранение сообщений
Express - HTTP-сервер (для будущего расширения)
├── app.ts # Основной файл приложения
└── routes/
└── common.routes.ts # Маршруты API
└── modules/
└── common.modules.ts # Основные методы
└── time.modules.ts # Методы работы с временем
└── codes.modules.ts # Методы с генерацией rest-api-json структуры
└── sqlite.modules.ts # Работа с базой данных
└── websocket.modules.ts # Веб-сокет
└── interfaces.modules.ts # Работа с интерфейсами
PORT=23094
DB_PATH=./chat.db