Coder Social home page Coder Social logo

cattabiani / kraph Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 687 KB

Kraph (or Katta-Graph) is a simple project to take notes in a graph structure. No installation required. Just head towards the github pages

Home Page: https://cattabiani.github.io/kraph/

License: MIT License

CMake 1.94% HTML 3.10% C++ 43.89% CSS 6.90% JavaScript 43.71% Shell 0.45%

kraph's Introduction

Description

Kraph (or Katta-Graph) is a simple project to take notes in a graph structure. I started from the need, at a Dungeons and Dragons table, to take notes about various npcs, places, facts, and objects. I needed an evidence board that was easy to use for my less-IT-savy companions. Thus, I thought about a program that can run in the browser. In order to not incur in privacy problems, I did not want to have a server at all. A serverless application in the browser. This allows anybody, with a connection and a PC, to take notes at the table. After investigating various alternatives: javaScript, mobile, Rust, I landed on WebAssembly and JavaScript. The advantages of this approach:

  • Nothing to install.
  • Cheap: free github pages.
  • The graph can be donwnloaded/uploaded to save progress.

Since it is serverless, everything can be hosted on the github pages.

TODO

Adapt the project to be used on mobile.

For the Developers

Project Structure

  • src: Place your C++ source and header files here.
  • build: Output directory for build artifacts.

Compiling

In order to compile the project you need the cheerpj compiler. The free verions works like a charm.

Building the Project

To build the project, you can use CMake and Ninja:

cmake -G Ninja . -DTESTS=ON -B build && cmake --build build && ./build/tests
cmake -G Ninja . -DTESTS=OFF -B build && cmake --build build && cmake --install build && python3 -m http.server

Git pre-commit

In order to make git auto-format when you push you need to link the pre-commit in the .git folder:

ln -s pre-commit .git/hooks/pre-commit

CI/CD

With the github actions a new, updated version of the program is deployed automatically every time there is a push to main.

Testing

Testing removes all the glue/javaScript code and you can test with the standard google tests.

kraph's People

Contributors

cattabiani avatar

Watchers

 avatar

kraph's Issues

add saving

add saving feature. Graphs should persist at least among sessions in the same pc.

Bonus points:

  • add a way to download the data to be loaded on another pc

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.