A modern ASP.NET Core web application for managing employee salaries and visualizing salary data with interactive charts and graphs.
- Employee Management: Add, edit, delete, and view employee records
- Salary Tracking: Track base salary, bonuses, and total compensation
- Department Management: Organize employees by department
- Analytics Dashboard: View comprehensive salary analytics with multiple chart types:
- Average salary by department (bar chart)
- Employee distribution by department (pie chart)
- Individual employee salary comparison (bar chart)
- Base salary vs. bonus breakdown (stacked bar chart)
- Sorting & Filtering: Sort employees by name, salary, or department
- Responsive Design: Bootstrap 5 for mobile-friendly interface
- Framework: ASP.NET Core 10
- Database: SQLite with Entity Framework Core
- Frontend: Razor views, Bootstrap 5, Chart.js
- Language: C#
SalaryManager/
├── Models/
│ └── Employee.cs # Employee model
├── Controllers/
│ ├── HomeController.cs # Home page controller
│ └── EmployeesController.cs # Employee management & API
├── Views/
│ ├── Home/
│ │ └── Index.cshtml # Dashboard
│ ├── Employees/
│ │ ├── Index.cshtml # Employee list
│ │ ├── Details.cshtml # Employee details
│ │ ├── Create.cshtml # Add new employee
│ │ ├── Edit.cshtml # Edit employee
│ │ ├── Delete.cshtml # Delete confirmation
│ │ └── Analytics.cshtml # Analytics dashboard with charts
│ └── Shared/
│ ├── _Layout.cshtml # Master layout
│ └── _ValidationScriptsPartial.cshtml
├── Data/
│ └── SalaryContext.cs # Database context with seed data
├── wwwroot/
│ ├── css/
│ │ └── site.css # Custom styles
│ └── js/
│ └── site.js # JavaScript utilities
└── Program.cs # Application startup configuration
- .NET 8 SDK or later
- A terminal/command prompt
- Navigate to the project directory:
cd /home/nico/Dev/t/C#\ web/SalaryManager- Restore NuGet packages:
dotnet restore- Build the project:
dotnet builddotnet runThe application will start at https://localhost:5001 and http://localhost:5000.
dotnet publish -c Release -o ./publishThe application uses SQLite for persistence. On first run, the database is automatically created with seed data including 5 sample employees across different departments (Engineering, Marketing, Sales, HR).
- Database File:
salary_manager.db(created in the project root) - Seed Data: Includes 5 sample employees with various salaries and bonuses
The application provides REST API endpoints for chart data:
GET /api/employees/salary-by-department- Average salary by departmentGET /api/employees/salary-distribution- Individual employee salariesGET /api/employees/department-distribution- Employee count by department
- Home Dashboard: View summary statistics of all employees
- Employees List: View all employees with sorting options
- Add Employee: Create a new employee record
- Edit Employee: Update employee information
- Employee Details: View comprehensive employee information
- Analytics Dashboard: View interactive salary charts and graphs
- First Name: Employee's first name
- Last Name: Employee's last name
- Email: Employee's email address
- Department: Department assignment (Engineering, Marketing, Sales, HR, Finance)
- Base Salary: Base annual salary
- Bonus Percentage: Bonus percentage applied to base salary
- Total Salary: Calculated as Base Salary + (Base Salary × Bonus %)
- Average Salary by Department: Bar chart showing average salary for each department
- Employees by Department: Pie chart showing distribution of employees
- Employee Salary Comparison: Bar chart comparing individual employee salaries
- Base Salary vs Total Salary: Stacked bar chart showing base vs bonus breakdown
Edit the department dropdown in Views/Employees/Create.cshtml and Views/Employees/Edit.cshtml:
<option value="YourDepartment">Your Department</option>Edit Data/SalaryContext.cs to change or add sample employees on startup.
Customize colors and styles in wwwroot/css/site.css.
If port 5000/5001 is in use, specify a different port:
dotnet run --urls "https://localhost:5003;http://localhost:5002"To reset the database, delete salary_manager.db and run the application again.
- User authentication and authorization
- Department management CRUD
- Salary history and tracking
- Export reports (PDF, Excel)
- Advanced filtering and search
- Salary review workflows
- Performance ratings integration
A modern ASP.NET Core web application for managing employee salaries and visualizing salary data with interactive charts and graphs.
- Employee Management: Add, edit, delete, and view employee records
- Salary Tracking: Track base salary, bonuses, and total compensation
- Department Management: Organize employees by department
- Analytics Dashboard: View comprehensive salary analytics with multiple chart types:
- Average salary by department (bar chart)
- Employee distribution by department (pie chart)
- Individual employee salary comparison (bar chart)
- Base salary vs. bonus breakdown (stacked bar chart)
- Sorting & Filtering: Sort employees by name, salary, or department
- Responsive Design: Bootstrap 5 for mobile-friendly interface
- Framework: ASP.NET Core 8
- Database: SQLite with Entity Framework Core
- Frontend: Razor views, Bootstrap 5, Chart.js
- Language: C#
SalaryManager/
├── Models/
│ └── Employee.cs # Employee model
├── Controllers/
│ ├── HomeController.cs # Home page controller
│ └── EmployeesController.cs # Employee management & API
├── Views/
│ ├── Home/
│ │ └── Index.cshtml # Dashboard
│ ├── Employees/
│ │ ├── Index.cshtml # Employee list
│ │ ├── Details.cshtml # Employee details
│ │ ├── Create.cshtml # Add new employee
│ │ ├── Edit.cshtml # Edit employee
│ │ ├── Delete.cshtml # Delete confirmation
│ │ └── Analytics.cshtml # Analytics dashboard with charts
│ └── Shared/
│ ├── _Layout.cshtml # Master layout
│ └── _ValidationScriptsPartial.cshtml
├── Data/
│ └── SalaryContext.cs # Database context with seed data
├── wwwroot/
│ ├── css/
│ │ └── site.css # Custom styles
│ └── js/
│ └── site.js # JavaScript utilities
└── Program.cs # Application startup configuration
- .NET 8 SDK or later
- A terminal/command prompt
- Navigate to the project directory:
cd /home/nico/Dev/t/C#\ web/SalaryManager- Restore NuGet packages:
dotnet restore- Build the project:
dotnet builddotnet runThe application will start at https://localhost:5001 and http://localhost:5000.
dotnet publish -c Release -o ./publishThe application uses SQLite for persistence. On first run, the database is automatically created with seed data including 5 sample employees across different departments (Engineering, Marketing, Sales, HR).
- Database File:
salary_manager.db(created in the project root) - Seed Data: Includes 5 sample employees with various salaries and bonuses
The application provides REST API endpoints for chart data:
GET /api/employees/salary-by-department- Average salary by departmentGET /api/employees/salary-distribution- Individual employee salariesGET /api/employees/department-distribution- Employee count by department
- Home Dashboard: View summary statistics of all employees
- Employees List: View all employees with sorting options
- Add Employee: Create a new employee record
- Edit Employee: Update employee information
- Employee Details: View comprehensive employee information
- Analytics Dashboard: View interactive salary charts and graphs
- First Name: Employee's first name
- Last Name: Employee's last name
- Email: Employee's email address
- Department: Department assignment (Engineering, Marketing, Sales, HR, Finance)
- Base Salary: Base annual salary
- Bonus Percentage: Bonus percentage applied to base salary
- Total Salary: Calculated as Base Salary + (Base Salary × Bonus %)
- Average Salary by Department: Bar chart showing average salary for each department
- Employees by Department: Pie chart showing distribution of employees
- Employee Salary Comparison: Bar chart comparing individual employee salaries
- Base Salary vs Total Salary: Stacked bar chart showing base vs bonus breakdown
Edit the department dropdown in Views/Employees/Create.cshtml and Views/Employees/Edit.cshtml:
<option value="YourDepartment">Your Department</option>Edit Data/SalaryContext.cs to change or add sample employees on startup.
Customize colors and styles in wwwroot/css/site.css.
If port 5000/5001 is in use, specify a different port:
dotnet run --urls "https://localhost:5003;http://localhost:5002"To reset the database, delete salary_manager.db and run the application again.
- User authentication and authorization
- Department management CRUD
- Salary history and tracking
- Export reports (PDF, Excel)
- Advanced filtering and search
- Salary review workflows
- Performance ratings integration
This project is provided as-is for educational and development purposes.
For issues or questions, please check the console output for detailed error messages when running in development mode.
This project is provided as-is for educational and development purposes.
For issues or questions, please check the console output for detailed error messages when running in development mode.