jbuckmccready / cavalier_contours_web_demo

Web demo app for visualizing, testing, and documenting the cavalier_contours library

Home Page:https://jbuckmccready.github.io/cavalier_contours_web_demo_page/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Summary

Source code for web demo app for visualizing, testing, and documenting the cavalier_contours Rust library.

Live interactive page hosted at https://cavaliercontours.dev/.

The Rust Poem Framework is used for the backend. Vue.js + Rust cavalier contours library compiled to wasm is used to create a single page application.

All the computational geometry work is done the client side via WASM - server backend is needed to support identity sign in and persistent storage.

Hosted on Google Cloud Run, GitHub CI is setup to build and live deploy all changes pushed to the master branch.

How to build and run locally using Docker

Easiest way to play with the app locally is to use Docker.

After installing Docker you can just run docker compose up --build at the root of the repo, server will be live at http://localhost:8000.

Tinkering/Learning Roadmap

  • Use Docker + cloud container service hosting (landed on Google Cloud Run).
  • Map nice domain name (https://cavaliercontours.dev/) with HTTPS to hosted service.
  • Setup GitHub CI to auto build + deploy live to cloud container service.
  • Add identity sign in with GitHub account via OAuth, docs here.
  • Add persistent storage for editing and saving polylines (associated with identity sign in).

About

Web demo app for visualizing, testing, and documenting the cavalier_contours library

https://jbuckmccready.github.io/cavalier_contours_web_demo_page/

License:Apache License 2.0


Languages

Language:TypeScript 42.2%Language:Vue 35.7%Language:Rust 18.0%Language:Dockerfile 2.4%Language:JavaScript 0.7%Language:CSS 0.4%Language:HTML 0.4%Language:Sass 0.2%