Chat-PO11
Данный проект создан в учебных целях в рамках дисциплины "Командная разработка ПО".
Перечень основных используемых технологий:
- node.js - платформа для выполнения JavaScript на стороне сервера
- mongodb - документно-ориентированная СУБД
- socket.io - JavaScript библиотека для веб-приложений и обмена данными в реальном времени
- express.js - фреймворк для node.js, используемый для быстрой разработки API веб-приложений
- jade - движок шаблонов
На текущий момент, проект представляет собой чат, основанный на протоколе WebSocket, и имеет следующий функционал:
- Авторизация/Регистрация.
- Поддержка пользовательских сессий.
- Обмен сообщениями в общем чате.
- Список онлайн и оффлайн пользователей.
- Подсветка URL в сообщениях.
- Создание приватных комнат и обмен сообщениями в комнатах.
- Уведомления о новых сообщениях из других комнат.
- Уведомления о входе/выходе пользователя в чат, если он принадлежит текущей комнате.
- Хранилище пользовательских файлов (т.е. любой пользователь, зайдя на страницу настроек аккаунта, может сохранять любые файлы на сервере. Файлы доступны без ограничений по ссылке)
Основой для проекта стали скринкасты Ильи Кантора. Так же был использован исходный код из последней главы. На момент окончания скринкаста рассматривается приложение чат (без комнат) с поддержкой авторизации/регистрации/сессий.
Установка и запуск
Предварительно требуется установить следующее ПО: node.js, npm, bower, mongodb
- Клонирование репозитория:
git clone https://github.com/Alendorff/Chat-PO11.git
- Установка зависимостей:
cd Chat-PO11
npm install
cd ./public
#bower может быть установлен командой npm install -g bower
bower install
cd ../
- Запуск сервера (перед запуском, убедитесь, что ваш экземпляр mongodb запущен):
npm start
Если используется Linux, то в файле package.json, в строке "start": "set NODE_PATH=.; && node app.js --harmony"
необходимо заменить слово set
на export
.
4. Перейдите по адресу, на котором запущен сервер. Например, localhost:8080