Go Starter Kit

screenshot of Go Starter Kit
express
react

[abandoned] Golang isomorphic react/hot reloadable/redux/css-modules/SSR starter kit

Overview

The go-starter-kit is a project that provides a quick starter kit for building Facebook React Single Page Apps with server side rendering using the goja JavaScript engine. It is implemented in pure Golang and offers a range of features for efficient application development.

Features

  • Server side rendering using goja JavaScript engine
  • API requests between react application and server side application via fetch polyfill
  • Rendering of title, Open Graph, and other meta tags for each page on the server and client side
  • Server side redirect
  • Embedding of static files into artifact via bindata
  • High performance echo framework
  • Advanced command-line interface (CLI) via cli.Makefile
  • One terminal window process for development
  • Routing via react-router
  • ES6 & JSX support via babel-loader with minimal runtime dependency footprint
  • Redux as a state container
  • Redux devtools
  • CSS styles without global namespace via PostCSS, css-loader, and css-modules
  • Separate CSS file to avoid Flash of Unstyled Content (FOUC)
  • Hot reloading via react-transform and HMR (Hot Module Replacement)
  • Webpack bundle builder
  • eslint and golint rules for Makefile
  • Workflow dependencies: Golang, Node.js with yarn, GNU make

Summary

The go-starter-kit is a useful tool for quickly setting up and developing efficient Facebook React Single Page Apps with server side rendering. It provides a range of features, including server side rendering, API requests, client-side rendering of meta tags, and hot reloading. The installation process is straightforward and the project structure is well-organized. Overall, the go-starter-kit is a valuable resource for developers looking to streamline their React app development process.

express
Express

Express.js is a simple Node.js framework for single, multi-page, and hybrid web applications.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

Redux

Redux is a state management library for JavaScript apps that provides a predictable and centralized way to manage application state. It enables developers to write actions and reducers that update the state in response to user interactions, server responses, and other events, and can be used with a variety of front-end frameworks and back-end technologies.

webpack
Webpack

Webpack is a popular open-source module bundler for JavaScript applications that bundles and optimizes the code and its dependencies for production-ready deployment. It can also be used to transform other types of assets such as CSS, images, and fonts.