Open Source Management System for Botanic Garden Collections.

Related tags

Miscellaneousbotgard
Overview

BotGard 3.0

Open Source Management System for Botanic Garden Collections built and maintained by netzkolchose.de in cooperation with the Botanical Garden of the Friedrich Schiller Universität Jena and the Botanical Garden of the TU Braunschweig.

Features

See Features wiki page for a list of features.

Requirements

To run the System in production mode you'll need:

  • Linux or FreeBSD
  • Python 3
  • PostgreSQL (recommended)
  • nginx
  • latex live
  • librsvg2-bin (labels use the rsvg-convert commandline tool)

Development

To initially set up the development server create a virtual environment using tools like venv or virtualenv and then:

sudo apt install librsvg2-bin
# or any other means to install the rsvg package

cd app
pip install -r requirements.txt
./manage.py migrate
./manage.py createsuperuser
./manage.py botgard_update_config

After that you can just run the development server with:

./manage.py runserver

Postgres is required for proper text search in Django's admin views. If you do not need fulltext search, sqlite will work too.

To create a local database:

sudo apt install postgresql-server-dev-all
# or any other means to install a local postgres server

# start psql
sudo -u postgres psql

# create user and database
CREATE USER "botgard-user" WITH PASSWORD "botgard-password";
CREATE DATABASE "botgard" ENCODING=UTF8 TEMPLATE=template0 OWNER="botgard-user";

# allow the user to create databases (for unit-testing)
ALTER USER "botgard-user" CREATEDB;

To run the unit-tests:

./manage.py collectstatic  # needs to be run once before testing
./manage.py test

Docker and CI

Dockerfile and app/start-server.sh are the entry points.

run unittests in docker image

docker build --tag botgard-dev .
docker run -ti --env BOTGARD_RUN_TESTS=1 botgard-dev

The following environment variables will be used by app/BotGard/settings.py if present:

  • POSTGRES_PASSWORD: Password of the postgres user, if specified the postgres database backend will be used. Otherwise it falls back to sqlite3.
  • POSTGRES_DATABASE: Name of the postgres database, defaults to postgres
  • POSTGRES_USER: Name of the postgres user, defaults to postgres
  • POSTGRES_HOST: Name of the postgres host, defaults to localhost
  • POSTGRES_PORT: Name of the postgres host port, defaults to 5432
  • DJANGO_SECRET_KEY: Overrides the SECRET_KEY, defaults to a fixed sequence
  • DJANGO_TIME_ZONE: The default timezone, defaults to Europe/Berlin
  • DJANGO_ALLOWED_HOSTS: A list of hosts separated by spaces, defaults to empty list
  • DJANGO_DEBUG: Set Django debug mode, defaults to True

Data migration

The database of BotGard can be exported via:

./manage.py dumpdata -o dump-file.json

and imported into a newly created database via:

./manage.py migrate
./manage.py botgard_clear_django_tables
./manage.py loaddata dump-file.json

The import requires about 10-15 minutes per 100k objects...

Documentation

See the Wiki Page.

Getting Help and Commercial support

This project is backed by netzkolchose.de UG If you need help implementing or hosting BotGard for your Institution, please contact us: [email protected]

Credits

Thanks to the Botanical Garden Jena especially Stefan Arndt for his ongoing support and input.

State and RoadMap

See RoadMap wiki page.

Owner
netzkolchose.de
netzkolchose.de
addon for blender to import mocap data from tools like easymocap, frankmocap and Vibe

b3d_mocap_import addon for blender to import mocap data from tools like easymocap, frankmocap and Vibe ==================VIBE================== To use

Carlos Barreto 97 Dec 07, 2022
Bionic is Python Framework for crafting beautiful, fast user experiences for web and is free and open source.

Bionic is Python Framework for crafting beautiful, fast user experiences for web and is free and open source. Getting Started This is an example of ho

