There have been a number of times I said to myself, "I should build a web application that does some cool thing," and then I would realize that is easier said than done. First, I don't like complicated frameworks, whether it's a server framework, a JavaScript front-end framework, or a CSS framework. I got my start on the Internet when people were still writing HTML, CSS, and vanilla JS and using server-side rendering. I really miss the simplicity of those days.
I contemplated relearning PHP but I have spent a number of years using Go and really liked the simplicity of their web server. The idea of routers, handlers, and HTML templates was simple enough that I thought it may work for what I want. I've spent the last few months build out a simple Go based web application starter pack (WASP) that can serve as the basis for any number of web applications.
WASP is not a framework as much as it is a boiler plate server that can be extended with your own routes, handlers, and HTML templates. It includes password-based authentication, a simple authorization scheme with unauthenticated, authenticated, and admin users, and session management. It also includes tests that cover all of the core functionality and that can be extended to cover your new functionality.
If you are familiar with Go's web server concepts and want a good base to build your next web application, give WASP a try. https://github.com/asggo/wasp
#golang #webapp #security