This is the project to showcase a full stack web application which uses ASP.NET Core with EF Core for Web API backend, React, React Router, HeroUI component library, Tailwind CSS and Zustand for client app, nginx as the web server and reverse proxy, and PostgreSQL as the database.
NEW (3 Feb 2026): Implemented elements of Event Driven Architecture using RabbitMQ message broker paired with Rebus library to send email notifications to users assigned to Kanban Tasks. Those messages can be seen in smtp4dev's web interface at http://127.0.0.1:8180.
- Git
- Docker
- .NET 10.0 SDK
- Node.js (v24 was used during development)
- VS Code with ESLint and C# Dev Kit extensions (for development)
-
Use git to clone this repository or download a zip file and unpack it to a folder on your local machine.
-
Come up with passwords for PostgreSQL database user and for RabbitMQ user. Then in folders
data/pg,data/rabbitmqandKanbanBoardApi, rename files.env.exampleinto.env(or make copies with that name) and replace<pg_password>and<rabbitmq_password>with passwords you came up with. -
Navigate to the folder with the source code in the terminal (on Windows, use Git Bash), and execute
build_all.shfile located at the root of that folder:./build_all.sh
This shoud build both backend and frontend apps and start docker servers using docker compose. Then just open https://localhost to access the application.
Notes:
-
To add ssl certificates used by the app to your machine's trust chain, navigate to the
data/sslfolder in the terminal, and runopenssl pkcs12 -export -out ca.pfx -inkey ca.key -in ca.crt. Then double click the newly createdca.pfxfile and follow prompts to add its certificate to your os' keychain. On Windows, add the certificate to the Trusted Root Certification Authorities store. On macOS, open Keychain Access app and mark the imported certificate as trusted there. Alternatively, you can just trust the certificate in your browser after being prompted. -
Docker will use ports 443, 5032, 5671, 7003, 8180, 8125, 15671 on your localhost. If any of these are already used by other applications running on your machine, please adjust ports in docker-compose.yml.
-
Authentication is not fully implemented yet.
Copyright © 2025 Stan D.