Happy Chat

Heroku Website License: MIT contributions welcome Gitter

Copyright (c) 2019 psu-oss-group

Happy Chat is a webchat (or Bulletin Board System) that allow authenticated user exchanging messages with other authenticated users through chat room ( or public message board). There are two ways to authenticate: Login with Google account or Login with the facial recognition that we called it the “FaceID”.

Project Participants

Tech stack

Backend: Nodejs, Express, Socket.io, Opencv4nodejs, Passport.js with passport-google-oauth strategy

Frontend: Handlebarsjs, Ajax, Bootstap, Momentjs, Font Awesome

Deploy: Docker, Heroku

Pre-reqs, Setup, and Build

Get prerequisites

$ sudo apt update
$ sudo apt install cmake fswebcam

Git clone, and install all modules/dependencies (Opencv4nodejs installation might take longe time)

$ git clone https://github.com/psu-oss-group/happy-chat.git
$ cd happy-chat
$ npm install

Run the server.js

$ node server.js

Go to: localhost:3000/

Docker (Optional)

With a lightweight, stand-alone docker container, you don’t have to worry about complex dependencies or any of the prerequisites. We made the container, as it allows us to easily deploy our app to anywhere.

Pull the image and list the images info.

$ docker pull ronniesong0809/chatappfaceid
$ docker images

run the docker image by using the image id. Make sure sharing webcam with container by

$ docker run -p 3000:3000 --device=/dev/video0:/dev/video0 [image_id]
or
$ docker run -p 3001:3000 --privileged -v /dev/video0:/dev/video0 [image_id]

Go to: localhost:3000/

References

License

This program is licensed under the “MIT License”. Please see the file LICENSE in the source distribution of this software for license terms.