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
- Run the Hamster web service.
- Run the service in a Docker container.
- Can I run it on Heroku?
- How should I edit it in an IDE?
- 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".
- There is no GUI on ODK Hamster. It is a web service.
- ODK Hamster currently works with:
- Digest Authentication
- Postgres
- Tomcat
- ODK Hamster is a Spring Boot application.
- ODK Hamster is a Jersey web service.
- ODK Hamster uses Spring Java Configuration files
- 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
We have specific goals for ODK Hamster:
- Use Open Source technologies where possible.
- Release ODK Hamster in a Docker container.
- Rely on a proxy between ODK Hamster and the internet to provide HTTPS.
- Use ODK Hamster as a RESTful web service.
- 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.
- Simplify ODK Hamster to the point that one person or a small team can maintain and add features to it.
- 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.