TODO: Give a brief description of the app. Explain the high level goals and the main features.
TODO: Make sure you adjust or augment the information that is provided by default in this document. e.g. If you decide to change the solution structure, you should mention it in the Solution Structure section.
This repository was generated using the nventive Mobile Template.
- Version: {{app-template-version}}
- Commit: {{app-template-commit-short-sha}}
- Date: {{app-template-commit-date}}
View the template changes since the generation of this project.
All development is expected to be done from Visual Studio in a Windows environment.
- .NET 8
- Visual Studio 2022 (17.4 and above)
- We recommend validating your components using this Uno guide.
- For mobile development, MAUI workloads are required.
- You can install them using
uno-check
.
- You can install them using
- For local iOS compilation and debugging, you need access to Mac with Xcode 14.2 (more recent versions may work too).
💡 You'll need an Apple provisioning profile to start your application.
The pipelines (for continuous integration, testing, and delivery) of this project are made for Azure Pipelines.
If you're unfamiliar with Azure Pipeline, you should at least read about the following topics.
- You need an Azure DevOps organization project with Pipelines enabled.
- You can follow this guide for more details.
- For compilation, access to the the following Microsoft-hosted agents is required.
windows-2022
macOS-13
- For deployment, access to Mac agents with the following capabilities is required.
fastlane 2.212.1
Folder or File | Description |
---|---|
.azuredevops/ |
Used to store the pull request template used by Azure DevOps. |
build/ |
Regroups all yaml files used that compose the pipelines defined in .azure-pipelines.yml . |
build/gitversion-config.yml |
Contains the configuration for the GitVersion tool that is used to compute the version number in the pipelines. |
.azure-pipelines.yml |
Defines the main CI/CD pipeline of the project. |
.azure-pipelines-canary.yml |
Defines the canary pipeline of the project. Canary pipelines allow to detect regressions by periodically creating versions of the app in which all the dependencies are updated to their latest version. |
doc/ |
Regroups all the documentation of the project, with the only exception of README.md , which is located at the root of the repository.There are many topics covered. Make sure you check them out. |
README.md |
The entry point of this project's documentation. |
src/ |
Contains all the code of the application, including tests, with the exception of the configuration files located at the root of the repository. |
src/{YourProjectName}.sln |
The solution file to use with Visual Studio to develop locally. |
.editorconfig & stylecop.json |
Configure the code formatting rules and analyzers of Visual Studio. |
.gitignore |
Contains the git ignore rules. |
Directory.Build.props |
Regroups build configuration that apply to all .csproj . |
nuget.config |
Contains the configuration for NuGet packages. |
tools/ |
Offers a place to put custom tools and scripts. It also contains some information about the version of the template that was used to generate the project. |
The software architecture of the application is documented in the Architecture.md document. It covers things like the application context, the functional overview, the application structure, the solution structure, the recipes, and more.
This project uses Azure Pipelines to automate some processes. They are described in details in AzurePipelines.md.
TODO: Fill the following table with your own pipelines.
Link | Code Entry Point | Goal | Triggers |
---|---|---|---|
Name of Main Pipeline | .azure-pipelines.yml |
Build validation during pull request. | Pull requests. |
Name of Main Pipeline | .azure-pipelines.yml |
Build and deploy the application to AppCenter, TestFlight, and GooglePlay. | Changes on the main branch.Manual trigger. |
Name of API Integration Tests Pipeline | .azure-pipelines-api-integration-tests.yml |
Run all tests, including APIs integration tests. | Daily cron job. Manual trigger. |
Name of Canary Merge Pipeline | build/canary-merge.yml |
Creation of canary branches (canary/build/* ). |
Daily cron job. |
Name of Canary Pipeline | .azure-pipelines-canary.yml |
Build and deploy canary versions of the app to AppCenter and TestFlight. | Upon creation of branches with the canary/build/* pattern. |
TODO: Add any other relevant information. e.g. You could link to your Definition of Done, more documentation, UI mockups, etc.