开源软件名称(OpenSource Name):dandoh/web-haskell-graphql-postgres-boilerplate
开源软件地址(OpenSource Url):https://github.com/dandoh/web-haskell-graphql-postgres-boilerplate
开源编程语言(OpenSource Language):
Haskell
78.5%
开源软件介绍(OpenSource Introduction):Modern Haskell Webserver Boilerplate
- Graphql API
type User {
id: Int!
email: String!
name: String!
updatedAt: String!
createdAt: String!
}
type Session {
token: String!
user: User!
}
type Query {
login(email: String!, password: String!): Session!
myUserInfo: User!
}
type Mutation {
register(email: String!, password: String!, name: String!): Session!
changePassword(oldPassword: String!, newPassword: String!): Boolean!
}
- Database:
This boilerplate wires up:
- Reading .env using
envy
- Database
- Graphql API
- Authorization using JWT
- Monad transformers
Running
- Feed in you database & secret in
.env :
DATABASE_URL="postgres://Dandoh:[email protected]:5432/webhaskell?sslmode=disable"
JWT_SECRET="my_jwt_secret"
- Migrations
- Run webserver
Now GraphQL API is at http://localhost:8080/api
You can also access Graphql Playground at http://localhost:8080/graphiql
Running on Docker
-
Feed in you database & secret in .env :
-
(Optional) Edit anything you need in the .env file
-
Create and start docker containers
-
Now you can visit: http://localhost:8080/ in your local machine.
-
Migrations will automatically run, and you can run them manually anytime using
$ docker-compose up dbmate
-
Stack will restart whenever you change any .hs file, thanks to entr
Contributors
PR are more than welcome. The only note is we use ormolu to format codes.
|
请发表评论