A modern real-time chat application built with Next.js, ASP.NET Core, and SignalR.
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Real-time Client:
@microsoft/signalr - Icons: Lucide React
- Framework: ASP.NET Core
- Language: C#
- Real-time Server: SignalR
- Architecture: Web API with Controllers and Hubs
- Database: MongoDB
- Containerization: Docker & Docker Compose
- Admin UI: Mongo Express
├── client/ # Next.js frontend application
├── server/ # ASP.NET Core backend API & SignalR hub
└── docker-compose.yml # Docker orchestration configuration
- Docker Desktop installed and running.
-
Clone the repository (if applicable) or navigate to the project root.
-
Start the application using Docker Compose:
docker-compose up --build
This command will build the client and server images and start the following services:
- Client: Accessible at http://localhost:3000
- Server API: Accessible at http://localhost:5000
- MongoDB: Running on port 27017
- Mongo Express: Database admin UI at http://localhost:8081
If you prefer to run services locally without Docker:
-
Navigate to the
serverdirectory. -
Ensure you have a local MongoDB instance running or update
appsettings.Development.json. -
Run the .NET application:
dotnet run
-
Navigate to the
clientdirectory. -
Install dependencies:
npm install
-
Start the development server:
npm run dev