EventsSourcing-on-Azure-Functions
A library to demonstrate doing Event Sourcing as a data persistence mechanism for Azure Functions
File Explorer
Download Latest Version (.zip)- dotnet.yml
- 100 events warm.PNG
- 25 events warm.PNG
- 5 events warm.PNG
- bank account - create new - already exists.PNG
- bank account - create new - success.PNG
- bank account - deposit money account exists.PNG
- bank account - deposit money failed account does not exist.PNG
- bank account - get balance for an account that does not exist.PNG
- bank account - get balance that exists.PNG
- bank account - withdraw money concurrency failure.PNG
- bank account - withdraw money failure.PNG
- bank account - withdraw money success.PNG
- cheap and cheerful computing.png
- event stream in table.PNG
- get balance remote cold start.png
- get balance remote.png
- storing state in event streams.png
- wrapped_event.png
- .gitignore
- BankBranch.AzureFunctionApp.csproj
- Branch.ReadMe.txt
- host.json
- .gitignore
- BankingProduct.AzureFunctionApp.csproj
- BankProduct.ReadMe.txt
- host.json
- BalanceBelowGivenThreshold.cs
- InterestAccruedToday.cs
- BeneficiarySet.cs
- BranchSet.cs
- InterestAccrued.cs
- InterestPaid.cs
- MoneyDeposited.cs
- MoneyWithdrawn.cs
- Opened.cs
- OverdraftLimitSet.cs
- AccountCommands.cs
- AccountFunctions.cs
- AccountFunctions.DurableFunctions.cs
- AccountOpeningData.cs
- AccountQueries.cs
- Balance.cs
- InterestDue.cs
- Overdraft.cs
- profile.arm.json
- profile.arm.json
- HighestBalance.cs
- HighestBalanceQueryCollation.cs
- RefundFailed.cs
- RefundInitiated.cs
- SourceFundsRefunded.cs
- SourceFundsWithdrawn.cs
- TargetFundsDeposited.cs
- TransferInitiated.cs
- MoneyTransferData.cs
- TransferCommands.cs
- TransferQueries.cs
- TransferState.cs
- Transfer.ReadMe.txt
- .env
- .gitignore
- appsettings.json
- ExistingBalanceData.cs
- FunctionResponse.cs
- GlobalFunctions.cs
- host.json
- InterestAccrualData.cs
- InterestPayData.cs
- MoneyDepositData.cs
- MoneyWithdrawnData.cs
- NotificationFunctions.cs
- OverdraftSetData.cs
- RetailBank.AzureFunctionApp.csproj
- RetailBank.AzureFunctionApp.xml
- Startup.cs
- README.md
- DurableFunctionsUtility.csproj
- FanOut.cs
- Binding.ReadMe.txt
- ClassificationAttribute.cs
- ClassificationAttributeBinding.cs
- ClassificationValueBinder.cs
- CommandAttribute.cs
- CommandAttributeBinding.cs
- CommandStepTriggerAttribute.cs
- CommandStepTriggerAttributeBinding.cs
- CommandStepTriggerAttributeBindingProvider.cs
- CommandStepTriggerBinding.cs
- CommandValueBinder.cs
- ConnectionStringNameAttribute.cs
- EventStreamAttribute.cs
- EventStreamAttributeBinding.cs
- EventStreamAttributeBindingProvider.cs
- EventStreamValueBinder.cs
- EventTriggerAttribute.cs
- EventTriggerAttributeBindingProvider.cs
- EventTriggerBinding.cs
- NewEntityContext.cs
- NewEntityTriggerAttribute.cs
- NewEntityTriggerBinding.cs
- NewEntityTriggerBindingProvider.cs
- NewEntityTriggerData.cs
- ProjectionAttribute.cs
- ProjectionAttributeBinding.cs
- ProjectionAttributeBindingProvider.cs
- ProjectionValueBinder.cs
- QueryAttribute.cs
- QueryAttributeBinding.cs
- QueryTriggerAttribute.cs
- QueryValueBinder.cs
- ClassifierRequested.cs
- ClassifierRequestParameterSet.cs
- ClassifierResultReturned.cs
- IClassifierRequest.cs
- ClassifierEventGridEventData.cs
- ClassifierHandlerFunctions.cs
- OutstandingClassifications.cs
- Completed.cs
- InError.cs
- CommandCancelled.cs
- CommandCompleted.cs
- CommandCreated.cs
- CommandStepCompleted.cs
- CommandStepInitiated.cs
- FatalErrorOccured.cs
- CommandHandlerFunctions.cs
- ExecutionState.cs
- ParameterValues.cs
- Command.ReadMe.txt
- CommandExecutionState.cs
- ParameterValueSet.cs
- ValidationCompleted.cs
- ValidationError.cs
- IProjectionRequest.cs
- ProjectionRequested.cs
- ProjectionValueReturned.cs
- ProjectionHandlerFunctions.cs
- ProjectionRequestedEventGridEventData.cs
- OutstandingProjections.cs
- Projection.ReadMe.txt
- Completed.cs
- OutputLocationSet.cs
- ProcessingRequested.cs
- QueryCompleted.cs
- QueryCreated.cs
- QueryHandlerFunctions.cs
- OutputLocations.cs
- Query.Readme.txt
- Command.cs
- InstanceParameter.cs
- Query.cs
- EventSourcingOnAzureFunctions.Common.xml
- Configuration.Readme.txt
- LoggingServiceCollectionExtensions.cs
- LoggingServiceCollectionExtensions.EventMaps.cs
- LoggingServiceCollectionExtensions.EventStreamSettings.cs
- NotificationServiceCollectionExtensions.cs
- EventStreamExceptionBase.cs
- EventStreamReadException.cs
- EventStreamWriteException.cs
- BlobBlockJsonWrappedEvent.cs
- BlobEventStreamBase.cs
- BlobEventStreamReader.cs
- BlobEventStreamWriter.cs
- Blob.ReadMe.txt
- BlobProjectionSnapshotBase.cs
- BlobProjectionSnapshotReader.cs
- BlobProjectionSnapshotWriter.cs
- File.Readme.txt
- FileEntityIndexCardRecord.cs
- FileEventStreamBase.cs
- FileEventStreamReader.cs
- FileEventStreamWriter.cs
- TableClassificationRecord.cs
- TableClassificationSnapshotBase.cs
- TableClassificationSnapshotReader.cs
- TableClassificationSnapshotWriter.cs
- TableContextWrappedEvent.cs
- TableEntityIndexCardRecord.cs
- TableEntityKeyRecord.cs
- TableEventStreamBase.cs
- TableEventStreamReader.cs
- TableEventStreamWriter.cs
- AzureStorageEventStreamBase.cs
- AppendResult.cs
- ClassificationProcessor.cs
- EventInstance.cs
- EventStreamBase.cs
- ProjectionProcessor.cs
- WriteContext.cs
- IAppendResult.cs
- IClassification.cs
- IClassificationMaps.cs
- IClassificationProcessor.cs
- IClassificationSnapshotReader.cs
- IClassificationSnapshotWriter.cs
- IClassifyEventType.cs
- IEvent.cs
- IEventContext.cs
- IEventMaps.cs
- IEventStreamIdentity.cs
- IEventStreamReader.cs
- IEventStreamSettings.cs
- IEventStreamWriter.cs
- IHandleEventType.cs
- IJsonSerialisedEvent.cs
- Interfaces.ReadMe.txt
- IProjection.cs
- IProjectionMaps.cs
- IProjectionProcessor.cs
- IProjectionSnapshotReader.cs
- IProjectionSnapshotWriter.cs
- IProjectionWithSnapshots.cs
- ISnapshot.cs
- IWriteContext.cs
- Classification.cs
- ClassificationBase.cs
- ClassificationMaps.cs
- ClassificationNameAttribute.cs
- EventAsOfDateAttribute.cs
- EventMaps.cs
- EventNameAttribute.cs
- EventStream.cs
- EventStreamSettings.cs
- Projection.cs
- ProjectionBase.cs
- ProjectionMaps.cs
- ProjectionNameAttribute.cs
- ProjectionSnapshotProperty.cs
- CommandListener.cs
- EventTriggerListener.cs
- ListenerWorkHub.cs
- NewEntityTriggerListener.cs
- Notification.cs
- NotificationQueue.cs
- QueryListener.cs
- ClassificationCompleteEventGridPayload.cs
- DeletedEntityEventGridPayload.cs
- EventGridEventRouting.cs
- EventGridNotificationDispatcher.cs
- INotificationDispatcher.cs
- NewEntityEventGridPayload.cs
- NewEventEventGridPayload.cs
- Notification.ReadMe.txt
- NotificationDispatcherFactory.cs
- NotificationDispatcherNameResolver.cs
- NullNotificationDispatcher.cs
- ProjectionCompleteEventGridPayload.cs
- QueueNotificationDispatcher.cs
- ServiceCollectionFactory.cs
- CQRSAzureBindings.cs
- Directory.Build.props
- EventSourcingOnAzureFunctions.Common.csproj
- EventSourcingOnAzureFunctions.Common.nuspec
- EventSourcingOnAzureFunctions.Common.ReadMe.txt
- EventSourcingOnAzureOptions.cs
- InjectConfiguration.cs
- Startup.cs
- WebjobsStartup.cs
- ClassificationHandler_UnitTest.cs
- ClassifierRequested_UnitTest.cs
- Command_UnitTest.cs
- config.local.json
- EnvironmentVariables.cs
- EventMaps_UnitTest.cs
- EventNameAttribute_UnitTest.cs
- EventSourcingOnAzureFunctions.Test.csproj
- EventStream_UnitTest.cs
- EventStreamSettings_UnitTest.cs
- Notification_UnitTest.cs
- NotificationHelper_UnitTest.cs
- ProjectionHandlerFunctions_UnitTest.cs
- ProjectionRequested_UnitTest.cs
- ProjectionSnapshot_UnitTest.cs
- QueueNotificationDispatcher_UnitTest.cs
- TableEventStreamBase_UnitTest.cs
- TableEventStreamReader_Test.cs
- TableEventStreamWriter_UnitTest.cs
- EventSourcingOnAzureFunctions.sln
- .gitignore
- CODE_OF_CONDUCT.md
- LICENSE
- README.md
# Installation Guide
1. Get the code
git clone https://github.com/MerrionComputing/EventsSourcing-on-Azure-Functions
Downloads the entire project code from GitHub to your computer.
cd EventsSourcing-on-Azure-Functions
Moves into the project folder you just downloaded.
2. .NET
Medium RecommendedPrerequisites
cd src/DurableFunctionsUtility
This project's files live in a subfolder, so move into it first.
dotnet restore
Downloads the packages the project depends on.
dotnet run
Builds the project and runs it immediately.
After dotnet run, check the message or address shown in the terminal.
// repository documentation
Was this content helpful?
(0 ratings)
