Just a simple chat written in Go! It is mobile-first (-only?) and can be deployed fairly easily on Heroku, that way you can have total control on how your chat messages are handled. For now, the only auth provider is Facebook.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
To get this little chat running, you'll need to get Go on your machine! Your best bet is to look into the official documentation to get set: https://golang.org/doc/install
Note: if you are on macOS, have
brew
and want to have a more personalized install you can look into this: http://stackoverflow.com/a/40129734
Once you have Go, running the server is as simple as
go run *.go
and open your browser to http://localhost:8000/
NB: make sure you set the environment variables
SESSION_SECRET
,FACEBOOK_KEY
andFACEBOOK_SECRET
!
We still have to work on those ... ahem 😬
I ain't no DevOps, so these instructions will help you set up a production instance of this simple chat on Heroku!
If you have set this up on something else and want to share your knowledge, please feel free to open a PR! :)
Regardless of your prefered method of deployment, you will need to tweak a bit the source code to get it running!
- First of, you may want to clone this repository.
- Once that's done, please update your hostname (
HOST
) in the.env
file. - You will also need to create Facebook Login access tokens and load them into your environment varibles, as well as a session secret!
- Finally, you can customize the title of the app in the
locales/
folder, and you may want to modify it too in themanifest.json
. For a different set of colors, please take a look at the files insidepublic/styles/
! Feel free to change thefavicon.ico
too, and the files inside thepublic/icons/
folder.
Now you're all set to deploy!
Create a new Heroku app and provision a PostgreSQL database. In the dashboard, connect your GitHub repo to the app and Deploy ... there you go! 🎉
No contributing guidelines for now ... just fork this repo, start working on an issue in a branch, push and open a PR! :)
This project is licensed under the MIT License.
- Ed Zynda III for his chat example in Go and subsequent article
- Gorilla contributors for their libs and, most importantly, for their chat example in Go!
- Billie Thompson for this README.md template ... it's awesome!