Skip to content

bedrock-engineer/gef-app

Repository files navigation

Bedrock GEF Viewer

Free, open-source web application for viewing and visualizing GEF (Geotechnical Exchange Format) files

License

Live Demo: gef.bedrock.engineer

About

GEF files are ubiquitous in geotechnical engineering in the Netherlands and Flanders. This web application provides a fast, modern interface for viewing and analyzing GEF files directly in your browser.

Supported GEF Types

GEF-SIEVE and GEF-DISS are not supported.

Technology Stack

Getting Started

Prerequisites

  • Node.js 20 or higher
  • npm

Installation

git clone https://github.com/yourusername/gef-webapp.git
cd gef-webapp

npm install

npm run dev

The app will be available at http://localhost:5173

Development Commands

npm run dev        # Start development server with HMR
npm run build      # Create production build
npm run start      # Start production server
npm run typecheck  # Run TypeScript type checking
npm run lint       # Run ESLint
npm run format     # Format code with Prettier

Project Structure

gef-webapp/
├── app/
│   ├── components/       # React components
│   ├── gef/              # GEF file parsing and schemas
│   ├── locales/          # Translation files
│   ├── middleware/       # Request middleware
│   ├── routes/           # React-router route components
│   └── util/             # Utility functions
├── public/               # Static assets
└── workers/              # Cloudflare Workers

Deployment

This application can be deployed to various platforms. See React Router docs on deploying.

Contributing

Contributions are welcome. Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

Development Guidelines

  1. Run npm run typecheck, npm run lint, and npm run knip, read the warnings and use your best judgement before committing
  2. Follow the existing code style
  3. Add tests for new features is encouraged
  4. Update documentation as needed

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Support

Bedrock