{"id":15692750,"url":"https://github.com/yoeight/corecursion-net","last_synced_at":"2025-10-26T20:02:00.436Z","repository":{"id":143111100,"uuid":"39158275","full_name":"YoEight/corecursion-net","owner":"YoEight","description":"Personal website source code","archived":false,"fork":false,"pushed_at":"2016-01-06T21:51:00.000Z","size":423,"stargazers_count":7,"open_issues_count":1,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-08T03:16:20.256Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YoEight.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-15T20:00:57.000Z","updated_at":"2017-06-26T22:02:06.000Z","dependencies_parsed_at":"2023-03-17T06:15:48.709Z","dependency_job_id":null,"html_url":"https://github.com/YoEight/corecursion-net","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoEight%2Fcorecursion-net","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoEight%2Fcorecursion-net/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoEight%2Fcorecursion-net/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoEight%2Fcorecursion-net/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YoEight","download_url":"https://codeload.github.com/YoEight/corecursion-net/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252990004,"owners_count":21836668,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T18:39:44.936Z","updated_at":"2025-10-26T20:02:00.386Z","avatar_url":"https://github.com/YoEight.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"corecursion.net repository\n==========================\n\nThis is [www.corecursion.net](http://www.corecursion.net) code.\n\nWhile it's possible to build this webapp only with Cabal, it's strongly recommended to use [stack](http://docs.haskellstack.org/en/stable/README.html) instead.\n\nPurpose\n-------\nThe goal of this project is to provide RealWorld yet simple [Yesod](http://www.yesodweb.com/) and [EventStore](https://geteventstore.com/) backed web application.\n\nProject layout\n--------------\n\n1. boostrap: a command-line utility that initializes a  [EventStore](https://geteventstore.com/) database. Currently, it only creates an author user.\n2. webapp: the main Yesod web application.\n\nRequirements\n------------\nNormally, this code *should* work on any OS supported by GHC. Nonetheless, the website runs on a Linux distro.\n\nThe webapp uses an [EventStore](https://geteventstore.com/) database. Any version greater or equal to 3.0.0 would work.\n\nHow to build\n------------\n\n```\n$ git clone https://github.com/YoEight/corecursion-net.git\n$ cd corecursion-net\n$ stack setup\n$ stack build corecursion\n```\n\nDevelopment mode\n----------------\nIn order to have a cheerful Yesod experience, it's strongly advise to install [yesod-bin](https://hackage.haskell.org/package/yesod-bin). `stack` makes everything simple, this is how to proceed:\n\n```\n$ stack build yesod-bin\n$ cd webapp\n$ stack exec yesod devel\n```\n\nNow every change made on webapp files will trigger compilation. It makes web developement in Haskell interactive.\n\nHow to use Bootstrap\n--------------------\n\nFirst you need to compile `bootstrap`:\n\n```\n$ stack build bootstrap\n```\n\nYou could either call `bootstrap` directly (where `stack` puts binaries which depends on your setup) or use `stack` itself.\n\n```\n$ ./bootstrap --help\nbootstrap - Operates on corecursion.net database.\n\nUsage: bootstrap [--ip IP] [--port PORT] [-l|--store-login STORE_LOGIN]\n                 [-p|--store-passw STORE_PASSW] COMMAND\n  Initialize corecursion.net database.\n\nAvailable options:\n  -h,--help                Show this help text\n  --ip IP                  EventStore's IP address. (default: \"127.0.0.1\")\n  --port PORT              EventStore's port. (default: 1113)\n  -l,--store-login STORE_LOGIN\n                           Store user login. (default: No admin login used.)\n  -p,--store-passw STORE_PASSW\n                           Store user\n                           password. (default: No admin password used.)\n\nAvailable commands:\n  useradd                  Add a new author user.\n  maxage                   Set stream $maxAge property\n```\n\nFor example, to add an author user:\n```\n$ ./bootstrap useradd --username author@email.com\n```\n\nor `stack` version:\n\n```\n$ stack exec -- bootstrap useradd --username author@email.com\n```\n\nNotes\n-----\nContributions and bug reports are welcome!\n\nGPL License\n\n-Yorick Laupa\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoeight%2Fcorecursion-net","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoeight%2Fcorecursion-net","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoeight%2Fcorecursion-net/lists"}