14 Apr 10, 2022
CRC Reverse Engineering Tool in Python

CRC Beagle CRC Beagle is a tool for reverse engineering CRCs. It is designed for commnication protocols where you often have several messages of the s

Colin O'Flynn 51 Jan 05, 2023
Expense Tracker is a very good tool to keep track of your expenseditures and the total money you saved.

Expense Tracker is a very good tool to keep track of your expenseditures and the total money you saved.

Shreejan Dolai 9 Dec 31, 2022
Glyph Metadata Palette

This plugin for Glyphs3 allows you to associate arbitrary structured metadata to each glyph in your font.

Simon Cozens 4 Jan 26, 2022
RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information.

RDFLib RDFLib is a pure Python package for working with RDF. RDFLib contains most things you need to work with RDF, including: parsers and serializers

RDFLib 1.8k Jan 02, 2023
Schemdule is a tiny tool using script as schema to schedule one day and remind you to do something during a day.

Schemdule is a tiny tool using script as schema to schedule one day and remind you to do something during a day. Platform Python Install Use pip: pip

StardustDL 4 Sep 13, 2021
Repositório do programa ConstruDelas - Trilha Python - Módulos 1 e 2

ConstruDelas - Introdução ao Python Nome: Visão Geral Bem vinda ao repositório do curso ConstruDelas, módulo de Introdução ao Python. Aqui vamos mante

WoMakersCode 8 Oct 14, 2022
Chicks get hostloc points regularly

hostloc_getPoints 小鸡定时获取hostloc积分 github action大规模失效,mjj平均一人10鸡,以下可以部署到自己的小鸡上

59 Dec 28, 2022
Web service which feeds Navitia with real-time disruptions

Chaos Chaos is the web service which can feed Navitia with real-time disruptions. It can work together with Kirin which can feed Navitia with real-tim

KISIO Digital 7 Jan 07, 2022
A continuation Of Project Glow By @glowstik-yt

Project Glow Greetings, I see you have stumbled upon project glow. Project glow is an open source bot worked on by many people to create a good and sa

1 Nov 17, 2021
Test reproducibility of leiden/umap on different systems

Demonstrate that UMAP and Leiden analysis is not reproducible between different cpu architectures.

Gregor Sturm 2 Oct 16, 2021
Utility to play with ADCS, allows to request tickets and collect information about related objects

certi Utility to play with ADCS, allows to request tickets and collect information about related objects. Basically, it's the impacket copy of Certify

Eloy 185 Dec 29, 2022
TMTC Commander Core

This commander application was first developed by KSat for the SOURCE project to test the on-board software but has evolved into a more generic tool for satellite developers to perform TMTC (Telemetr

robamu 8 Dec 14, 2022
Render to print for blender 2.9+

render_to_print_blender_addon ** render2print: Blender AddOn for Blender 2.90.0+ ** Calculates camera parameters to allow printing a rendered image to

5 Nov 19, 2021
The RAP community of practice includes all analysts and data scientists who are interested in adopting the working practices included in reproducible analytical pipelines (RAP) at NHS Digital.

The RAP community of practice includes all analysts and data scientists who are interested in adopting the working practices included in reproducible analytical pipelines (RAP) at NHS Digital.

NHS Digital 50 Dec 22, 2022
Two predictive attributes (Speed and Angle) and one attribute target (Power)

Two predictive attributes (Speed and Angle) and one attribute target (Power). A container crane has the function of transporting containers from one point to another point. The difficulty of this tas

Astitva Veer Garg 1 Jan 11, 2022
NeoInterface - Neo4j made easy for Python programmers!

Neointerface - Neo4j made easy for Python programmers! A Python interface to use the Neo4j graph database, and simplify its use. class NeoInterface: C

15 Dec 15, 2022
Ice Skating Simulator for Winter and Christmas [yay]

Ice Skating Simulator for Winter and Christmas [yay]

1 Aug 21, 2022