Creating the perfect web application architecture for MERN/API applications in both Javascript and Typescript.

Conor Deegan
3 min readJun 2, 2021
Don’t be like Homer.

If you are a seasoned software engineer, starting a new software project like a modern full-stack web application or an API usually consists of hours of copy and pasting large amounts of reusable code from older projects on Github and creating the same initial directory structure all good applications adhere to. Worse still, if you are new to the space you have to try and piece together this structure and code before you can start writing the business logic of your application.

There are a few things that all (good) modern web applications and APIs require before you can start working on the problem your app aims to solve.

Here is small subset of those requirements:

  • An organised and scalable folder structure where files can be grouped together in a logical way.
  • The code required to run your server and client.
  • The code required to connect to, and interact with, a database.
  • Manage request-response cycles from client to server.
  • Handle errors in a secure way.
  • Manage CORs.
  • You also need to implement logging, linters, security and performance best practices.

There really is a lot to do before we can start writing the fun stuff 🥵

That’s where Boiler Room comes in. Boiler Room allows you to save time and skip the set-up. It provides you with a secure, performant, and scalable application architecture with all the code required to start you off.

Boiler Room supports generating the architecture and code for both full-stack applications and for standalone APIs in both Javascript and Typescript. You can also generate all of the code required to connect to, and interact with, a MongoDB database, add a logger, and add ESLint to your codebase.

Once you download your Boiler Room boilerplate application you can forget about Boiler Room completely. You can add, edit, or delete any of the code and you interact with the application as you would any Node.JS or React app.

The best part is, you don’t need to read a whole load of documentation or learn a new framework. If you know Node.JS or React you can get started straight away.

All Boiler Room boilerplates come with sample endpoints to demonstrate the client server communication and how to interact with your MongoDB database.

Boiler Room takes care of:

  • Production ready and scalable project structure and layout.
  • Client server communication protocols.
  • Single commands to install, run, and build your application.
  • Client and server-side hot refresh when developing.
  • Sample Mongoose models working alongside typed interfaces.
  • Scalable and centralised Express.js error handling.
  • Fully documented API endpoints.
  • Complete logging solution that can be extended to work with any log management tool.
  • Ensure consistency with ESLint. We also make ESLint and Typescript play nice together.

It really is that simple.

--

--

Conor Deegan

Software Engineer/Architect 👨‍💻 JavaScript (Node & React) 🤟 Cloud (AWS) ☁️