Teikei
A web application and API that maps out community-supported agriculture in Germany, Switzerland, and Austria, based on crowdsourced data.
https://github.com/teikei/teikei
Category: Consumption
Sub Category: Agriculture and Nutrition
Keywords
crowdsourcing csa javascript leafletjs nodejs react
Keywords from Contributors
transforms measur archiving compose observation reporting process sharing projection numerics
Last synced: about 20 hours ago
JSON representation
Repository metadata
A web application that maps out community-supported agriculture in Germany, Switzerland, and Austria, based on crowdsourced data.
- Host: GitHub
- URL: https://github.com/teikei/teikei
- Owner: teikei
- License: agpl-3.0
- Created: 2014-05-14T17:25:12.000Z (almost 11 years ago)
- Default Branch: preview
- Last Pushed: 2025-04-25T08:49:32.000Z (2 days ago)
- Last Synced: 2025-04-25T09:46:04.521Z (2 days ago)
- Topics: crowdsourcing, csa, javascript, leafletjs, nodejs, react
- Language: JavaScript
- Homepage: https://ernte-teilen.org/karte
- Size: 45 MB
- Stars: 61
- Watchers: 5
- Forks: 11
- Open Issues: 15
- Releases: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
README.md
Production
Preview
Teikei
Teikei is a web application and API that maps out community-supported agriculture in Germany, Switzerland, and Austria, based on crowdsourced data.
It is used by
- Ernte teilen
- Kooperationsstelle für solidarische Landwirtschaft
- Netzwerk für solidarische Landwirtschaft
Introduction
The repository is a monorepo consisting of 3 modules:
API /api
Teikei API is a Node application written with Feathers using Express as a server. It exposes a JSON REST API, data is stored in PostgreSQL. It also includes a job queue built with node-schedule.
Map /map
Teikei Map is a Single Page Application built with React and Redux. It was generated with the default create-react-app with added Sass support. Uses leaflet to display the map, feathers-client to connect to the API backend, joi for validation, superagent as a REST client.
Admin /admin
Teikei Admin allows content moderators and administrators to update and manage stored data. It connects to the same Teikei API backend application as the frontend module, but through separate Admin API endpoints. It's built with crudl.io, an open-source admin dashboard.
The monorepo makes use of npm workspaces and lerna and provides top-level scripts to run a complete Teikei application stack with a single command and to conveniently work with all 3 modules from a single repository.
Getting started
Requirements
Teikei requires node >= 18, npm and PostgreSQL >= 9.5.
Get the code
Clone the repository and install dependencies
git clone https://github.com/teikei/teikei
cd teikei
npm install
Configure project settings
You need to create an .env
file in the root directory which contains the environment variables needed to run the project. The included .env.sample
file lists the variables which need to be set.
Development Mode
Development mode will run the database in a Docker container and populate is with new test data on each run. Make sure you have Docker installed and running on your machine before starting the development server.
Running API / Map in development mode
- To start the map application in development mode run
npm run dev
- The map frontend will be started at http://localhost:3000. The frontend express server runs on port 3000 and will proxy request to the API server on port 3030.
- The API server will run on http://localhost:3030
Or: Running API / Admin in development mode
- To start the admin application in development mode run
npm run dev-admin
- The admin frontend will be started at http://localhost:4000. The frontend express server runs on port 3000 and will proxy request to the API server on port 3030.
- The API server will run on http://localhost:3030
Build for production
- Build the project for production with
npm run build
either in the root directory to build all modules or individually in module subfolders. The build output will be copied to the /build folders of modules.
Test data
- To create initial data, run
npm run seed:run
inside the /api folder - The command will create the following test users
username | password | roles |
---|---|---|
[email protected] | admin | superadmin |
[email protected] | admin | admin |
[email protected] | admin | user |
This step will be performed automatically if you start a development server with npm run dev
or npm run dev-admin
.
Roadmap
We use Github to plan upcoming features and track bugs. If you want to participate, it's probably a good idea to look for open issues there. Before working on bigger features, however, it's advisable to get in contact with us, so that we can coordinate tasks and features.
Report a bug
Bugs, Issues and Feature requests can be added as issues here on Github. Please provide as much information as possible, including steps to reproduce the issue.
Authors & contributors
Alumni
- Tobias Preuss
- Daniel Mack
- Charis Braun
- Maria Dolecek
License
- The Teikei source code is released under the AGPL 3.0
- Assets in this repository are released under the Attribution-ShareAlike 4.0 International CC license
Owner metadata
- Name: Teikei / ErnteTeilen
- Login: teikei
- Email:
- Kind: organization
- Description:
- Website: http://ernte-teilen.org
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/7583909?v=4
- Repositories: 2
- Last ynced at: 2023-12-04T14:20:16.006Z
- Profile URL: https://github.com/teikei
GitHub Events
Total
- Watch event: 5
- Delete event: 78
- Issue comment event: 51
- Push event: 79
- Pull request event: 159
- Fork event: 1
- Create event: 78
Last Year
- Watch event: 5
- Delete event: 78
- Issue comment event: 51
- Push event: 79
- Pull request event: 159
- Fork event: 1
- Create event: 78
Committers metadata
Last synced: 6 days ago
Total Commits: 3,133
Total Committers: 11
Avg Commits per committer: 284.818
Development Distribution Score (DDS): 0.657
Commits in past year: 49
Committers in past year: 2
Avg Commits per committer in past year: 24.5
Development Distribution Score (DDS) in past year: 0.02
Name | Commits | |
---|---|---|
Christian Rijke | c****e@g****m | 1076 |
Christian Rijke | h****o@c****e | 912 |
Simon Jockers | h****o@s****m | 531 |
Tobias Preuss | t****s@g****m | 530 |
Daniel Mack | z****e@g****m | 53 |
dependabot[bot] | 4****] | 22 |
dependabot-preview[bot] | 2****] | 5 |
depfu[bot] | 2****] | 1 |
Thibaud Guillaume-Gentil | t****d@t****g | 1 |
Philipp Tessenow | p****p@t****g | 1 |
Knut Hühne | k****t@k****u | 1 |
Committer domains:
- k-nut.eu: 1
- tessenow.org: 1
- thibaud.gg: 1
- simonjockers.com: 1
- christianrijke.de: 1
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 13
Total pull requests: 371
Average time to close issues: about 1 year
Average time to close pull requests: about 1 month
Total issue authors: 4
Total pull request authors: 4
Average comments per issue: 0.15
Average comments per pull request: 0.61
Merged pull request: 115
Bot issues: 0
Bot pull requests: 274
Past year issues: 0
Past year pull requests: 165
Past year average time to close issues: N/A
Past year average time to close pull requests: 17 days
Past year issue authors: 0
Past year pull request authors: 3
Past year average comments per issue: 0
Past year average comments per pull request: 0.61
Past year merged pull request: 52
Past year bot issues: 0
Past year bot pull requests: 111
Top Issue Authors
- sjockers (5)
- crijke (4)
- tantebootsy (3)
- milahu (1)
Top Pull Request Authors
- dependabot[bot] (271)
- crijke (96)
- dependabot-preview[bot] (3)
- thibaudgg (1)
Top Issue Labels
- feature (8)
- bug (4)
Top Pull Request Labels
- dependencies (274)
- security (2)
- blocked (2)
Package metadata
- Total packages: 5
-
Total downloads:
- npm: 207 last-month
- Total dependent packages: 6 (may contain duplicates)
- Total dependent repositories: 4 (may contain duplicates)
- Total versions: 61
- Total maintainers: 1
proxy.golang.org: github.com/teikei/teikei
- Homepage:
- Documentation: https://pkg.go.dev/github.com/teikei/teikei#section-documentation
- Licenses: agpl-3.0
- Latest release: v0.7.0 (published almost 10 years ago)
- Last Synced: 2025-04-25T18:31:50.382Z (2 days ago)
- Versions: 24
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.528%
- Average: 6.747%
- Dependent repos count: 6.966%
npmjs.org: @teikei/schemas
Teikei validation schemas. Teikei is the software that powers ernte-teilen.org, a website that maps out Community-supported Agriculture in Germany.
- Homepage: http:
- Licenses: AGPL-3.0
- Latest release: 0.0.7 (published over 6 years ago)
- Last Synced: 2025-04-25T18:31:53.584Z (2 days ago)
- Versions: 10
- Dependent Packages: 3
- Dependent Repositories: 1
- Downloads: 53 Last month
-
Rankings:
- Dependent packages count: 5.89%
- Stargazers count: 5.939%
- Forks count: 6.287%
- Average: 10.048%
- Dependent repos count: 10.302%
- Downloads: 21.819%
- Maintainers (1)
npmjs.org: @teikei/api
Teikei API server. Teikei is the software that powers ernte-teilen.org, a website that maps out Community-supported Agriculture in Germany.
- Homepage: http:
- Licenses: AGPL-3.0
- Latest release: 0.0.7 (published over 6 years ago)
- Last Synced: 2025-04-25T18:31:52.930Z (2 days ago)
- Versions: 8
- Dependent Packages: 1
- Dependent Repositories: 1
- Downloads: 40 Last month
-
Rankings:
- Stargazers count: 5.939%
- Forks count: 6.287%
- Dependent repos count: 10.302%
- Average: 13.338%
- Dependent packages count: 20.916%
- Downloads: 23.248%
- Maintainers (1)
npmjs.org: @teikei/map
Teikei map SPA component. Teikei is the software that powers ernte-teilen.org, a website that maps out Community-supported Agriculture in Germany.
- Homepage: http:
- Licenses: AGPL-3.0
- Latest release: 0.0.7 (published over 6 years ago)
- Last Synced: 2025-04-25T18:31:52.120Z (2 days ago)
- Versions: 9
- Dependent Packages: 1
- Dependent Repositories: 1
- Downloads: 58 Last month
-
Rankings:
- Stargazers count: 5.939%
- Forks count: 6.287%
- Dependent repos count: 10.302%
- Average: 13.835%
- Dependent packages count: 20.916%
- Downloads: 25.729%
- Maintainers (1)
npmjs.org: @teikei/migrations
Teikei data migrations. Teikei is the software that powers ernte-teilen.org, a website that maps out Community-supported Agriculture in Germany.
- Homepage: http:
- Licenses: AGPL-3.0
- Latest release: 0.0.7 (published over 6 years ago)
- Last Synced: 2025-04-25T18:31:53.290Z (2 days ago)
- Versions: 10
- Dependent Packages: 1
- Dependent Repositories: 1
- Downloads: 56 Last month
-
Rankings:
- Stargazers count: 5.939%
- Forks count: 6.287%
- Dependent repos count: 10.302%
- Average: 15.659%
- Dependent packages count: 20.916%
- Downloads: 34.852%
- Maintainers (1)
Dependencies
- @babel/preset-react ^7.16.0 development
- @mdx-js/loader ^1.6.22 development
- @testing-library/jest-dom 5.14.1 development
- @testing-library/react 12.0.0 development
- @testing-library/user-event 13.2.1 development
- babel-eslint 10.1.0 development
- babel-loader 8.1.0 development
- eslint 7.32.0 development
- eslint-config-prettier 8.3.0 development
- eslint-config-standard 16.0.3 development
- eslint-config-standard-jsx 10.0.0 development
- eslint-config-standard-react 11.0.1 development
- eslint-plugin-cypress 2.11.3 development
- eslint-plugin-import 2.24.0 development
- eslint-plugin-jest 24.4.0 development
- eslint-plugin-node 11.1.0 development
- eslint-plugin-promise 5.1.0 development
- eslint-plugin-react 7.24.0 development
- eslint-plugin-standard 5.0.0 development
- prettier 2.3.2 development
- pretty-quick 3.1.1 development
- standard 16.0.3 development
- @material-ui/core 4.12.3
- @material-ui/icons 4.11.2
- date-fns 2.23.0
- feathers-client 2.4.0
- jwt-decode 3.1.2
- prop-types 15.7.2
- ra-data-feathers 2.9.1
- ra-data-json-server 3.17.2
- react 17.0.2
- react-admin 3.17.2
- react-dom 17.0.2
- react-scripts 4.0.3
- recharts 2.1.2
- superagent 6.1.0
- @babel/cli 7.14.8 development
- @babel/core 7.14.6 development
- @babel/node 7.14.7 development
- @babel/plugin-proposal-class-properties 7.14.5 development
- @babel/plugin-proposal-object-rest-spread 7.14.7 development
- @babel/preset-env 7.15.0 development
- @trendyol/jest-testcontainers ^2.1.0 development
- babel-eslint =10.1.0 development
- babel-jest =27.0.6 development
- babel-watch 7.4.1 development
- config 3.3.6 development
- eslint 7.30.0 development
- eslint-config-prettier 8.3.0 development
- eslint-config-standard ^16.0.3 development
- eslint-config-standard-react 11.0.1 development
- eslint-plugin-import ^2.23.4 development
- eslint-plugin-jest 24.3.6 development
- eslint-plugin-node ^11.1.0 development
- eslint-plugin-promise ^5.1.0 development
- eslint-plugin-react 7.24.0 development
- eslint-plugin-standard 5.0.0 development
- faker 5.5.3 development
- jest 27.0.6 development
- knex-db-manager 0.7.0 development
- pg-connection-string 2.5.0 development
- pg-escape 0.2.0 development
- prettier 2.3.2 development
- pretty-quick 3.1.1 development
- request 2.88.2 development
- request-promise 4.2.6 development
- standard 16.0.3 development
- testcontainers ^7.12.1 development
- uuid 8.3.2 development
- watchman 1.0.0 development
- webpack 5.47.1 development
- @feathersjs/authentication 4.5.11
- @feathersjs/authentication-local 4.5.11
- @feathersjs/configuration 4.5.11
- @feathersjs/errors 4.5.11
- @feathersjs/express 4.5.11
- @feathersjs/feathers 4.5.11
- axios 0.21.1
- bcrypt 5.0.1
- compression 1.7.4
- cors 2.8.5
- dockerode ^3.3.0
- dotenv 10.0.0
- email-templates 8.0.7
- express-basic-auth 1.2.0
- feathers-authentication-management 3.1.0
- feathers-envhelpers 0.6.2
- feathers-hooks-common 5.0.6
- feathers-logger 0.3.2
- feathers-objection 7.5.0
- geojson 0.5.0
- glob 7.1.7
- helmet 4.6.0
- inky 1.4.2
- joi 17.4.2
- jwt-decode 3.1.2
- knex 0.95.10
- lodash 4.17.21
- moment 2.29.1
- node-schedule 2.0.0
- nodemailer 6.6.2
- nodemailer-sparkpost-transport 2.2.0
- nunjucks 3.2.3
- objection 2.2.15
- objection-db-errors 1.1.2
- passport-jwt 4.0.0
- pg 8.7.1
- pino 6.13.0
- pino-pretty 6.0.0
- serve-favicon 2.5.0
- testcontainers ^7.12.1
- @babel/helper-regex 7.10.5 development
- cypress 8.5.0 development
- eslint ^7.30.0 development
- eslint-config-prettier 8.3.0 development
- eslint-config-standard ^16.0.3 development
- eslint-config-standard-jsx ^10.0.0 development
- eslint-config-standard-react 11.0.1 development
- eslint-plugin-cypress 2.11.3 development
- eslint-plugin-import ^2.23.4 development
- eslint-plugin-jest 24.3.6 development
- eslint-plugin-node ^11.1.0 development
- eslint-plugin-promise ^5.1.0 development
- eslint-plugin-react ^7.24.0 development
- eslint-plugin-standard 5.0.0 development
- prettier 2.3.2 development
- pretty-quick 3.1.1 development
- standard 16.0.3 development
- start-server-and-test ^1.12.6 development
- @craco/craco 6.2.0
- @feathersjs/authentication-client 4.5.11
- @feathersjs/feathers 4.5.11
- @feathersjs/rest-client 4.5.11
- classnames 2.3.1
- feathers-authentication-management 3.1.0
- history 4.10.1
- joi-browser 13.4.0
- lodash 4.17.21
- mapbox-gl 1.5
- mapbox-gl-leaflet ^0.0.15
- node-polyglot 2.4.2
- node-sass 6.0.1
- normalize-css 2.3.1
- prop-types 15.7.2
- react 17.0.2
- react-autocomplete 1.8.1
- react-dom 17.0.2
- react-leaflet 3.1.0
- react-leaflet-markercluster 3.0.0-rc1
- react-loading 2.0.3
- react-onclickoutside 6.11.2
- react-redux 7.2.4
- react-router 5.2.0
- react-router-dom 5.2.0
- react-s-alert 1.4.1
- react-scripts 4.0.3
- react-select 1.2.1
- redux 4.1.0
- redux-form 8.3.7
- redux-promise-middleware 6.1.2
- redux-thunk 2.3.0
- superagent 6.1.0
- superagent-promise 1.1.0
- timeago 1.6.7
- web-vitals 2.1.0
- husky 7.0.1 development
- npm-check-updates 11.8.3 development
- npm-run-all 4.1.5 development
- start-server-and-test 1.13.1 development
- actions/checkout v3 composite
- actions/setup-node v3 composite
- dokku/github-action v1.0.1 composite
- voxmedia/github-action-slack-notify-build v1 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- dokku/github-action v1.0.1 composite
- voxmedia/github-action-slack-notify-build v1 composite
- actions/checkout v2 composite
- github/codeql-action/analyze v1 composite
- github/codeql-action/autobuild v1 composite
- github/codeql-action/init v1 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- dokku/github-action v1.0.1 composite
- voxmedia/github-action-slack-notify-build v1 composite
- postgres latest build
- 1562 dependencies
- 1212 dependencies
- 1373 dependencies
- 775 dependencies
Score: 12.11312367587379