A service for the former Department for Business, Energy and Industrial Strategy (BEIS) to manage their internal performance and risk reporting process. This has now been moved to the Dept of Energy Security and Net Zero. Staff use the service to report their directorate's status, progress on projects and deliverables, and risk management.
This solution contains the following projects:
- corporate-reporting - A SharePoint Framework (SPFx) solution that provides the user interface for business users
- CorporateReportingDB - A database project containing the SQL scripts for the Corporate Reporting database
- ORB.API - A .NET Core API service that handles user access to the data store
- ORB.Core - Data models, interfaces etc for the ORB solution
- ORB.Data - Data access layer with repositories that apply user permissions
- ORB.Functions - Azure Functions that send reminder emails on a schedule
- ORB.Services - Service layer containing business logic for the application
- ORB.Services.Tests - Unit tests for the service layer
The deployment folder contains scripts to provision Azure resources for deployments to test, refbuild and production. Following the instructions below to build and run the platform on a development machine.
To build, run and support the platform you need staff with the following technical knowledge.
- Frontend ( SharePoint general usability, developing and deploying SharePoint web parts, Typescript, React, MS Visual Studio Code, Node JS, NPM, Postman, PowerBI & Gulp )
- Backend ( C#, Visual Studio, Azure APIs, Azure Functions, Azure AD, Azure SQL and .Net 6 )
- DevOps (Microsoft DevOps, PowerShell, SharePoint PnP and Git)
- Sector (Corporate Projects Management, Corporate risk management)
To successfully run the application, ensure you have the following software and SDK installed:
- .NET Core 6.0 SDK
- Visual Studio 2022 or Visual Studio Code
- SQL Server Management Studio 2016+
- SharePoint Framework development environment, including tools like Node.js, Gulp, Yeoman, and the Yeoman SharePoint generator. For detailed instructions, refer to: Set up your development environment
The application consists of the following major components:
- Web API
- SharePoint client web part
To run the Web API, follow the steps below.
- Open ORB.sln to open the solution in your Visual Studio.
- The CorporateReportingDB project contains all the necessary database scripts. Set up your local database using these scripts.
- ORB.API is the main Web API project. Before running the API configure appsettings.json using details below.
- Set the database connection string ConnectionStrings.
- Set SharePoint site URL CorsOrigin.
- Configure AzureAd settings (Instance, TenantId, ClientId, and Audience). To do this, go to portal.azure.com, navigate to Azure Active Directory, and register a new app for your API. Obtain the TenantId, ClientId, and Audience from your app registration. For the Instance value, you can use "https://login.microsoftonline.com".
- After configuring these settings, insert the first user into your database in the Users table.
- You can now run the Web API. Simply run the ORB.API project.
To run the SharePoint client web part, follow the steps below.
- Inside the main folder, you'll find a folder named "corporate-reporting" which contains your SharePoint client web part.
- Open this folder in Visual Studio Code.
- Open the command prompt/terminal and run
npm i
to install all the required Node packages. - Open Config/serve.json and set
initialPage
to[your_sharepoint_site_url]/_layouts/15/workbench.aspx
. - Run the command
gulp serve
to start the workbench, and it will open the URL mentioned in the previous step in your browser. - Add the web part (ORB) by clicking the "+" icon on your workbench page.
- Set the App ID URI and API URL. You can obtain the App ID URI from your app registration, and the API URL is your Web API URL ending with "/odata" (e.g., http://localhost:61000/odata).
- Apply the changes, and you are ready to go. Enjoy!