Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andrewmacmurray/realworld-hasura
Realworld inspired blogging platform (Remake of Conduit) using Hasura + Purescript + Elm
https://github.com/andrewmacmurray/realworld-hasura
elm hasura purescript realworld
Last synced: 3 months ago
JSON representation
Realworld inspired blogging platform (Remake of Conduit) using Hasura + Purescript + Elm
- Host: GitHub
- URL: https://github.com/andrewmacmurray/realworld-hasura
- Owner: andrewMacmurray
- License: mit
- Created: 2020-05-27T12:31:25.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-01-16T18:08:16.000Z (about 2 years ago)
- Last Synced: 2024-10-13T20:08:55.916Z (4 months ago)
- Topics: elm, hasura, purescript, realworld
- Language: Elm
- Homepage: realworld-hasura.vercel.app
- Size: 836 KB
- Stars: 61
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Realworld Hasura
![CI](https://github.com/andrewMacmurray/realworld-hasura/workflows/CI/badge.svg) ![CD](https://github.com/andrewMacmurray/realworld-hasura/workflows/CD/badge.svg)
## What?
A Realworld inspired blogging platform using `Hasura` + `Purescript` + `Elm`
'Inspired' as it doesn't follow the frontend or backend spec for the official `Realworld` example apps (https://github.com/gothinkster/realworld) but tries to replicate the features as closely as possible.
### Some notable differences to reference Realworld
- Uses a Graphql Backend (Hasura https://hasura.io/)
- Frontend uses Elm UI for layout (https://package.elm-lang.org/packages/mdgriffith/elm-ui/latest/)
- Mobile responsive
- Modified Layout and design## How?
The project is a monorepo split into `frontend`, `backend` (separate READMEs in each directory)
### Frontend
- A single page Elm app (deployed on `vercel` https://vercel.com)
### Backend
- A Hasura instance is deployed on Heroku
- A [YugabyteDB Managed](https://www.yugabyte.com/managed/) instance
- A `Purescript` serverless http api that handles authentication and custom application logic, communicates with Hasura as an actions server https://hasura.io/docs/1.0/graphql/core/actions/index.html (deployed on `vercel`)### Github Actions (CI/CD/Infra)
- Automated tests run on each pull request
- A full build and deploy of each service happens on merge to `main`## Run it Locally
Make sure you have `docker` and `node` installed
Install dependencies:
```sh
npm install
```Start Hasura and Postgres:
```sh
npm run hasura
```Run the migrations
```sh
npm run migrate
```Start the frontend
```sh
npm run dev
```Start the actions server
```sh
npm run actions
```