The Federal Food Safety and Veterinary Office (FSVO) of Switzerland provides the database infoSM (= information system for cases of notifiable diseases) which contains information on all outbreaks of notifiable animal diseases in Switzerland since 1991. More information about infoSM can be found here.
This application visualizes the data and allows its users to search and filter the contents. The application impelmented by Research Center for Digital Sustainability of the University of Bern, together with the Linked Data company Zazuko.
All data is stored as RDF Linked Data Tripples. The data is provied by FSVO and can be accessed over a SPARQL API created by Zazuko. You can use a query Web-GUI to test new queries and explore the data on your own.
The live application is hosted by the company Begasoft. If you find problems in the source code please open a GitHub issue.
This project uses an slim Express.js backend. The frontend is powered by the Angular SPA Framework. You are welcome to contribute to code improvements by submitting pull-requests of your suggested changes.
Since the config for development is not under version control, please add the following file: ./config/devConfig.js with the content:
module.exports = {
use_cors: false,
port: 5000,
}
In case you extend the app with any sensitive information like passwords or API keys you should store these production config values as environment variables on your Node.js server.
Install the backend dependencies with npm install
and start up the node server on port 5000 by running npm start
.
After navigating to ./angular and running npm install
, run ng serve
to start-up the frontend on http://localhost:4200/. The app will automatically reload if you change any of the front-end files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build --prod
in the ./angular directory to build the project. The build artifacts will be stored in the ./dist/ directory.