Skip to content

TheCoder5550/folke-online

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Folke logo

Folke online

Folke is an interactive proof editor for propositional and first-order logic. It is based on the course DAT060 Logic in computer science on Chalmers.

This is a web version of the original version of Folke.

Live demo

https://thecoder5550.github.io/folke-online/

Development

Tech stack

  • React: to simplify state managment, supports components with JSX, update only parts of UI that changes state
  • Typescript: add types to javascript
  • Vite: Compile typescript and allows for hot reloading
  • Haskell: Folke is built with haskell
  • Docker: Automatically install needed programs and utilities

Requirements (windows)

  • Docker with WSL enabled
  • VSCode with dev container extensions installed

Install (windows)

  1. Clone the repo inside WSL (hot reloading doesn't work otherwise)
  2. Open the cloned repo in VSCode
  3. Re-open in dev container (to automatically install node, ghc, ghc-wasm and cabal packages)
  4. Install dependencies:
    npm install
  5. Build haskell and generate components
    make
  6. Start dev server with hot reloading enabled
    npm run dev

Install (linux)

Follow the instruction for the windows installation but clone the repo normally without WSL.

Build

  1. Build everything
    npm run build
  2. Run build
    npm run preview

Generate components from Markdown

Run the following make script to convert Markdown files into .tsx components. This is a lot faster than rebuilding the whole project.

make generate-components