How to Host Your Modern Open-Source Web App for Free

It’s simple with AWS Lambda, Angular, MongoDB, and Github Pages.

Image for post
Image for post
Photo by Fotis Fotopoulos on Unsplash

LAMG

LAMG is like the LAMP stack that stands for Linux, Apache, MySQL, and PHP. LAMP offers a good development stack for monolithic web applications. Likewise, MEAN-like tech stacks are popular modern monolithic stacks. Further, those modern stacks can be used with the microservices pattern too since each component can be deployed into separate containers also by having good scalability factors.

  • MongoDB atlas gives us 512 megabytes of free disk space.
  • Github Pages service is limited to 100 gigabytes of bandwidth limit per month and also limited to 1 gigabyte of repository size. Also, they don’t expect commercial websites such as e-commerce platforms to be published with their service.

Working with the frontend

The frontend of the application could be implemented using Angular that offers everything you need to make a well-structured single-page web app. Github pages-enabled repository can be used to store the frontend source and also the minified static web content.

Image for post
Image for post
The frontend code of a LAMG-based application, a screenshot by the author

Working with the backend

LAMG uses AWS Lambda for implementing the backend logic. If you are developing a simple web app that has only one or two serverless functions, the API gateway could be configured manually. But if your web application has many serverless functions it is always easy to use a deployment automation tool such as Serverless and Claudia to save time. For example, I recently made a simple web app to show a random movie based on a category that is chosen by the user, and I configured the API gateway manually.

Image for post
Image for post
A Lambda function of a LAMG-based backend, a screenshot by the author

Conclusion

This deployment strategy allows you to host your personal projects for free. The Angular framework is not a mandatory component in the LAMG concept and it can be either removed or replaced. Also, there are a lot of advantages because we are using Github Pages for hosting. We will be able to use all the free features from Github.

Written by

Software Engineer at 99x | Apache PMC member | Open Source Contributor (Author of Neutralinojs) | Technical Writer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store