├── .dockerignore ├── .gitignore ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── app └── Main.hs ├── docker-compose.yml ├── hie.yaml ├── package.yaml ├── scripts └── pg.sql ├── shell.nix ├── src ├── Adapter │ ├── EmailChecker.hs │ ├── Fake │ │ ├── Hasher.hs │ │ ├── Logger.hs │ │ └── UUID.hs │ ├── Http │ │ ├── Lib.hs │ │ ├── Scotty │ │ │ ├── LoginUser.hs │ │ │ ├── RegisterUser.hs │ │ │ └── Router.hs │ │ └── Servant │ │ │ ├── LoginUser.hs │ │ │ ├── RegisterUser.hs │ │ │ └── Router.hs │ ├── Logger.hs │ ├── Storage │ │ ├── Hasql │ │ │ └── User.hs │ │ └── InMem │ │ │ └── User.hs │ └── UUIDGen.hs ├── Config │ └── Config.hs ├── Domain │ ├── Messages.hs │ └── User.hs └── Usecase │ ├── Interactor.hs │ ├── LogicHandler.hs │ ├── UserLogin.hs │ └── UserRegistration.hs ├── stack.yaml ├── stack.yaml.lock └── test ├── Http ├── Lib.hs ├── ScottySpec.hs ├── ServantSpec.hs ├── Specs │ ├── Health.hs │ ├── LoginUser.hs │ └── RegisterUser.hs └── Utils.hs ├── Spec.hs ├── Storage ├── HasqlSpec.hs ├── Lib.hs └── Specs │ └── User.hs ├── Usecase ├── Lib.hs ├── Specs │ ├── UserLoginSpec.hs │ └── UserRegistrationSpec.hs └── Utils.hs └── Utils.hs /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/.dockerignore -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/README.md -------------------------------------------------------------------------------- /app/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/app/Main.hs -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /hie.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/hie.yaml -------------------------------------------------------------------------------- /package.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/package.yaml -------------------------------------------------------------------------------- /scripts/pg.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/scripts/pg.sql -------------------------------------------------------------------------------- /shell.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/shell.nix -------------------------------------------------------------------------------- /src/Adapter/EmailChecker.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Adapter/EmailChecker.hs -------------------------------------------------------------------------------- /src/Adapter/Fake/Hasher.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Adapter/Fake/Hasher.hs -------------------------------------------------------------------------------- /src/Adapter/Fake/Logger.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Adapter/Fake/Logger.hs -------------------------------------------------------------------------------- /src/Adapter/Fake/UUID.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Adapter/Fake/UUID.hs -------------------------------------------------------------------------------- /src/Adapter/Http/Lib.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Adapter/Http/Lib.hs -------------------------------------------------------------------------------- /src/Adapter/Http/Scotty/LoginUser.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Adapter/Http/Scotty/LoginUser.hs -------------------------------------------------------------------------------- /src/Adapter/Http/Scotty/RegisterUser.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Adapter/Http/Scotty/RegisterUser.hs -------------------------------------------------------------------------------- /src/Adapter/Http/Scotty/Router.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Adapter/Http/Scotty/Router.hs -------------------------------------------------------------------------------- /src/Adapter/Http/Servant/LoginUser.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Adapter/Http/Servant/LoginUser.hs -------------------------------------------------------------------------------- /src/Adapter/Http/Servant/RegisterUser.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Adapter/Http/Servant/RegisterUser.hs -------------------------------------------------------------------------------- /src/Adapter/Http/Servant/Router.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Adapter/Http/Servant/Router.hs -------------------------------------------------------------------------------- /src/Adapter/Logger.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Adapter/Logger.hs -------------------------------------------------------------------------------- /src/Adapter/Storage/Hasql/User.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Adapter/Storage/Hasql/User.hs -------------------------------------------------------------------------------- /src/Adapter/Storage/InMem/User.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Adapter/Storage/InMem/User.hs -------------------------------------------------------------------------------- /src/Adapter/UUIDGen.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Adapter/UUIDGen.hs -------------------------------------------------------------------------------- /src/Config/Config.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Config/Config.hs -------------------------------------------------------------------------------- /src/Domain/Messages.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Domain/Messages.hs -------------------------------------------------------------------------------- /src/Domain/User.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Domain/User.hs -------------------------------------------------------------------------------- /src/Usecase/Interactor.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Usecase/Interactor.hs -------------------------------------------------------------------------------- /src/Usecase/LogicHandler.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Usecase/LogicHandler.hs -------------------------------------------------------------------------------- /src/Usecase/UserLogin.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Usecase/UserLogin.hs -------------------------------------------------------------------------------- /src/Usecase/UserRegistration.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/src/Usecase/UserRegistration.hs -------------------------------------------------------------------------------- /stack.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/stack.yaml -------------------------------------------------------------------------------- /stack.yaml.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/stack.yaml.lock -------------------------------------------------------------------------------- /test/Http/Lib.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Http/Lib.hs -------------------------------------------------------------------------------- /test/Http/ScottySpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Http/ScottySpec.hs -------------------------------------------------------------------------------- /test/Http/ServantSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Http/ServantSpec.hs -------------------------------------------------------------------------------- /test/Http/Specs/Health.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Http/Specs/Health.hs -------------------------------------------------------------------------------- /test/Http/Specs/LoginUser.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Http/Specs/LoginUser.hs -------------------------------------------------------------------------------- /test/Http/Specs/RegisterUser.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Http/Specs/RegisterUser.hs -------------------------------------------------------------------------------- /test/Http/Utils.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Http/Utils.hs -------------------------------------------------------------------------------- /test/Spec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Spec.hs -------------------------------------------------------------------------------- /test/Storage/HasqlSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Storage/HasqlSpec.hs -------------------------------------------------------------------------------- /test/Storage/Lib.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Storage/Lib.hs -------------------------------------------------------------------------------- /test/Storage/Specs/User.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Storage/Specs/User.hs -------------------------------------------------------------------------------- /test/Usecase/Lib.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Usecase/Lib.hs -------------------------------------------------------------------------------- /test/Usecase/Specs/UserLoginSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Usecase/Specs/UserLoginSpec.hs -------------------------------------------------------------------------------- /test/Usecase/Specs/UserRegistrationSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Usecase/Specs/UserRegistrationSpec.hs -------------------------------------------------------------------------------- /test/Usecase/Utils.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Usecase/Utils.hs -------------------------------------------------------------------------------- /test/Utils.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/err0r500/realworld-app-simple-haskell/HEAD/test/Utils.hs --------------------------------------------------------------------------------