Website openantrag.de
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Kristof Zerbe 1fcec5e3e5 OpenAntrag 7 years ago
OpenAntrag OpenAntrag 7 years ago
OpenAntragLib Initial (Umzug von openantrag.codeplex.com) 7 years ago
.gitignore Additional Files von Initial 7 years ago
LICENSE Initial commit 7 years ago
README.md Update README.md 7 years ago

README.md

OpenAntrag

Quellcode der Website openantrag.de

Über das Portal OpenAntrag können Bürger über Fraktionen oder Einzelabgeordnete der Piratenpartei ihre Ideen und Wünsche einbringen.

Das Portal ist realisiert für:

Deutschland (openantrag.de. open-antrag.de) Das Projekt wurde mit ASP.NET MVC umgesetzt. Als Datenbank kommt RavenDB zum Einsatz.

Um das Projekt lauffähig zu bekommen sind weitere Komponenten bzw. Dateien notwendig:

RavenDB

Als Backend kommt die NoSQL-Datenbank RavenDB zum Einsatz. Alle Objekte werden automatisch persistiert. Nach Installation von RavenDB und Anlegen einer 'OpenAntrag'-Datenbank ist lediglich die Anlage eines fixen Dokuments notwendig:

ProposalTags-1

{
 "Items": [],
 "CreatedAt": null,
 "CreatedBy": null,
 "Timestamp": 0
}

Dieses Dokument nimmt alle verfügbaren Themen (Schlagworte) auf und verknüpft sie mit den Anträgen (Proposals).

Dateien

web.config

Nicht im Source-Code enthalten ist die web.config des Projekts, da sie in den AppSettings Logins und API-Keys enthält. Muster

Roles.xml / Users.xml

Die Authentifizierung basiert auf den ASP.NET Xml Security Providers. Hierzu werden im Ordner \App_Data diese beiden XML-Dateien benötigt.

representation.xml

Alle verfügbaren Parlamente werden in dieser Datei unter \App_Data angelegt, die folgende Struktur hat:

<?xml version="1.0" encoding="utf-8" ?>
	<representations>
		<item id="999" key="testparlament" status="0" api-key="..."
  			  label="Test" color="#999" 
  			  name="Test-Parlament" name2="Parlament (Test)"
  			  level="4" federal="" map-url=""
  			  group-type="1" group-name="Test"
  			  link=""
  			  phone="" twitter=""
  			  mail="test@mail.de"
  			  info-mail="test@mail.de">
			<representatives>
	       		<item id="1" key="hans-mustermann" name="Hans Mustermann"
	     			  mail="" phone="" twitter=""
	     			  twitter=""
	     			  party="Piratenpartei" />
			</representatives>
	       	<committees>
	     		<item id="" key="" caption="" name="" url=""></item>
	       	</committees>
			<process>
	     		<step id="1" def="eingang" 
	       			  caption="Eingang des Antrags"
	       			  short-caption="Antragseingang">
					<next>
	     		<step id="2" />
	       			</next>
	     		</step>
	     		<step id="2" def="pruefung" 
	       			  caption="Antrag in Prüfung" 
	       			  short-caption="Antrag in Prüfung">
	       			<next>
	     		<step id="3" />
	       			</next>
	     		</step>
				...
	     		<step id="..." def="erledigt" success-story="true" 
					  caption="Antrag erledigt" 
	       			  short-caption="Antrag erledigt">
	       			<next />
	     		</step>
   			</process>
   		</item>
	</representations>
Feld Bedeutung
item.id eindeutige fortlaufende Nummer des Parlaments
item.key eindeutiger Schlüssel für das Parlament
item.label Name der Region (Stadt, Kreis, Land)
item.color individueller Farb-Code
item.name Name des Parlaments
item.name2 Name des Parlaments mit vorangestelltem Namen der Region
item.level Regierungsebene (Schlüssel auf GovernmentalLevels.xml)
item.federal Bundesland (Schlüssel auf FederalStates.xml)
item.map-url Link über http://geojson.io (Daten aus piratenmandate-frontend)
item.group-type Gruppentyp (Schlüssel auf GroupTypes.xml)
item.group-name Gruppenname
item.link Website-Link der Gruppe
item.phone Telefonnummer der Gruppe
item.mail Mail-Adresse der Gruppe
item.info-mail Info-Mail-Adresse der Gruppe (Versand der Benachrichtigungen)
item.representatives.id eindeutige fortlaufende Nummer des Mandatsträgers innerhalb des Parlaments
item.representatives.key eindeutiger Schlüssel für den Mandatsträger innerhalb des Parlaments
item.representatives.name Name des Mandatsträgers
item.representatives.mail Mail-Adresse des Mandatsträgers
item.representatives.phone Telefonnummer des Mandatsträgers
item.representatives.twitter Twitter-Account des Mandatsträgers
item.representatives.party Partei des Mandatsträgers
item.committees.id eindeutige fortlaufende Nummer des Ausschusses innerhalb des Parlaments
item.committees.key eindeutiger Schlüssel für den Ausschuss innerhalb des Parlaments
item.committees.caption Kurzname des Ausschusses
item.committees.name vollständiger Name des Ausschusses
item.committees.url Link zum Ausschuss (Ratssystem)
item.process.step.id eindeutige fortlaufende Nummer des Antragsschritts innerhalb des Parlaments
item.process.step.def Definion des Antragsschritts (Schlüssel auf ProcessStepDefinitions.xml)
item.process.step.caption Kurzname des Antragsschritts (überschreibt den Kurznamen aus der Definition)
item.process.step.short-caption Name des Antragsschritts (überschreibt den Namen aus der Definition)