├── .editorconfig ├── .gitignore ├── .idea └── .idea.EventSourcing_DIY │ ├── .idea │ ├── contentModel.xml │ ├── indexLayout.xml │ ├── modules.xml │ ├── vcs.xml │ └── workspace.xml │ └── riderModule.iml ├── .paket ├── Paket.Restore.targets ├── paket.bootstrapper.exe ├── paket.exe └── paket.targets ├── .vscode ├── launch.json └── settings.json ├── Brainstorming ├── Domain.fs ├── Infrastructure.fs └── Program.fs ├── EventSourced ├── Application.fs ├── Domain.fs ├── EventSourced.fsproj ├── Infrastructure │ ├── Agent.fs │ ├── CommandHandler.fs │ ├── EventListener.fs │ ├── EventSourced.fs │ ├── EventStorage │ │ ├── FileStorage.fs │ │ ├── InMemoryStorage.fs │ │ └── PostgresStorage.fs │ ├── EventStore.fs │ ├── QueryHandler.fs │ └── Types.fs ├── Program.fs ├── Tests.fs ├── Utils │ ├── Helper.fs │ └── List.fs └── paket.references ├── EventSourcing_DIY.sln ├── LICENSE ├── Talk ├── Helper.fs ├── Program.fs ├── Step1 │ ├── Domain1.fs │ ├── Infrastructure1.fs │ └── Program1.fs ├── Step2 │ ├── Domain2.fs │ ├── Infrastructure2.fs │ ├── Program2.fs │ └── Tests2.fs ├── Step3 │ ├── Domain3.fs │ ├── Infrastructure3.fs │ ├── Program3.fs │ └── Tests3.fs ├── Step4 │ ├── Domain4.fs │ ├── Infrastructure4.fs │ ├── Program4.fs │ └── Tests4.fs ├── Talk.fsproj └── paket.references ├── UI └── Menu.fs ├── Videos ├── Extensions │ └── Seq.fs ├── Helper.fs ├── Program.fs ├── Step1.fs ├── Step2.fs ├── Step3.fs ├── Step4.fs ├── Step5.fs ├── Step6 │ ├── Application6.fs │ ├── Domain6.fs │ ├── Infrastructure6.fs │ └── Tests6.fs ├── Step7 │ ├── Application7.fs │ ├── Domain7.fs │ ├── Infrastructure7.fs │ └── Tests7.fs ├── Step8 │ ├── Application8.fs │ ├── Domain8.fs │ ├── Infrastructure8.fs │ └── Tests8.fs ├── Step9 │ ├── Application9.fs │ ├── Domain9.fs │ ├── Infrastructure9.fs │ └── Tests9.fs ├── Videos.fsproj └── paket.references ├── paket-files └── paket.restore.cached ├── paket.dependencies └── paket.lock /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.idea.EventSourcing_DIY/.idea/contentModel.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/.idea/.idea.EventSourcing_DIY/.idea/contentModel.xml -------------------------------------------------------------------------------- /.idea/.idea.EventSourcing_DIY/.idea/indexLayout.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/.idea/.idea.EventSourcing_DIY/.idea/indexLayout.xml -------------------------------------------------------------------------------- /.idea/.idea.EventSourcing_DIY/.idea/modules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/.idea/.idea.EventSourcing_DIY/.idea/modules.xml -------------------------------------------------------------------------------- /.idea/.idea.EventSourcing_DIY/.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/.idea/.idea.EventSourcing_DIY/.idea/vcs.xml -------------------------------------------------------------------------------- /.idea/.idea.EventSourcing_DIY/.idea/workspace.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/.idea/.idea.EventSourcing_DIY/.idea/workspace.xml -------------------------------------------------------------------------------- /.idea/.idea.EventSourcing_DIY/riderModule.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/.idea/.idea.EventSourcing_DIY/riderModule.iml -------------------------------------------------------------------------------- /.paket/Paket.Restore.targets: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/.paket/Paket.Restore.targets -------------------------------------------------------------------------------- /.paket/paket.bootstrapper.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/.paket/paket.bootstrapper.exe -------------------------------------------------------------------------------- /.paket/paket.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/.paket/paket.exe -------------------------------------------------------------------------------- /.paket/paket.targets: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/.paket/paket.targets -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "FSharp.fsacRuntime": "netcore" 3 | } -------------------------------------------------------------------------------- /Brainstorming/Domain.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Brainstorming/Domain.fs -------------------------------------------------------------------------------- /Brainstorming/Infrastructure.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Brainstorming/Infrastructure.fs -------------------------------------------------------------------------------- /Brainstorming/Program.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Brainstorming/Program.fs -------------------------------------------------------------------------------- /EventSourced/Application.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Application.fs -------------------------------------------------------------------------------- /EventSourced/Domain.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Domain.fs -------------------------------------------------------------------------------- /EventSourced/EventSourced.fsproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/EventSourced.fsproj -------------------------------------------------------------------------------- /EventSourced/Infrastructure/Agent.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Infrastructure/Agent.fs -------------------------------------------------------------------------------- /EventSourced/Infrastructure/CommandHandler.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Infrastructure/CommandHandler.fs -------------------------------------------------------------------------------- /EventSourced/Infrastructure/EventListener.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Infrastructure/EventListener.fs -------------------------------------------------------------------------------- /EventSourced/Infrastructure/EventSourced.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Infrastructure/EventSourced.fs -------------------------------------------------------------------------------- /EventSourced/Infrastructure/EventStorage/FileStorage.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Infrastructure/EventStorage/FileStorage.fs -------------------------------------------------------------------------------- /EventSourced/Infrastructure/EventStorage/InMemoryStorage.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Infrastructure/EventStorage/InMemoryStorage.fs -------------------------------------------------------------------------------- /EventSourced/Infrastructure/EventStorage/PostgresStorage.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Infrastructure/EventStorage/PostgresStorage.fs -------------------------------------------------------------------------------- /EventSourced/Infrastructure/EventStore.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Infrastructure/EventStore.fs -------------------------------------------------------------------------------- /EventSourced/Infrastructure/QueryHandler.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Infrastructure/QueryHandler.fs -------------------------------------------------------------------------------- /EventSourced/Infrastructure/Types.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Infrastructure/Types.fs -------------------------------------------------------------------------------- /EventSourced/Program.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Program.fs -------------------------------------------------------------------------------- /EventSourced/Tests.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Tests.fs -------------------------------------------------------------------------------- /EventSourced/Utils/Helper.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Utils/Helper.fs -------------------------------------------------------------------------------- /EventSourced/Utils/List.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourced/Utils/List.fs -------------------------------------------------------------------------------- /EventSourced/paket.references: -------------------------------------------------------------------------------- 1 | Expecto 2 | Npgsql.FSharp 3 | Thoth.Json.Net -------------------------------------------------------------------------------- /EventSourcing_DIY.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/EventSourcing_DIY.sln -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/LICENSE -------------------------------------------------------------------------------- /Talk/Helper.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Helper.fs -------------------------------------------------------------------------------- /Talk/Program.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Program.fs -------------------------------------------------------------------------------- /Talk/Step1/Domain1.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Step1/Domain1.fs -------------------------------------------------------------------------------- /Talk/Step1/Infrastructure1.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Step1/Infrastructure1.fs -------------------------------------------------------------------------------- /Talk/Step1/Program1.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Step1/Program1.fs -------------------------------------------------------------------------------- /Talk/Step2/Domain2.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Step2/Domain2.fs -------------------------------------------------------------------------------- /Talk/Step2/Infrastructure2.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Step2/Infrastructure2.fs -------------------------------------------------------------------------------- /Talk/Step2/Program2.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Step2/Program2.fs -------------------------------------------------------------------------------- /Talk/Step2/Tests2.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Step2/Tests2.fs -------------------------------------------------------------------------------- /Talk/Step3/Domain3.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Step3/Domain3.fs -------------------------------------------------------------------------------- /Talk/Step3/Infrastructure3.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Step3/Infrastructure3.fs -------------------------------------------------------------------------------- /Talk/Step3/Program3.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Step3/Program3.fs -------------------------------------------------------------------------------- /Talk/Step3/Tests3.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Step3/Tests3.fs -------------------------------------------------------------------------------- /Talk/Step4/Domain4.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Step4/Domain4.fs -------------------------------------------------------------------------------- /Talk/Step4/Infrastructure4.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Step4/Infrastructure4.fs -------------------------------------------------------------------------------- /Talk/Step4/Program4.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Step4/Program4.fs -------------------------------------------------------------------------------- /Talk/Step4/Tests4.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Step4/Tests4.fs -------------------------------------------------------------------------------- /Talk/Talk.fsproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Talk/Talk.fsproj -------------------------------------------------------------------------------- /Talk/paket.references: -------------------------------------------------------------------------------- 1 | Expecto -------------------------------------------------------------------------------- /UI/Menu.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/UI/Menu.fs -------------------------------------------------------------------------------- /Videos/Extensions/Seq.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Extensions/Seq.fs -------------------------------------------------------------------------------- /Videos/Helper.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Helper.fs -------------------------------------------------------------------------------- /Videos/Program.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Program.fs -------------------------------------------------------------------------------- /Videos/Step1.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step1.fs -------------------------------------------------------------------------------- /Videos/Step2.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step2.fs -------------------------------------------------------------------------------- /Videos/Step3.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step3.fs -------------------------------------------------------------------------------- /Videos/Step4.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step4.fs -------------------------------------------------------------------------------- /Videos/Step5.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step5.fs -------------------------------------------------------------------------------- /Videos/Step6/Application6.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step6/Application6.fs -------------------------------------------------------------------------------- /Videos/Step6/Domain6.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step6/Domain6.fs -------------------------------------------------------------------------------- /Videos/Step6/Infrastructure6.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step6/Infrastructure6.fs -------------------------------------------------------------------------------- /Videos/Step6/Tests6.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step6/Tests6.fs -------------------------------------------------------------------------------- /Videos/Step7/Application7.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step7/Application7.fs -------------------------------------------------------------------------------- /Videos/Step7/Domain7.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step7/Domain7.fs -------------------------------------------------------------------------------- /Videos/Step7/Infrastructure7.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step7/Infrastructure7.fs -------------------------------------------------------------------------------- /Videos/Step7/Tests7.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step7/Tests7.fs -------------------------------------------------------------------------------- /Videos/Step8/Application8.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step8/Application8.fs -------------------------------------------------------------------------------- /Videos/Step8/Domain8.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step8/Domain8.fs -------------------------------------------------------------------------------- /Videos/Step8/Infrastructure8.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step8/Infrastructure8.fs -------------------------------------------------------------------------------- /Videos/Step8/Tests8.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step8/Tests8.fs -------------------------------------------------------------------------------- /Videos/Step9/Application9.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step9/Application9.fs -------------------------------------------------------------------------------- /Videos/Step9/Domain9.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step9/Domain9.fs -------------------------------------------------------------------------------- /Videos/Step9/Infrastructure9.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step9/Infrastructure9.fs -------------------------------------------------------------------------------- /Videos/Step9/Tests9.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Step9/Tests9.fs -------------------------------------------------------------------------------- /Videos/Videos.fsproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/Videos/Videos.fsproj -------------------------------------------------------------------------------- /Videos/paket.references: -------------------------------------------------------------------------------- 1 | Expecto 2 | Thoth.Json.Net -------------------------------------------------------------------------------- /paket-files/paket.restore.cached: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/paket-files/paket.restore.cached -------------------------------------------------------------------------------- /paket.dependencies: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/paket.dependencies -------------------------------------------------------------------------------- /paket.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rommsen/EventSourcing-DIY/HEAD/paket.lock --------------------------------------------------------------------------------