Back to projects

Public project

Employee management system

A personal project built end to end to production standards: a layered .NET 10 API, a responsive React client, automated tests and a live deployment.

Client
Self-initiated project
My role
Full-stack developer
The problem
I wanted a realistic project that goes beyond CRUD tutorials and covers the parts that matter in real systems: security, validation, testing, performance and deployment.
Approach
  • Structured the API with Clean Architecture (Core, Application, Infrastructure, API) and used DTO projections so list queries fetch only the columns they need.
  • Validated input in three layers (React, FluentValidation, SQL constraints) and returned every error as RFC 7807 Problem Details with a trace id.
  • Secured the API with JWT, PBKDF2 password hashing, a secure-by-default authorization policy, login rate limiting and security headers.
  • Wrote integration tests that boot the real API against a dedicated SQL Server database rebuilt from migrations, which caught migration drift and a UTC timestamp bug.
  • Tuned indexes using execution plans on 50,000 rows, added Serilog structured logging, and deployed the React app to Vercel and the API to IIS hosting over HTTPS.
Key features
  • Employee and department management with role-based access
  • Search, filters, sorting and pagination kept in the URL
  • Dashboard with totals and distribution by department
  • JWT authentication with Admin and read-only User roles
  • Login rate limiting, HSTS and Content Security Policy
  • Automated integration tests against a real SQL Server database
Technologies
  • React
  • EF Core
  • C#
  • .NET 10
  • ASP.NET Core Web API
  • SQL Server
  • Vite
  • Bootstrap 5
  • JWT
  • FluentValidation
  • Serilog
  • xUnit

Discuss a similar project