https://github.com/reacture/foxoffice
Sample application demonstrating how to build a distributed cloud .NET Core application based on CQRS and Event Sourcing.
https://github.com/reacture/foxoffice
azure-functions cosmos-db cqrs domain-driven-design event-driven event-sourcing message-driven
Last synced: 4 months ago
JSON representation
Sample application demonstrating how to build a distributed cloud .NET Core application based on CQRS and Event Sourcing.
- Host: GitHub
- URL: https://github.com/reacture/foxoffice
- Owner: Reacture
- License: mit
- Created: 2018-10-28T12:53:32.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-10-29T14:07:30.000Z (over 7 years ago)
- Last Synced: 2025-04-07T06:01:43.984Z (10 months ago)
- Topics: azure-functions, cosmos-db, cqrs, domain-driven-design, event-driven, event-sourcing, message-driven
- Language: C#
- Homepage:
- Size: 964 KB
- Stars: 44
- Watchers: 10
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FoxOffice
**CQRS Sample Program**
This sample program shows how to build a distributed cloud .NET Core application based on CQRS and Event Sourcing.

## Architecture

## How to execute the applications locally
### Install and run Azure storage emulator and Cosmos DB emulator
- [Azure storage emulator](https://docs.microsoft.com/en-us/azure/storage/common/storage-use-emulator)
- [Cosmos DB emulator](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator)
### Create a local settings file for the function app
Create `local.settings.json` file in the directory `./source/FoxOffice.Processor` to execute the function app on local machine.
```json
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet"
},
"ConnectionStrings": {
"Storage": "UseDevelopmentStorage=true"
},
"Messaging": {
"Storage": {
"QueueName": "messages"
}
},
"Domain": {
"Storage": {
"EventStoreTableName": "FoxOfficeEventStore"
}
},
"ReadModel": {
"CosmosDb": {
"Endpoint": "https://localhost:8081",
"AuthKey": "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==",
"DatabaseId": "FoxOfficeDatabase",
"CollectionId": "FoxOfficeCollection"
}
}
}
```
### Open the solution
Open the solution `./source/FoxOffice.sln` in Visual Studio.
If Visual Studio is not installed on your local machine you can download Visual Studio community edition [here](https://visualstudio.microsoft.com/downloads/). It's free for students, open-source contributors, and individuals.
### Set startup projects
1. Select the menu **'Project'** **>** **'Set Startup Projects...'**.
1. Select **'Multiple startup projects'** radio button.
1. Select Action of **'FoxOffice.Processor'** to **'Start'**.
1. Select Action of **'FoxOffice.Api'** to **'Start'**.
1. Select Action of **'FoxOffice.Admin'** to **'Start'**.
### Start debugging
Select the menu **'Debug'** **>** **'Start Debugging'**.