CondorLabs Technical Test
Requirements:
- Go 1.13 or newer
- MongoDB
- Socket.IO module for Go (go get github.com/googollee/go-socket.io)
- MongoDB driver for Go (go get go.mongodb.org/mongo-driver/mongo)
Clone this repository, then install Socket.IO module and MongoDB driver in local Go's $GOPATH
Start MongoDB: sudo systemctl start mongod
From source directory execute: go run main.go
Open a web-browser on localhost:3000
Tech Stack:
- Go programming language
- MongoDB database
- Vuejs
- HTML and CSS
Features:
- Single multi-user chat room
- List of connected users
- Search user box
- Private messaging (Click on receiver's name in users list to send a private message. Click on self user name to return to public messaging)
- Login and SignIn
External code sources:
- https://www.mongodb.com/blog/post/mongodb-go-driver-tutorial
- https://www.thepolyglotdeveloper.com/2018/04/simple-user-login-vuejs-web-application/
- https://scotch.io/bar-talk/build-a-realtime-chat-server-with-go-and-websockets
- https://www.nigmacode.com/vuejs/Crear-chat-con-VueJS
- https://github.com/googollee/go-socket.io
- https://socket.io/docs/emit-cheatsheet/
- https://es.vuejs.org/v2/guide/
- https://tutorialedge.net/golang/golang-websockets-tutorial/
- https://steemit.com/utopian-io/@upmeboost/nodejs--socketio--creating-a-login-system-nvlrmaoy
- https://codepen.io/AndrewThian/pen/QdeOVa