A robust and cleanly architected web application built with ASP.NET Core 8 and Razor Views, designed to consume real-time and historical market data through the Finnhub API. This project demonstrates solid software engineering practices for building maintainable and production-ready web applications in .NET.
This application focuses on demonstrating practical skills in:
- Clean Architecture design in ASP.NET Core
- MVC pattern with Razor Views
- API consumption and data integration using HttpClient
- UI modularization with View Components and Tag Helpers
- Data validation, Filters, Logging, and Dependency Injection (DI)
- Automated testing with xUnit
- Working with external data providers (Finnhub)
✔️ Real-time and historical stock data from Finnhub
✔️ Search for stock symbols and view detailed market information
✔️ Interactive and dynamic UI with Razor + Tailwind
✔️ Clean Architecture with clear separation of concerns
✔️ View Components for reusable market widgets
✔️ Custom Tag Helpers for UI consistency
✔️ Server-side validation and Filters
✔️ Logging using Serilog
✔️ Full test coverage of core components using xUnit
✔️ Responsive UI with Tailwind 4
- .NET 8 (ASP.NET Core MVC + Razor Views)
- Finnhub API (external financial data provider)
- Entity Framework Core
- xUnit (unit testing)
- Clean Architecture
- HttpClient & typed services
- Dependency Injection
- Logging & Filters
- Tailwind 4
- SQL Server
- Visual Studio 2022
- .NET 8 SDK
- Finnhub API Key
- SQL Server
- Clone the repository:
git clone https://github.com/ejbpz/stock-app.git- Navigate to the project directory:
cd stock-app- Restore packages:
dotnet restore- Apply migrations and update the database:
dotnet ef database update- Run the application:
dotnet runThis project is open-source. Feel free to use, modify, or improve it in personal or commercial environments.