A chat bot web application focused on the high quality back-end code.
- 🔒 Authentication with IdentityServer
- 💬 Chat Room for logged users
- 📈 Command /stock=code gets price of stock from Stooq
- ❌ Command errors are handled by chat Administrator
- ⏱️ Messages are ordered by time (older ones are shown in top)
- 💥 Only 50 messages are displayed in the chat ( No need to reload the page, js makes the magic in real-time )
- Docker
- Docker Compose
or
- .NET 5 Build Sdk && .NET 5 Runtime
- Microsoft SQL Server 2017
- RabbitMQ
- In the root folder, run
docker-compose build
- Then you can set it all up with
docker-compose up -d
- Notes
- Web and Worker containers will be restarted until RabbitMQ server container is ready for connections
- If you´re running on Windows, you need to set COMPOSE_CONVERT_WINDOWS_PATHS=1
- If you need to scale the worker container, just remove the container-name on docker-compose.yml and run
docker-compose up --scale worker=3
- Open your browser in http://localhost:4000
- Create your account
- Start chatting
- Start your RabbitMQ Server + MSSQL Server 2017
- Update the appSettings in Chat.Web/appsettings.json and Chat.Worker/appsettings.json
- In the root folder, run
dotnet restore
dotnet build
- Then, start worker with
cd Chat.Worker
dotnet run
- In another terminal, run the following command in the root folder, to start web application
cd Chat.Web
dotnet run
- Open your browser in http://localhost:5000
- Create your account
- Start chatting
On the project root, run this command to run all tests
cd Chat.Tests
dotnet test