• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

eckyputrady/haskell-scotty-realworld-example-app: Exemplary real world backend A ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

eckyputrady/haskell-scotty-realworld-example-app

开源软件地址(OpenSource Url):

https://github.com/eckyputrady/haskell-scotty-realworld-example-app

开源编程语言(OpenSource Language):

Haskell 98.8%

开源软件介绍(OpenSource Introduction):

RealWorld Example App

Haskell/Scotty codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API.

Demo    RealWorld

Build Status

This codebase was created to demonstrate a fully fledged fullstack application built with Haskell/Scotty including CRUD operations, authentication, routing, pagination, and more.

We've gone to great lengths to adhere to the Haskell/Scotty community styleguides & best practices.

For more information on how to this works with other frontends/backends, head over to the RealWorld repo.

How it works

Environment Variables

Name Desc Default Value
DATABASE_URL PostgreSQL Database URL postgresql://localhost/realworld
ENABLE_HTTPS Server will run on HTTPS if True True
PORT Port 3000
JWK_PATH Path to JWK signature file secrets/jwk.sig
JWT_EXPIRATION_SECS How long until JWT expire (in secs) 7200

Notable Dependencies

  • classy-prelude - Better Prelude for Haskell
  • scotty - Web framework library
  • postgresql-simple - PostgreSQL library
  • aeson - JSON serialization & deserialization
  • digestive-functors & digestive-functors-aeson - Input parsing & validation
  • jose-jwt - JWT encode & decode
  • slug - Slug string builder
  • hspec - Test framework

Quick Repo Walkthrough

  • /postgresql - Database migration scripts.
  • /secrets - Default HTTPS & JWT configuration files for development. Please replace with something else for production.
  • /scripts - Bash scripts to help development.
  • /app - Haskell files for application entry point.
  • /test - Haskell test files.
  • /src - Main Haskell code.

Getting started

Installation

Install Stack.

Install PostgreSQL.

Clone the repository and cd to repo

git clone https://github.com/eckyputrady/haskell-scotty-realworld-example-app.git

cd haskell-scotty-realworld-example-app

Install GHC

stack setup

Install dependencies and build project

stack build

Run project

stack exec realworld-exe

Alternatively, to watch file changes and start the server automatically

./scripts/dev.sh

Alternatively, to watch file changes and run the tests automatically

stack test --file-watch --coverage

To setup deployment to Heroku, please configure this custom buildpack

heroku buildpacks:set https://github.com/mfine/heroku-buildpack-stack

Misc

Logo image - credits to @EricSimmon




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap