Skip to content

Latest commit

 

History

History
107 lines (70 loc) · 2.79 KB

README.md

File metadata and controls

107 lines (70 loc) · 2.79 KB

GeoCam - a web application enabling users to manage their camera traps data

GeoCam is an open-source web application that aims to facilitate biodiversity studies that use autonomous data collection devices such as camera traps. This web-application is in development and offers several features that meet the needs of biodiversity stakeholders:

  • project management: to delimit the studies according to their context
  • management of study sites: to identify spatial scope
  • device management: to specify technical characteristics of the tools used in the field and their availability
  • deployment management: to characterize spatio-temporal limits of data acquisition
  • media management: to standardize and optimize the storage of collected data
  • media processing: to enable the addition of annotations to the raw data

We would be delighted if you use it, or even contribute in its development.

A demo is available here. Don't hesitate to try it out!


Documentation (in french for now): GeoCam documentation


Installation

Cloning

Clone this project using git

Go inside the directory generated

Since this app has not been released yet, no commits are available on main branch. Switch to dev branch:

git checkout dev

Settings

Copy the .env.sample inside the docker directory to .env:

cp docker/.env.sample docker/.env

Edit freely this .env file to change credentials for instance.

Launching

Docker and docker-compose must be installed on the server/machine. Then:

./scripts/docker.sh up -d

App will run on http://localhost:8889/ but the port of each service will be avaible to debug.

Sample data

Sample data can be generated by using the following command:

./scripts/docker.sh exec api python -c "from src.connectors.database import init_db; init_db()"

Development

Launch backend tests

Tests are written with pytest and can be launched with the following command:

./scripts/docker.sh exec api pytest tests --cov-report html:/home/app/src/htmlcov --cov=src

The default config assumes that the backend is accessing the database through the docker network (via "db" adress) which prevents backend tests from being run locally (outside a container).

API/backend documentation

The openapi documentation accessible via swagger is available here:

http://localhost:8889/api/v1/docs

GeoCam app documentation (in french for now)

The documentation is generated with mkdocs and is exposed on port 8133 to be able to work on it with automatic reloading.

http://localhost:8133

Planned work

  • Use AI to help treating media on the fly
  • Use keycloak to manage users and their rights
  • Many other things!