Free, open-source web application for viewing and visualizing GEF (Geotechnical Exchange Format) files
Live Demo: gef.bedrock.engineer
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.
GEF-SIEVE and GEF-DISS are not supported.
- GEF Parsing: gef-file-to-map and Zod
- Framework: React Router v7 with Server-Side Rendering
- Build Tool: Vite
- Language: TypeScript (strict mode)
- Styling: Tailwind CSS v4
- Visualization: Observable Plot
- Maps: Leaflet
- UI Components: React Aria Components
- Internationalization: i18next
- Node.js 20 or higher
- npm
git clone https://github.com/yourusername/gef-webapp.git
cd gef-webapp
npm install
npm run devThe app will be available at http://localhost:5173
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 Prettiergef-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
This application can be deployed to various platforms. See React Router docs on deploying.
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.
- Run
npm run typecheck,npm run lint, andnpm run knip, read the warnings and use your best judgement before committing - Follow the existing code style
- Add tests for new features is encouraged
- Update documentation as needed
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Issues: Report bugs or request features via GitHub Issues
- Live App: Try it at gef.bedrock.engineer