Skip to content

Latest commit

 

History

History
20 lines (16 loc) · 1.36 KB

README.md

File metadata and controls

20 lines (16 loc) · 1.36 KB

This is a Go web APP that I made to learn some basics with go.

This project uses HTMX to send AJAX requests, this expects a response in html format. Due to this, all the CRUD based operations retrieve small html partials that are inserted in to the DOM. This increases user experience because no page reload is needed.

Technologies used in this project and why:

BACKEND:

  • Go: The main programming language, the http server is running here.
  • Go Gin: Framework for simplify the code.
  • PostgreSQL: Database Engine, running on AWS RDS free tier instance.
  • GORM: ORM for interacting with the database, used to increase simplicity and security.
  • IP Limiter: IP Rate Limiter middleware. In-Memory cache used for increase security.
  • Heroku: Server is running here, on a free dyno.

FRONTEND:

  • HTMX: Used for adding reactivity without the need of refreshing the page. Acomplished sending and receiving AJAX request.
  • Alpinejs: Adding js behaviour in HTML. In this case its just showing/hiding forms and interacting with localStorage.
  • TailwindCSS: CSS framework for rapid UI development.