[go: up one dir, main page]

Skip to content
This repository has been archived by the owner on May 23, 2019. It is now read-only.

damienstanton/typereact

Repository files navigation

TypeReact

health CircleCI Go report card
env Go version Node version TS version

Why?

Due to the great flux of JS community efforts, most starter kits we have found were too complex or outdated, and none had a simple means of dealing with Babel/ES6, Flow, Eslint and Webpack.

There are also some design decisions that we wanted to make for all internal projects, that are detailed in the following section. The goal of this starter kit is to simply provide a rapid way to get started using the core technologies of React, TypeScript and Go.

Assumptions / Decisions

  • We want strongly-typed code for the front end. Thus React modules are built using TypeScript and bundled using Webpack.
  • We want immutable data structures for their advantage in building reactive architectures. Thus we have installed Immutable.js.
  • We want strongly-typed, scalable, performant and easy-to-deploy code for the server. Thus we have written it in Go.
  • We presume that the front end may be built using a predictable state-container like Redux, but since this adds complexity we leave the decision up to the developer.

Instructions:

At your terminal, simply type

npm run dev

This will install all dependencies and start the local Go server.

Roadmap:

Maintenance Mode

A common request has been a hot-reload server, so issue #4 tracks my progress on this effort. In the meantime, consider installing something like webpack-dev-server.

It's been quite some time since I have worked on this. It is still a solid starter kit but is considered in maintenance mode. Feel welcome to fork typereact as a base for your next cool app kit 🙂

Issues:

Please follow the issues section to see where it will go from here and to report any bugs/suggestions. Contributions and forks are most welcome!

License

Copyright (C) 2016-2017 Blink Analytics (TM), distributed per the MIT license.