borodatych / Chat-PO11

Чат на socket.io с приватными комнатами

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Chat-PO11

Данный проект создан в учебных целях в рамках дисциплины "Командная разработка ПО".

Перечень основных используемых технологий:

  • node.js - платформа для выполнения JavaScript на стороне сервера
  • mongodb - документно-ориентированная СУБД
  • socket.io - JavaScript библиотека для веб-приложений и обмена данными в реальном времени
  • express.js - фреймворк для node.js, используемый для быстрой разработки API веб-приложений
  • jade - движок шаблонов

На текущий момент, проект представляет собой чат, основанный на протоколе WebSocket, и имеет следующий функционал:

  • Авторизация/Регистрация.
  • Поддержка пользовательских сессий.
  • Обмен сообщениями в общем чате.
  • Список онлайн и оффлайн пользователей.
  • Подсветка URL в сообщениях.
  • Создание приватных комнат и обмен сообщениями в комнатах.
  • Уведомления о новых сообщениях из других комнат.
  • Уведомления о входе/выходе пользователя в чат, если он принадлежит текущей комнате.
  • Хранилище пользовательских файлов (т.е. любой пользователь, зайдя на страницу настроек аккаунта, может сохранять любые файлы на сервере. Файлы доступны без ограничений по ссылке)

Основой для проекта стали скринкасты Ильи Кантора. Так же был использован исходный код из последней главы. На момент окончания скринкаста рассматривается приложение чат (без комнат) с поддержкой авторизации/регистрации/сессий.

Установка и запуск

Предварительно требуется установить следующее ПО: node.js, npm, bower, mongodb

  1. Клонирование репозитория: git clone https://github.com/Alendorff/Chat-PO11.git
  2. Установка зависимостей:
cd Chat-PO11
npm install  
cd ./public  
#bower может быть установлен командой npm install -g bower  
bower install  
cd ../  
  1. Запуск сервера (перед запуском, убедитесь, что ваш экземпляр mongodb запущен):
npm start

Если используется Linux, то в файле package.json, в строке "start": "set NODE_PATH=.; && node app.js --harmony" необходимо заменить слово set на export. 4. Перейдите по адресу, на котором запущен сервер. Например, localhost:8080

Демонстрация

Окно чата

Окно чата

История сообщений

История сообщений

Хранилище файлов

Хранилище файлов

About

Чат на socket.io с приватными комнатами


Languages

Language:JavaScript 83.0%Language:HTML 12.2%Language:CSS 4.8%