Skip to content

Open-source event organizing web application and a reference DDD solution.

License

Notifications You must be signed in to change notification settings

abpframework/eventhub

Repository files navigation

EventHub

.NET

This is a reference application built with the ABP Framework. It implements the Domain Driven Design with multiple application layers.

The book

This solution is originally prepared to be a real-world example for the Mastering ABP Framework book.

abp-book

The book is the only source that explains this solution. This solution is highly referred in Understanding the Reference Solution, Domain Driven Design and other parts of the book.

You can order the book on Amazon or on Packt's website.

Requirements

  • .NET 8.0+
  • Docker

How to run

  • Execute dotnet build /graphBuild command in the root folder of the solution.
  • Execute etc/docker/up.ps1 to run the depending services.
  • Run EventHub.DbMigrator to create the database and seed initial data.
  • Run EventHub.IdentityServer
  • Run EventHub.HttpApi.Host
  • Run EventHub.Web
  • Run EventHub.Admin.HttpApi.Host
  • Run EventHub.Web.Admin

admin user's password is 1q2w3E*

See live

See the solution live on https://openeventhub.com

Screenshots

Public Web Side - (MVC/Razor Page UI)

Home Page

Home Page

Event Creation Page

The event creation process consists of three steps: "Create a New Event", "Add Tracks to the Event (optional)" and "Add Sessions to the Tracks (optional)".

  • After these steps, an "Event Preview" page is shown to the user to check the event details and publish the event.
Create a New Event

Event Creation Page

Add Tracks to the Event (optional)

Event Creation Page - Tracks

Add Sessions to the Tracks (optional)

Event Creation Page - Sessions

New Event Preview Page

Event Creation Page - Preview

Events Page

Events Page

Event Details Page

Event Detail

Organizations Page

Organizations Page

Organization Details Page

Organization Detail Page

Profile Page

Profile Page

Payment Module Pages

The payment module provides an API to make payments via PayPal easily. This application uses this module to perform payment transactions.

To learn more about the Payment Module and see the integration, please check out the payment module documentation.

Pricing Page

Pricing Page

Pre-Checkout Page

Pre Checkout Page