A full-stack Employee Management application built with ASP.NET Core 9 Web API and Vue 3.
- .NET 9 SDK
- SQL Server LocalDB (included with Visual Studio or installable standalone)
- Node.js 20+
3PillarsAssessment/
├── Backend/
│ ├── EmployeeManagement.API/ # ASP.NET Core Web API (port 5112)
│ ├── EmployeeManagement.Core/ # Domain models, DTOs, interfaces
│ └── EmployeeManagement.Infrastructure/ # EF Core, repositories, migrations
└── frontend/ # Vue 3 + Vite (port 5173)
-
Navigate to the API project:
cd Backend/EmployeeManagement.API -
Apply database migrations (creates the
EmployeeManagementDbdatabase on LocalDB):dotnet ef database update --project ../EmployeeManagement.Infrastructure
-
Run the API:
dotnet run
The API will be available at
http://localhost:5112.
Swagger UI:http://localhost:5112/swagger
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
npm run dev
The app will be available at
http://localhost:5173.
Start the backend first, then the frontend. Both must be running simultaneously.
| Service | URL |
|---|---|
| Frontend | http://localhost:5173 |
| API | http://localhost:5112/api |
| Swagger | http://localhost:5112/swagger |
- Add, edit, and delete employees via modal dialogs (no page reloads)
- Search employees by full name or email
- Filter employees by department
- Client-side and server-side validation
- Duplicate email detection
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/employees | List employees (supports ?search= and ?department=) |
| GET | /api/employees/{id} | Get employee by ID |
| POST | /api/employees | Create employee |
| PUT | /api/employees/{id} | Update employee |
| DELETE | /api/employees/{id} | Delete employee |
Migration files are located in Backend/EmployeeManagement.Infrastructure/Migrations/.
To add a new migration after model changes:
cd Backend/EmployeeManagement.API
dotnet ef migrations add <MigrationName> --project ../EmployeeManagement.Infrastructure
dotnet ef database update --project ../EmployeeManagement.Infrastructure