The Universal
All Purpose
Web Framework
Easily manage websites, services, and data
Heretic is a framework which allows you to build a blazing fast and modern website which combines both SSR and SPA approaches. It leverages the power of Marko, a dynamic and reactive user interface language that embodies the superior traits of HTML and JavaScript. Also under the hood: Fastify, Bulma, internationalization out-of-the-box and much more.
Heretic is developed in modern JavaScript, both client-side and server-side. It is open source and is based on the open source technologies, libraries and frameworks, licensed under MIT license. This means that you are free to use it in both open source and commercial projects and modify the source code according to you needs. Marko, Bulma and Fastify – projects on which Heretic is based – are well tested and being widely used in production. Heretic uses MongoDB as a database engine and Redis as a caching helper, but both components are optional and you may disable this functionality when not needed.
Heretic is based on Marko, a declarative, HTML-based language. Also "under the hood" there are: FastiHeretic pre-renders the page contents on the server side, then performs so called "rehydration", e.g. activating browser interactive elements. This is useful because the search systems will be able to cache the page contents correctly. At the same time, there is no need to reload the whole page while browsing, required chunks only will be loaded from server on demand. This improves the render speed and doesn't force the user to wait for the whole page to reload.
The framework contains a lot of components that allow you to solve a large number of tasks related to module development. Available components: admin panel, form builder, dynamic table, routing, WYSIWYG editor, calendar, modal dialog, load spinner and many more. Heretic included built-in authentication and authorization system. You can control users via the administration panel, turn on or off website sign in and sign up, define password policy, allow users to restore passwords by e-mail. There is an option to enable protection via built-in captcha and flexible rate limiting. OAuth2 providers are supported for both sign in and sign up.