Skip to content

IT2901-SINTEF01/backend

Repository files navigation

Open Data Visualisation Platform – Backend

.NET Open issues Apache 2 License Latest Release codecov Codacy Badge

SINTEF

This repository contains the backend for the "Open Data Visualisation Platform" developed in collaboration with SINTEF. You may find the frontend here. Providing a GraphQL interface, it will supply the frontend with data from various open data sources as well as attached metadata for the data to simplify the visualisation of the raw data. Consult the releases page to get a local, stable copy of the service.

Overview

The backend is built on ASP.Net Core with GraphQL.Server and written in C#. Refer to the wiki for more information such as architecture and structure.

Quick setup with Docker

Refer to the wiki page for more information;

You can run the project in production mode (making actual requests to the APIs) with.

This pulls the latest stable build (released with a tag):

docker pull ghcr.io/it2901-sintef01/backend:latest
docker run -e DATABASE__MONGODB_ATLAS__URL=... -p 5000:80 ghcr.io/it2901-sintef01/backend:latest

Development

Refer to the .editorconfig file for code style setup.

The initial development team use Rider for development.

If you wish to use a MongoDB server, add it's URI to an environment variable named:

DATABASE__MONGODB_ATLAS__URL=...

Either in a .env file or with environment variable in a terminal session.

Running

You can run the project with

dotnet run

Visit the GraphQL playground at https://localhost:5001/ui/playground.

Testing

Run the test suite with

dotnet test

License

Copyright 2021 SINTEF AS

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.