Skip to content

petterwildhagen/dcd

 
 

Repository files navigation

Digital Concept Development (DCD)

Codacy Badge Contributors Forks Stargazers Issues

Concept App, Digital Concept Application

  • Product owner: Atle Svandal
  • Business area: Early phase concept studies

Summary Description

The application supports collecting time series values for cost profiles for offshore facilities, exploration, drilling (well) and volume profiles for drainage stragegy and creating these as assets on business cases to be compared for projects.

Prerequisites

Frontend

The frontend is built using TypeScript and components from the Equinor Design System (EDS).

Run frontend

Before you can run the application, you need to copy .env.template (cp .env.template .env) and set the necessary values.

cd frontend
npm install
npm start

Backend

The backend is built with .NET 6

Run backend

Create a file backend/api/Properties/launchSettings.json with the provided template file. You need to populate the app configuration connection string (navigate to azure portal, find app configuration resource, navigate to settings -> access keys), and choose an AppConfiguration Environment (dev for local development at time of writing).

Finally, to be able to use secrets referenced in the app config, you need to authenticate yourself on the command line. Get a hold of the azure CLI az and run az login in the command line. NB: You will need to use a browser for the authentication, as far as I know.

Then, to start the backend, you can run

cd backend/api
dotnet run

Deployment

We have 4 different environments in use; dev, pr, qa and prod. Dev is built when PR's are merged to master. The pr env is built on push to the pr branch. The qa and prod environments are deployed with Azure Pipeline manually and when a new tag is created.

Development

Git Hooks

There are various git hooks provided in the git-hooks folder. Using these is voluntary. Various checks are performed that are also performed in CI. The intention is to shorten the development cycle and avoid pushing code that will not pass CI.

To use e.g. the pre-commit hook, copy the file pre-commit into .git/hooks/ in the project root, or (more elegant, as this will automate the hook automatically) link the script like such, running in the project root:

ln -s $PWD/git-hooks/pre-commit .git/hooks/pre-commit

The above requires having ln available.

Dependencies

The scripts rely on

- /bin/sh
- git
- dotnet
- basic *nix utils (grep, tail, awk, ...)

Team

DCD is developed by the It's a Feature team in TDI EDT DSD EDB. Development was started by the Shellvis team.

Architecture Diagrams

The following diagrams have been created using PlantUML.

System Context Diagram

System context diagram for the DCD application. SysContextDiagram

Container Diagram

Container diagram for the DCD application. SysContextDiagram

Access to application and data - UNDER CONSTRUCTION

Access Description Who How to check
Read Read all information in app All equinor employee AD group Equinor All Employee
Write/Update Insert new information in app AccessIT Role Developer Fusion
Delete Delete information from app AccessIT Role BOFH Fusion

About

Digital Concept Development

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 59.9%
  • TypeScript 37.2%
  • Bicep 2.2%
  • Shell 0.3%
  • Dockerfile 0.2%
  • CSS 0.1%
  • HTML 0.1%