Hastl
Theme by
Eldr io |Updated:
10 Jun 2025
|93 Stars
Production ready, modern web-application starter template using haskell and htmx
Categories
Overview
The Hastl framework is a powerful tool designed for developers who want to create web applications with ease, leveraging the strengths of Haskell, Tailwind CSS, and PostgreSQL. It enables a seamless experience in developing strongly-typed APIs, while also offering the flexibility to customize and extend the functionality of your app. With the integration of popular libraries such as Lucid for templating and Persistent for ORM, Hastl is built for modern web development.
Setting up the Hastl framework is straightforward, allowing you to dive straight into coding. Its robust testing features, including unit and integration tests, ensure that your application remains reliable as you build. Overall, Hastl is a promising choice for developers looking to harness the power of Haskell in their web projects.
Features
- Easy Setup: Quickly get started by creating a new repository from the Hastl template, making it simple to spin up your project.
- Dependency Management: The project includes a Makefile for managing dependencies and running the server in development mode effortlessly.
- Live Reloading: With ghcid installed, you can run your application in live reloading mode, making iteration and testing faster.
- Built-in Tests: Hastl comes with both unit and integration tests, allowing you to ensure the quality of your application with minimal effort.
- Custom Route Creation: Flexibly add new routes and endpoints by creating files within the designated API directory, enhancing your app’s capabilities.
- Lucid-Powered Templating: Utilize Lucid for creating HTML templates, combined with HTMX and Alpine, providing a modern and dynamic user interface.
- Seamless Database Integrations: Use Persistent ORM for easy database interactions, with automatic migration handling for development setups.
- Multi-database Support: While primarily tested with PostgreSQL, Hastl can support various databases thanks to the Persistent library, offering great flexibility for your data storage needs.