janvorisek/edubeam
Free online structural analysis tool for beams and trusses. Edubeam lets you create and solve 2D structures directly in your browser — no installation required. Instantly generate bending moment diagrams, shear force diagrams, and deflection plots. Ideal for students, educators, and engineers.
edubeam
Free online structural analysis software for 2D beams, trusses, and frames.
Real-time solver, Timoshenko beam formulation, sharable projects, and fully localized UI—perfect for classrooms, design studios, and hobby labs.
Launch the web app · Read the documentation · Explore example models
Table of contents
- Why edubeam?
- Product highlights
- Launch & try it
- Development setup
- Available scripts
- Documentation & localization
- Contributing
- License
Why edubeam?
Edubeam is a lightweight yet professional-grade finite element environment for 2D structural analysis. Created by civil engineers and educators, it helps you:
- Teach structural mechanics, stiffness matrices, and load paths with a live, visual tool.
- Validate early-stage beam or truss designs without installing heavy desktop suites.
- Share reproducible models via URLs or JSON for peer review, grading, or collaboration.
Under the hood Edubeam combines a Timoshenko beam formulation, axial truss elements, static condensation, and temperature/load tools into a single browser experience. Everything runs client-side, which means zero install, zero license servers, and instant updates.
Product highlights
- Real-time structural analysis – Every edit recalculates reactions, nodal displacements, and internal forces on the fly.
- Comprehensive loading – Point loads, distributed loads, prescribed displacements, settlement, and thermal gradients.
- Rich visualization – Overlay undeformed/deformed shapes, N-V-M diagrams, support reactions, and coordinate HUD to spot issues quickly.
- Timoshenko beams + truss elements – Mix frame members and axial-only elements in the same model.
- Education-ready – Show stiffness matrices, DOFs, and solver details to connect theory with practice.
- Localization & accessibility – Full UI translations (EN, CS, DE, ES, FR, ZH) plus keyboard-friendly navigation.
- Open source & extensible – Vue 3 + Vite + TypeScript front-end, Pinia state management, and a dedicated documentation site built with VitePress.
Launch & try it
- Open the live app – https://run.edubeam.app
- Load an example – use the Examples sidebar or jump straight to the gallery.
- Inspect the guides – the Introduction and User Interface pages mirror the workflow inside the app.
- Share your work – use Share model to generate a link or download a JSON snapshot for grading and archives.
Edubeam is optimized for desktops/laptops but also runs on tablets with mouse or pencil input.
Development setup
Requirements:
- Node.js 20.x
- npm, pnpm, or yarn (examples below use
npm)
git clone https://github.com/janvorisek/edubeam.git
cd edubeam
npm install
npm run devThe Vite dev server starts at http://localhost:5173 with hot-module reloading.
Production build
npm run buildAssets are emitted to dist/ and can be deployed to any static host. The main branch is continuously deployed to run.edubeam.app.
Available scripts
| Command | Description |
|---|---|
npm run dev |
Start the application in development mode (Vite) |
npm run build |
Produce the production bundle |
npm run test / npm run test:run |
Execute unit tests via Vitest |
npm run lint |
Run ESLint with auto-fix |
npm run docs:dev |
Launch the VitePress docs locally |
npm run docs:build |
Build the static documentation site |
Documentation & localization
- Docs hub: https://edubeam.app (built with VitePress).
- Guides: introduction, UI tour, essentials, and theory manuals (Timoshenko beam, truss element).
- Languages: English plus localized content for Czech, German, Spanish, French, and Chinese, matching the in-app translations.
- FAQ & examples: curated to help educators drop Edubeam into lesson plans immediately.
If you are improving docs, run npm run docs:dev for live previews.
Contributing
We welcome bug reports, feature ideas, documentation edits, and localisation help. To get started:
- Check existing issues or open a new one (bug/feature templates available).
- Fork the repo and create a feature branch (
git checkout -b feature/your-topic). - Commit with clear messages, run tests/linting, and submit a pull request.
Please keep PRs scope-focused (one fix/feature per PR) and include screenshots when changing UI flows.
License
Distributed under the GPL-3.0 license. See LICENSE for the full text.
