Skip to content

Commit

Permalink
Merge pull request #201 from PnX-SI/dev
Browse files Browse the repository at this point in the history
Release 0.3.0
  • Loading branch information
lpofredc authored Feb 12, 2020
2 parents ec0bb72 + e7deca3 commit c3c8968
Show file tree
Hide file tree
Showing 112 changed files with 8,148 additions and 3,550 deletions.
10 changes: 7 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,11 @@ contrib/gnc_*
#FrontEnd config files
frontend/src/conf/*.ts

#Frontend custom files
frontend/custom/**/*.css
frontend/custom/**/*.html
frontend/custom/**/*.ico

# pipenv: comment when migrating from traditional pip+v(irtual)env
Pipfile
Pipfile.lock
Expand All @@ -252,8 +257,7 @@ media/
frontend/ssl

# Custom files
frontend/src/custom/custom.css
frontend/src/custom/images/*.png
frontend/src/custom/images/*.jpg
frontend/src/custom/*
!frontend/src/custom/**/*.template

data/tmp
23 changes: 9 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# GeoNature-citizen

Portail d'inventaire participatif de la biodiversité à destination du grand public ([**Démo**](http://51.83.46.49/citizen/home))
Portail d'inventaire participatif de la biodiversité à destination du grand public ([**Démo**](http://democitizen.geonature.fr)).

