<commit_before>![GoChat](https://github.com/roblaszczak/simple-go-chat/blob/master/public/logo.png?raw=true)

# Simple Go Chat

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](https://github.com/gopherjs/gopherjs). Frontend is build using AngularJS.

## How to set up?

### Standard way

    go get github.com/gopherjs/gopherjs  # installs GopherJS
    
    go get github.com/gopherjs/jquery  # installs jQuery GopherJS's bindings
    
    go get github.com/roblaszczak/simple-go-chat/cmd/gochat  # installs Simple Go chat
    
    cd "$GOPATH/src/github.com/roblaszczak/simple-go-chat"
    
    make buildjs # build JavaScript for frontend


### Docker
    
    go get github.com/roblaszczak/simple-go-chat/cmd/gochat
    
    cd "$GOPATH/src/github.com/roblaszczak/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 -it --rm --name chat simple-go-chat

## TODO

- [ ] Config from args
- [ ] Set channels directions
- [ ] Extended readme
  - [ ] Screen (or gif) from app
  - [ ] Scheme of app<commit_msg>[readme] "Docker set up way" now doesn't require golang installed<commit_after>![GoChat](https://github.com/roblaszczak/simple-go-chat/blob/master/public/logo.png?raw=true)

# Simple Go Chat

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](https://github.com/gopherjs/gopherjs). Frontend is build using AngularJS.

## 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
    
    cd "$GOPATH/src/github.com/roblaszczak/simple-go-chat"
    make buildjs # build JavaScript for frontend


### 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

## TODO

- [ ] Config from args
- [ ] Set channels directions
- [ ] Extended readme
  - [ ] Screen (or gif) from app
  - [ ] Scheme of app
{'fraction_non_alphanumeric': 0.1009843237331389, 'fraction_numerical': 0.005833029529711994, 'mean_word_length': 3.0772659732540864, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 5, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '271561', 'n_tokens_mistral': 936, 'n_tokens_neox': 882, 'n_words': 273}