Skip to main content

logo

A tool for building semantically supported facility data!

build statuscontributorslast updateopen issueslicensereleasesDocker client versionDocker server version

Report a bug or register a feature


Introduction

Mimir is currently not in active development. This documentation is primarily meant as a guide for potential new developers to start active development again, and to inform about the current state of the code base, as well as future plans for development that the previous team had.

🌟 About the Project

👾 Tech Stack

Client
Server
Database
DevOps

🔑 Environment Variables

Client

To set environment variables for client in development, edit the .env file. For production build, you have to set the environment variables into the container itself. You can override the .env with a .env.local file. This file is not included in git repo.

REACT_APP_API_BASE_URL - Url to backend server

REACT_APP_SOCKET_BASE_URL - Url to backend server used with websocket connection

REACT_APP_APP_ID - Application id of server app registration in Azure AD

REACT_APP_CLIENT_ID - Application id of client app registration in Azure AD

REACT_APP_TENANT_ID - Azure tenant

REACT_APP_MIMIR_VERSION - The Mimir version number

REACT_APP_APP_INSIGHTS_CONNECTION_STRING - Application insight connection string

REACT_APP_SILENT - Turn off MSAL connection

If you are running the server locally then the values will most likely be

// where x and y = api version
REACT_APP_API_BASE_URL = http
://localhost:5001/v{x}.{y}/
REACT_APP_SOCKET_BASE_URL = http
://localhost:5001/
REACT_APP_APP_ID = xxxxxxxx - xxxx - xxxx - xxxx - xxxxxxxxxxxx
REACT_APP_CLIENT_ID = xxxxxxxx - xxxx - xxxx - xxxx - xxxxxxxxxxxx
REACT_APP_TENANT_ID = xxxxxxxx - xxxx - xxxx - xxxx - xxxxxxxxxxxx
REACT_APP_MIMIR_VERSION = 2.0
REACT_APP_APP_INSIGHTS_CONNECTION_STRING = InstrumentationKey = xxxxxxxx - xxxx - xxxx - xxxx - xxxxxxxxxxxx;
...
REACT_APP_SILENT = false
Server

To set environment variables for server in development, edit the appsettings.json file. For production build, you have to set the environment variables into the application container itself. You can override the appsettings.json with a appsettings.local.json file. This file is not included in git repo.

ASPNETCORE_ENVIRONMENT - Set .NET core environment

ApplicationSetting__CollaborationPartner__Name - Name of default collaboration partner ex. Mimirorg

ApplicationSetting__CollaborationPartner__Domain - Domain of default collaboration partner ex. mimirorg.com

ApplicationSetting__CollaborationPartner__Iris__0 - RDF domain of collaboration partner, e.g. rdf.mimirorg.com

ApplicationSetting__TypeLibraryRootUri - The root uri to Type Library

ApplicationSetting__TypeLibraryVersion - The version used by Type Library

ApplicationSetting__TypeLibrarySecret - The secret registered in Type Library. Used to identify and registered hooks

ApplicationSetting__TypeLibraryDomain - The type library domain

AzureActiveDirectoryConfiguration__TenantId - Azure tenant

AzureActiveDirectoryConfiguration__ClientId - Application id of Server application in Azure AD (app registration)

AzureActiveDirectoryConfiguration__Silent - Set authentication and authorisation in silent demo mode

CorsConfiguration__ValidOrigins - Comma separated string of valid origins for CORS. E.g. http://localhost:3000,https://mimirorg.com

DatabaseConfiguration__DataSource - Identifier for database server

DatabaseConfiguration__Port - Port of database server. E.g. 1443

DatabaseConfiguration__InitialCatalog - Database name

DatabaseConfiguration__DbUser - Server application database username, must be db owner on given catalog

DatabaseConfiguration__Password - Server application database password

Prerequisites

This project uses .NET 6 for the server and NPM as package manager for the client, make sure that you have these installed before continuing. Mimir has dependency on Type Library Service, so you also need to clone that project for development purposes. Clone that project as well if not running on external server. You also need a MSSQL database running on your machine. See docker-compose for running sql in docker. Check out the setup page for more information on getting started.

👋 Contributing

We welcome community pull requests for bug fixes, enhancements, and documentation. See How to contribute for more information.

📜 Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.

🤝 Contact

Mimir-org - orgmimir@gmail.com

Project Link: https://github.com/mimir-org/mimir

License

MIT License

Copyright (c) 2022 mimir-org

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.