The funtionality shall be available to other applications - developped internally as well by external providers. You need to provide a simple API documentation (OpenAPI) as well as the possibility to test the API without custom implementation. The type of API integration shall be provided to the function in a stable way. There is already one concrete requirement that one external integration shall exchange the data XML-formatted instead of standard JSON.
API Management
Provide search functionality to the pre-existing function. Optionally you may include:
How can you consider similarities? How can you score or use scoring to qualify results? Examples:
You may further extend application-logic with type-ahead/autosuggest functionality in the search-box. Another interesting functionality could be the extraction of intends from the search input. So if the user enters e.g. “define skill” the application opens the according functionality instead of displaying search results.
Cognitive Search (with Skills), LUIS
Integration in Frotend-application is optional (it is completely okay to just demonstrate functionality and concepts on API or Search Explorer).
Implement a data storage concept which allows the dynamic definition of properties for projects and users (in an optimized way). This shall also include the optimiced storage of document attachements. Additionally you may provide a basis implementation for a simple “media library” of project contents.
Cosmos DB
The application needs an appropriate management of its users. It shall as much as possible be separated form the application itself. Provide a management solution with some test accounts as well as a basic integration into the application which shows the concept for data-linking and authorization functionality (roles).
AD B2C
The authentication process with the Frotend-application should work, but its not required to integrate user data in the Frontend (e.g. profile or sign-out functionality).
The application shall integrate other systems and data sources to provide valueable predefined content for users which simplifies usage. The idea is to have a reference implementation to show how this can be achieved in a simple and easy maintainable way. There are two concreate ideas for this (you can implement one or both):
Function with Graph-Binding, Logic App, Data Factory Pipeline
D05
)\<base-url>/sites/solutions-hub/SitePages/Alle-Projekte.aspx
There are two scenarios for asynchronous data processing:
Event Grid, Functions/Logic Apps, Content Moderator, Bing Entity Search, Bing Spell Check, SendGrid Account
(none)
As a business requirement all changes on entities must be tracked so a complete history could be made available.
Furthermore external systems must have a possibility to react on some key events such as creation or deletion of an entity (at best filterable to particular types). Such subscriptions shall be triggered as immediately as possible and be properly manageable. Potential interfaces could be:
Event Grid, Service Bus, Functions/Logic Apps
(none)
The provisioning of the Demo UI (as Angular-based Single Page Application) with the capabilities of the Storage Account lacks the support of client side routing functionality. As soon as a sub-route is established, the application cannot be reloaded anymore. As this is a crucial functionality (e.g. to share links) a solution is needed to resolve this problem. Additionally you may provide a solution to use a custom domain or subdomain to access the application.
CDN, DNS Zone
It is foreseen to massively extend the application with additional services implemented with specific Function Apps. To support this, a solution for central, stable management of business configurations is required. This should also include the concept of Feature Toggles
.
Provide a solution which allows the activation/deactivation of some functionality (e.g. search functionality). Integration into Frotend-application is optional.
App Configuration
The application shall be extended with notification functionaly to shows news of e.g. finished asynchronous tasks or messages to user.
Provide a solution to consume such notifications for the current user in an efficient way (i.e. polling should be avoided).
SignalR Service
Look at the current application as it is part of a bigger landscape with many similar application. A central solution to ingest all relevant application data shall be implemented. Provide a base implementation which shows the relevant concepts for ingestion and direct analytics.
Azure Synapse Workspace
The data managed within the application shall be directly available to Power Apps and Power Automate implementations. To prevent additional license costs, the integration shall be done using Microsoft Dataflex (previously known as Common Data Service (CDS) consisting of data structures defined with Common Data Model definitions).
Microsoft Dataflex (aka Common Data Service)
As Microsoft Teams is becoming the central platform for employee application, a reference integration shall be provided.
The goal is to view the current Frontend-application (or a simplified rebuild using another technology) as an App in Teams. At best the user authentication can be linked with a SSO experience and upcoming notifications in the application are transmitted also to the Teams integration.
(none)
Progressive Web App (PWA)
The vision is to provide frontend applications as more simple Micro Frontends
. Single parts of the current application shall be provided as independent modules with an independent technology stack (e.g. Vue.js, Blazor).
Provide a simple reference implementation of such a module (e.g. management of technologies) with an independent, lightweight provisioning.
Static Web Apps
To provide an immediate available of the Frontend-application on the initial load, so called Static Site Generators
have been discussed. There is an idea to load initially a very lightweight, static page (aka Jamstack
) while loadind and materializing the SPA components in the background.
Provide a simple reference implementation which demonstrates the functionality.
It is not required that this bases on the current Frontend-application or any specific technology.
(none)
(none)
As there are bunch of similar Frontend-applications planned, a system/solutions which allows the easy reuse of single components could be valuable.
Provide a simple reference implementation which show how components can be defined and reused. At best this is integrated in a continous integration/delivery process which also handles versioning and update functionality.
It is not required that this bases on the current Frontend-application or any specific technology.
(none)
The company has a growing number of web applications and is struggling to maintain a consistent styling and look&feel of all those applications. The idea is to somehow build a design system
which beside a living style guide also provides a way to centrally manage CSS styles/themes wich are directly applied by applications.
Provide a simple reference implementation which show how CSS styles can be managed outside of the application scope and applied by the application in a stable and managed way. At best this is integrated in a continous integration/delivery process which also handles versioning and update functionality.
It is not required that this bases on the current Frontend-application or any specific technology.
(none)
Brand Management Software
such as e.g. Frontify. It may improve customer acceptance if style definitions can be completely managed and controlled in such a systemFor improved error analysis but mainly to generate comprehensive business insights, relevant events occurring in the Frontend-application shall directly be logged to the Application Insights
already set up and used by the Azure services.
Depending on the data available, the logging shall include context information (e.g. user identity, device information) to enable the pre-build usage analysis in Application Insights
.
Application Insights