Skip to content

roblaszczak/simple-go-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoChat

Simple Go Chat (Alpha)

Simple chat written in almost pure Golang. It uses websockets to comunicate with client. This is my first Golang app, so it is still far from perfection :) Any suggestions are welcome!

All frontend's JavaScript's are written in Golang and they are dumped into JavaScript using gopherjs. Frontend is build using AngularJS.

Chat is still in alpha, so some features are missing. More info at TODO section.

Screen

How to set up?

Standard way

# installs GopherJS
go get github.com/gopherjs/gopherjs

# installs jQuery GopherJS's bindings
go get github.com/gopherjs/jquery

# installs Simple Go chat
go get github.com/roblaszczak/simple-go-chat/cmd/gochat

# build JavaScript for frontend
cd "$GOPATH/src/github.com/roblaszczak/simple-go-chat"
make buildjs 

Docker

git clone https://github.com/roblaszczak/simple-go-chat
cd simple-go-chat/cmd/gochat
docker build -t simple-go-chat .

How to run

Standard way

Just execute

gochat

Docker

docker run -p 8080:8080 --rm --name chat simple-go-chat

Scheme

Structure

TODO

  • Frontend
    • Connection errors
    • Sound on message
    • Avatars support
  • Chat
    • Custom nickname support
    • Connected clients list
  • Config from args
  • Set channels directions
  • Extended readme
    • Screen (or gif) from app
    • Scheme of app
  • Continious integration
  • Docker image
  • Better support of client disconnect in controller
  • Encrypted websocket communication

Contributing

I have no idea, why anyone would like to contribute it... but of course pull requests are welcome ;)

License

Simple Go Chat is MIT-Licensed

About

Simple chat written in almost pure Golang.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published