π°πͺ Architecture of Haskell backend applications
See the code
cake-slayer (do not confuse with cakes-layer) is a modern and
batteries-included framework for creating backend in Haskell for
web-applications. It allows you to scaffold working and extensible project in
minutes.
The main goal of cake-slayer is to provide a backbone for your Haskell
backend. Unlike many other Haskell libraries, cake-slayer doesn't try to be as
abstract as possible. It includes best-practices and makes some architecture
decisions for you. On the one hand, your application should satisfy the
requirements for using this framework. On the other hand, it takes care of a lot
of stuff for you, so you don't need to worry about everyday problems.
A typical backend does the following:
cake-slayer works exceptionally well if your application uses:
The following Haskell packages have been chosen to provide the necessary functional:
postgresql-simple,
postgresql-simple-named,
postgresql-simple-migration
servant,
servant-swagger,
swagger2
elm-street
jwt
bcrypt
ekg,
prometheus-client
NOTE: Using
prometheus-clientis optional
Besides cake-slayer encourages (but doesn't force) to use the following libraries:
The cake-slayer framework contains implementations of most common and useful
functions. But at the same time, it provides enough flexibility to specify
application-specific parts. To integrate cake-slayer smoothly into your
project, you should perform the following steps:
CakeSlayer.Error
module for details.App monad from the
CakeSlayer.Monad module.cake-slayer provides MonadJwt and MonadTimed effects with sensible
default implementations for your convenience.And you're good to go!
Haskell
100.0%
π°πͺ Architecture of Haskell backend applications
See the code
cake-slayer (do not confuse with cakes-layer) is a modern and
batteries-included framework for creating backend in Haskell for
web-applications. It allows you to scaffold working and extensible project in
minutes.
The main goal of cake-slayer is to provide a backbone for your Haskell
backend. Unlike many other Haskell libraries, cake-slayer doesn't try to be as
abstract as possible. It includes best-practices and makes some architecture
decisions for you. On the one hand, your application should satisfy the
requirements for using this framework. On the other hand, it takes care of a lot
of stuff for you, so you don't need to worry about everyday problems.
A typical backend does the following:
cake-slayer works exceptionally well if your application uses:
The following Haskell packages have been chosen to provide the necessary functional:
postgresql-simple,
postgresql-simple-named,
postgresql-simple-migration
servant,
servant-swagger,
swagger2
elm-street
jwt
bcrypt
ekg,
prometheus-client
NOTE: Using
prometheus-clientis optional
Besides cake-slayer encourages (but doesn't force) to use the following libraries:
The cake-slayer framework contains implementations of most common and useful
functions. But at the same time, it provides enough flexibility to specify
application-specific parts. To integrate cake-slayer smoothly into your
project, you should perform the following steps:
CakeSlayer.Error
module for details.App monad from the
CakeSlayer.Monad module.cake-slayer provides MonadJwt and MonadTimed effects with sensible
default implementations for your convenience.And you're good to go!
Haskell
100.0%