This is my starter template for MERN stack applications. In a sea of choices that is the Javascript/React ecosystem I wanted an example app that utilizes current libraries in a way that make sense to me. While there are things like create-react-app
and mern.io. The underlying assumption for those solutions is that the developer doesn't want to bother with all of the implementation details of getting a MERN app off the ground. While that viewpoint has merit, I wanted to understand how technologies like ES6, Webpack, React, JSX, Redux (and on and on and on...) all fit together. This app serves as a learning experience for how to piece together those technologies, a reminder when I am stuck later on, and, most importantly, a jumping off point for spinning up new apps. This app might not include everything that a MERN developer might need, but I can say confidently that I fully understand everything in this app, which, I think is the more important thing.
Creating this sample app, I drew on many resources and tutorials. Some were so influential that they are worth mentioning here:
- Hackathon Starter
- Refactoring a Basic, Authenticated API with Node, Express, and Mongo
- Building a React/Redux App with JSON Web Token (JWT) Authentication
- React
- Redux
- MongoDB
- Mongoose (ORM)
- Json Web Tokens (Authentication)
- Webpack
- ES6
- JSX
- Mocha
- Enzyme (for simulating React components inside tests)