Coder Social home page Coder Social logo

odk-hamster's Introduction

Open Data Kit Hamster

This project is a slimmed-down version of the ODK Tables sync web service first made available in ODK Aggregate. This project is being developed by Benetech and incorporates code from ODK Aggregate and features contributed by SolDevelo.

ODK Hamster is a web service that sits in front of a (Postgres) database and accepts form data from the ODK Survey Android application.

For the original OpenDataKit project, see: https://github.com/opendatakit/aggregate

Get Started

Why "Hamster"?

  • Hamsters are small.
  • Hamsters collect things. (In this case, data.)
  • "Hamster" won't be confused with any other Open Data Kit or Benetech projects.

There was a "Project Hamster" which was a personal time tracking tool, but it's not a functional competitor and it is a defunct project. So, "ODK Hamster".

What are the differences between ODK Aggregate and ODK Hamster?

  1. There is no GUI on ODK Hamster. It is a web service.
  2. ODK Hamster currently works with:
  • Digest Authentication
  • Postgres
  • Tomcat
  1. ODK Hamster is a Spring Boot application.
  2. ODK Hamster is a Jersey web service.
  3. ODK Hamster uses Spring Java Configuration files
  4. Some other stuff was removed from ODK Hamster:
  • Support for Google Application Engine
  • Dependence on Google Web Toolkit
  • Dependence on Apache Wink
  • Support for other databases
  • Support for other authentication methods
  • Explicit handling of HTTP/HTTPS
  • Bitrock Installer
  • Eclipse-specific projects and configuration

Why did you remove so much stuff?

We have specific goals for ODK Hamster:

  1. Use Open Source technologies where possible.
  2. Release ODK Hamster in a Docker container.
  3. Rely on a proxy between ODK Hamster and the internet to provide HTTPS.
  4. Use ODK Hamster as a RESTful web service.
  5. Create a new GUI, separate from the ODK Hamster web service, which does not include any of the ODK 1.0 GUI that appeared in Aggregate.
  6. Simplify ODK Hamster to the point that one person or a small team can maintain and add features to it.
  7. Set up the project to facilitate continuous improvement by avoiding reliance on GUI tools for configuration or other manual intervention.

We may re-add some of the features removed in the future. But until those features are requested, we're operating under the YAGNI principle. This way we'll have less to maintain as we enhance ODK Hamster.

odk-hamster's People

Contributors

kden avatar

Watchers

James Cloos avatar John Higgins avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.