https://registrace.stenakladno.cz/
This application is designed for registration for climbing wall courses and camps in Kladno. It serves as a pilot project from which I would like to develop an open-source registration platform for courses and similar events. For now, it is available only in Czech localization.
This application uses MSSQL as its database because it is a replacement for an existing interface to an older version of the application and is therefore tightly bound to MSSQL. Based on this application, a general template will be created, which should include an ORM to make everything more flexible.
The application is currently strictly localized to the Czech language, which is another aspect to be improved in the general template.
The result should be a preconfigured template for developing modern and high-performance web applications based on Go and HTMX, with various authentication options.
This application uses authentication via a so-called magic email link. Nowadays, authentication with just a username and password is not very secure. This type of authentication provides a higher level of security while also being extremely user-friendly, which is a crucial advantage.
Email clients today are inherently secure enough, so shifting the responsibility to them makes sense. While this method is not strictly two-factor authentication in the traditional sense, it certainly offers a much stronger security model than a simple username and password.
I highly recommend this authentication approach, and this repository can serve as a full reference for implementation and inspiration.
Go of course 🚀
See go mod file for the version of Go used in this project.
make install-tools (for Linux x64)
TEMPL - Template Engine
To have the best templ experience, you should install VSCode extension templ-vscode.
Than follow this link how to setup IDE IDE Support
Tailwindcss - CSS Framework
With no need to install npm, you can use the standalone CLI to compile your Tailwind CSS files.
https://tailwindcss.com/blog/standalone-cli
To have the best tailwindcss experience, you should install VSCode extension Tailwind CSS IntelliSense and let the extension to know where the tailwindcss is located, because we are using .templ files instead of .html files.
Extension settings:
"tailwindCSS.includeLanguages": { "templ": "html" }
Air - Live reload for Go apps
3. Create .env file in the root of the project to set up the environment variables for the configuration
APP_PORT=5500
air