New univeral React seed project with a Go backend
So I started with a seed project which I can use for many quick try outs. Mostly for myself but anyone can use it. You can see it running at go-react-seed.uutispuro.fi.React side of the application is simple. Package.json handles all the necessary tasks, no excess mile long grunt or gulp files.
"scripts": {
"build-dir": "rm -rf build && mkdir build && cp public/js/* build",
"babelify": "babel build --out-file build/babelified.js",
"browserify": "browserify build/babelified.js -g uglifyify --outfile build/bundle.js",
"build": "npm run build-dir && npm run babelify && npm run browserify"
}
At the moment registration, login and logout are working. Page showing all the members is accessible only to user with an admin role. Pages are responsive although there is not much content. If there where, it wouldn't be a seed project.Backend
Go is the language to go. Echo is used for server framework. It's easy to use, extensible and really fast. There are many middleware available and it's easy to add them yourself. We're rendering the same React javascript code on the server side as on the client side.Database
Database used is Redis, but that is somewhat easily changeable if needed. The first one to make the registration gets admin role.
func (a *Application) createUser(c *echo.Context) error {
role := domain.Role{Name: domain.Normal}
if a.Redis.DbSize() == 0 {
role = domain.Role{Name: domain.Admin}
}
To be done
- Assets versioning
- Member page is not informational to others than admin user, don't show it to others
- Verification of new user with email
- Forgot my password functionality
- Running with Raspberry pi would be nice, should be doable (http://www.mccarroll.net/blog/v8_pi2/index.html)