Repository updated
Plattform Partizipatives Neophytenmanagement #zämesammle
Die Ausgangslage: Invasive gebietsfremde Arten nehmen in der Schweiz stetig zu. Heute werden 89 Pflanzen als invasive Neophyten eingestuft. Invasive Neophyten können die Biodiversität gefährden, die landwirtschaftliche Produktion beeinträchtigen und die Gesundheit von Mensch und Tier gefährden. Ein effizientes Neophytenmanagement ist deshalb von grosser Bedeutung, insbesondere auch im Hinblick auf den Klimawandel und die fortschreitende Globalisierung.
Das Problem: Ein flächendeckendes Neophytenmanagement ist sehr kosten- und arbeitsintensiv. Zudem ist das Neophytenmanagement eine Gemeinschaftsaufgabe. Jedoch können nicht alle GrundeigentümerInnen und Akteure die nötigen Arbeitskräfte und Ressourcen mobilisieren, um ein flächendeckendes Neophytenmanagement zu gewährleisten. Dies kann zu Frustrationen und Konflikten führen, gerade in der Landwirtschaft, wo es Schwellenwerte für gewisse invasive Neophyten gibt. Solche Konflikte kann es beispielsweise zwischen Nachbarn geben, aber auch zwischen grossen Akteuren wie beispielsweise der Verkehrsinfrastruktur und LandwirtInnen. Hier fehlt es an Koordination und Kommunikation. Ziel ist es deshalb, ein Instrument für ein ressourceneffizientes Neophytenmanagement zu schaffen, das die Koordination und Kommunikation zwischen verschiedenen Akteuren fördert.
Idee: Es soll eine Plattform geschaffen werden, die ein partizipatives Neophytenmanagement fördert. Die Plattform könnte Freiwilligeneinsätze koordinieren und LandwirtInnen ermöglichen, Hilfe bei der Bekämpfung von invasiven Neophyten anzufordern. Weiter könnte eine Plattform auch den Austausch von Erfahrungen und Informationsmaterial ermöglichen, die Kommunikation zwischen grossen Akteuren fördern und vieles mehr...
Initial setup
- Install .NET 7.0 SDK
- Install Node.js 20.11.1
Running the project
- Start the docker container with
docker compose up -d
- Run migrations with
dotnet ef database update
- Have fun!
User Roles
- Farmer: Manages land and requires help in dealing with invasive species
- Helper: Individuals or organizations that wish to help farmers in dealing with invasive species
Data models
User:
- Id:
- Role: One of [Farmer, Helper]
- Email: Email of the user
- Password: Hashed password of the user
- FirstName: First name of the user
- LastName: Last name of the user
FarmerHelpRequest: contains all details about the farmer's request for help
- Id:
- OwnerId: Reference to the User who created the offer
- Location: Address of the farm text local and coordinates (acquired from some external api)
- WorkVolume: The amount of work to be done in half day increments
- NumberOfHelpers: The number of people that the farmer is willing to welcome
- InvasiveSpeciesTypes: List of invasive species that the farmer wishes to remove
HelperHelpOffer: Contains all the details about the helpers offer to help farmers
- Id:
- OwnerId: Reference to the User who created the offer
- Location: Address around which the helper wishes to find work
- DistanceFromLocation: Distance in km within which the helper is willing to travel
- WorkVolume: The amount of work to be done in half day increments
- NumberOfHelpers: The number of people that the farmer is willing to welcome
Negotiation: Contains the status of a negotiation between a Farmer and a Helper
- Id:
- DateCreated: Date when the negotiation was created
- InitiatedByUser: Reference to the User who initiated the negotiation
- FarmerHelpRequest: reference to the FarmerHelpRequest subject to negotiation
- HelperHelpOffer: reference to the HelperHelpOffer subject to negotiation
- FarmerStatus: negotiation approval status on the side of the farmer one of [PENDING, ACCEPTED, REJECTED]
- HelperStatus: negotiation approval status on the side of the farmer one of [PENDING, ACCEPTED, REJECTED]
InvasiveSpeciesType:
- Id:
- Name: Name of the invasive species
- Description: Description of the invasive species
- ImageUrl: URL to an image of the invasive species
Project
Event finished
small documentation update (@Nicholas Greensmith)
STUB for the request offer map (@Nicholas Greensmith)
styles (@Nicholas Greensmith)
structure filter component (@Nicholas Greensmith)
example data and styling (@Nicholas Greensmith)
ease of debugging breakout (@Nicholas Greensmith)
fix display issue (@Nicholas Greensmith)
reenable the table component (@Nicholas Greensmith)
some more advancements (@Nicholas Greensmith)
Some basic pages added in (@Nicholas Greensmith)
Basic functionality on some of the controllers (@Nicholas Greensmith)
First steps cementing the basic logic (@Nicholas Greensmith)
Add SwaggerUI for easy debugging (@Nicholas Greensmith)
small doc update (@Nicholas Greensmith)
Wohoo database is set up now (@Nicholas Greensmith)
docker compose rename (@Nicholas Greensmith)
Some basic structures added chaotically (@Nicholas Greensmith)
no dev config (@Nicholas Greensmith)
basic structure for the .net react project (@Nicholas Greensmith)
Initial commit with data model description (@Nicholas Greensmith)
Joined the team
Project
Event started
Joined the team