teikei
Maps crowdsourced community-supported agriculture for users and data moderators
Teikei combines a web map, a JSON REST API, and an administration interface for crowdsourced community-supported agriculture data. Its monorepo has three modules: API, Map, and Admin. The Node-based API uses Feathers with Express, stores data in PostgreSQL, and runs scheduled jobs with node-schedule. The map is a React and Redux single-page application that displays the map with Leaflet, connects through feathers-client, validates with joi, and uses superagent as a REST client. The Admin module lets content moderators and administrators update and manage stored records through separate Admin API endpoints and is built with crudl.io.
It is for content moderators and administrators who maintain the data, along with users of Ernte teilen, Kooperationsstelle für solidarische Landwirtschaft, and Netzwerk für solidarische Landwirtschaft. Those organizations use Teikei. For development, npm workspaces and Lerna provide top-level scripts that run the complete application stack with one command. Development mode runs the database in a Docker container and creates fresh test data on every run.
Key features
- Three-module monorepo: API, Map, and Admin
- JSON REST API built with Feathers and Express
- PostgreSQL data storage and scheduled job queue
- React, Redux, and Leaflet map interface
- Separate Admin API endpoints for data management
- Single-command development stack with Docker-based test data