Skip to content

stark1tty/Gneisswork

 
 

Repository files navigation

Gneisswork icon Gneisswork

GitHub Pages Build Android APK

A free and open-source web application for field geological and sedimentological core logging. Create sedimentary logs in the field using any device with a browser.

Features

  • Create and manage multiple sedimentary log profiles with GPS metadata
  • Record detailed bed data: lithology (up to 3 components), grain size, sedimentary structures, bioturbation, boundaries, paleocurrents, and facies
  • Profile and bed photo uploads, bed audio recordings
  • Drag-and-drop bed reordering
  • CSV export compatible with SedLog, plus bulk export (ZIP)
  • Customizable reference data with standard sedimentological schemes pre-loaded
  • Database backup and restore (JSON or full ZIP with photos and audio), read-only JSON API
  • SQLite database, no external services required

📖 Full documentation at gneisswork.app/docs

Screenshots

Home — profile list
Home
Reference data management
Reference Data
Settings — backup and restore
Settings
New profile form
New Log
Edit profile with bed list
Edit Log
New bed form
New Bed

Quick Start

Android (Field Use)

⚠️ Known Issue: The Android APK is currently crashing on startup. This is being actively investigated. The web app (desktop/browser) works fine in the meantime.

Download the latest APK from the Releases page. Install it, and the app runs completely offline — Python, Flask, and SQLite are all bundled in.

📖 Building from source

Web App

git clone https://github.com/stark1tty/Gneisswork.git
cd Gneisswork
python run.py

run.py automatically installs dependencies from sedmob/requirements.txt on startup. No virtual environment setup needed for a quick start, though one is recommended for development (see Getting Started).

Open http://localhost:5000.

Docker

git clone https://github.com/stark1tty/Gneisswork.git
cd Gneisswork
docker compose up -d

📖 Getting Started guide for full details including configuration and testing.

Documentation

Topic Description
Getting Started Installation, configuration, Docker, testing
Web UI Guide Using the web interface
API Reference Read-only REST API at /api
Data Models Database schema
CSV Export Export format and SedLog compatibility
Reference Data Customizing lithologies and structures
Architecture Technical overview
Contributing Development workflow
Roadmap Planned features and progress

Background

Originally developed as a Cordova mobile app by Pawel Wolniewicz, described in:

Wolniewicz, P. (2014). SedMob: A mobile application for creating sedimentary logs in the field. Computers & Geosciences, 66, 211-218. doi:10.1016/j.cageo.2014.02.004

This version is a Python/Flask rewrite designed to run on any device with a browser.

📖 Citing Gneisswork — BibTeX entries for academic use.

License

GNU General Public License v2.0 (or later), the same license as the original SedMob project.

Packages

 
 
 

Contributors

Languages

  • Python 79.6%
  • HTML 16.0%
  • JavaScript 4.3%
  • Dockerfile 0.1%