![logo](https://github.com/PnX-SI/GeoNature-citizen/raw/master/frontend/src/assets/logo.png)

Expand All @@ -9,14 +9,19 @@ Portail d'inventaire participatif de la biodiversité à destination du grand pu
**English:**

GeoNature-citizen is a free and Open Source web solution for citizen science projects for biodiversity data collection. It is fully customizable. Your platform may be a single or a multiple program and be based on existing or adoc list of species.

The data collection is gamified to improve the user management using badges and scores. It can also be customized to accept new user to be created or not.

It is based on a fully open Source stack from PostgreSQL to Angular.

**Francais:**

GeoNature-citizen est une solution web gratuite et à code source ouvert pour les projets de science citoyenne destinés à la collecte de données sur la biodiversité. L'outil est entièrement personnalisable. Votre plateforme peut être constituée d'un programme unique ou de plusieurs programmes de collecte et être basée sur une liste d'espèces existante ou adoc.

La collecte de données est ludifiée pour améliorer la gestion des utilisateurs à l’aide de badges et de scores. Elle peut également être personnalisée pour accepter que de nouveaux utilisateurs soient créés ou non.

Documentation : https://geonature-citizen.readthedocs.io

## Cas d'utilisation

- https://obs.mercantour-parcnational.fr
Expand All @@ -38,7 +43,7 @@ La collecte de données est ludifiée pour améliorer la gestion des utilisateur

* NodeJS 10
* Angular 8
* Leaflet
* LeafletJS
* Bootstrap 4.1

### Dépendances
Expand All @@ -47,20 +52,10 @@ GeoNature-citizen s'appuie sur [TaxHub](https://github.com/PnX-SI/TaxHub) pour l

## L'origine du projet

Ce projet est initialement développé pour répondre aux besoins de collectes participatives dans le cadre des démarches d'atlas de biodiversité communal/territorial (ABC/ABT).
Ce projet est initialement développé pour répondre aux besoins de collectes participatives dans le cadre des démarches d'atlas de biodiversité communal/territorial (ABC/ABT).
La première version de ce projet est le fruit d'une démarche mutualisée entre différents projects :
* Projet d'Atlas de biodiversité de territorie de [Valence Romans Agglo](http://www.valenceromansagglo.fr/fr/index.html), en partenariat avec la [LPO Auvergne-Rhône-Alpes](https://auvergne-rhone-alpes.lpo.fr/).
* Projets d'inventaires participatifs du [Parc national du Mercantour](http://www.mercantour-parcnational.fr/fr) et du [Syndicat Mixte pour la gestion et la protection de la Camargue Gardoise](https://www.camarguegardoise.com/), avec une réalisation par [NaturalSolutions](https://www.natural-solutions.eu/).
* Projets d'inventaires participatifs du [Parc national du Mercantour](http://www.mercantour-parcnational.fr/fr) et du [Syndicat Mixte pour la gestion et la protection de la Camargue Gardoise](https://www.camarguegardoise.com/), avec une réalisation par [Natural Solutions](https://www.natural-solutions.eu/).

Il constitue l'une des briques du projet GeoNature, porté par les [Parcs nationaux de France](http://www.parcsnationaux.fr/fr) et bénéficie de l'appui technique du [Parc national des Ecrins](http://www.ecrins-parcnational.fr/).

## Captures d'écran


![Screen Shot 2019-11-20 at 09 44 19](https://user-images.githubusercontent.com/22891423/69222731-5b115680-0b7a-11ea-8cc7-095d9258f8cd.png)

![Screen Shot 2019-11-20 at 09 39 57](https://user-images.githubusercontent.com/22891423/69222565-05d54500-0b7a-11ea-97fa-d03545d617b9.png)

![Screen Shot 2019-11-20 at 09 40 37](https://user-images.githubusercontent.com/22891423/69222574-08379f00-0b7a-11ea-8d25-2bcaeef1e957.png)

![Screen Shot 2019-11-20 at 09 41 28](https://user-images.githubusercontent.com/22891423/69222578-0968cc00-0b7a-11ea-8d4c-7f90175c0cf7.png)
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.2.0
0.3.0
17 changes: 16 additions & 1 deletion backend/gncitizen/core/badges/routes.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ def get_rewards(id):
}
)
total_obs = total_obs + item.nb_obs
print('total_obs',total_obs)
taxon_classe_query = ObservationModel.query.filter(
ObservationModel.id_role == id).outerjoin(
Taxref, Taxref.cd_nom == ObservationModel.cd_nom
Expand Down Expand Up @@ -156,3 +155,19 @@ def monthdelta(d1, d2):
else:
break
return delta


@routes.route("/stats", methods=["GET"])
@json_resp
def get_stat():
try:
stats = {}
stats["nb_obs"] = ObservationModel.query.count()
stats["nb_user"] = UserModel.query.count()
stats["nb_program"] = ProgramsModel.query.filter(ProgramsModel.is_active == True).count()
stats["nb_espece"] = ObservationModel.query.distinct(
ObservationModel.cd_nom).count()
return (stats, 200)
except Exception as e:
current_app.logger.critical("[get_observations] Error: %s", str(e))
return {"message": str(e)}, 400
8 changes: 4 additions & 4 deletions backend/gncitizen/core/commons/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,17 +44,17 @@ def taxonomy_lists():
else:
from gncitizen.utils.env import taxhub_lists_url
rtlists = requests.get(taxhub_lists_url)
current_app.logger.warning(rtlists)
#current_app.logger.warning(rtlists)
if rtlists.status_code == 200:
try:
tlists = rtlists.json()["data"]
current_app.logger.debug(tlists)
#current_app.logger.debug(tlists)
for tlist in tlists:
l = (tlist['id_liste'], tlist['nom_liste'])
taxonomy_lists.append(l)
except Exception as e:
current_app.logger.critical(str(e))
current_app.logger.debug(taxonomy_lists)
#current_app.logger.debug(taxonomy_lists)
return taxonomy_lists


Expand Down Expand Up @@ -85,7 +85,7 @@ def is_accessible(self):
ctx_stack.top.jwt_user = user

current_user = get_jwt_identity()
is_admin = UserModel.query.filter_by(username=current_user).one().admin
is_admin = UserModel.query.filter_by(email=current_user).one().admin
return current_user and is_admin
except Exception as e:
current_app.logger.critical("FAULTY ADMIN UI ACCESS: %s", str(e))
Expand Down
2 changes: 0 additions & 2 deletions backend/gncitizen/core/commons/routes.py
Original file line number Diff line number Diff line change
Expand Up @@ -241,14 +241,12 @@ def post_program():
try:
newprogram = ProgramsModel(**datas2db)
except Exception as e:
print(e)
raise GeonatureApiError(e)

try:
shape = asShape(request_datas["geometry"])
newprogram.geom = from_shape(MultiPolygon(shape), srid=4326)
except Exception as e:
print(e)
raise GeonatureApiError(e)

db.session.add(newprogram)
Expand Down
Loading

0 comments on commit c3c8968

Please sign in to comment.