A Twitter-toy clone written in Go and Redis
Latest commit 224e171 Jul 6, 2014 @gsempe Merge pull request #1 from nfo/master
Added @mentions, for the fun of it.



What is it

retwis-go is the port to Go of the redis tutorial Twitter clone
You can see it in action at http://retwis.sempe.net

How to contribute

retwis-go is a direct port without almost no improvements done on the go. I have done it as a way to practice Golang and redis. If you have the same goals and search projects to practice, just fork it and open pull requests. There is lot of things that can be done:

  • protect users passwords. They are not encrypted in the database
  • Many errors messages should not be shown to the retwis user
  • User profile is very poor. For instance there is no way to know who follows who
  • There is no reply feature, no retweet feature, no favorite feature, etc...


Set the GOPATH env, like described in the Golang documentation

Install retwis-go:

go get github.com/gsempe/retwis-go

Run retwis-go:

go build

Note: A redis database must run on the same machine

How it's done

To get it done faster and safer the port uses :

  • redigo Go client for Redis
  • negroni Idiomatic HTTP Middleware for Golang
  • httprouter A high performance HTTP request router that scales well
  • render Go package for easily rendering JSON, XML, and HTML template responses.
  • securecookie Gorilla package that encodes and decodes authenticated and optionally encrypted cookie values.