User Management System
ASP.NET Core MVC · Web API · jQuery DataTables · SQL Server
A full-stack user management solution built on two separate ASP.NET Core projects. The MVC frontend communicates with a secured Web API over HTTP using Basic Authentication. All table operations — paging, sorting, and search — are handled entirely on the server side.
Server-Side DataTable powered by ASP.NET Core Web API
CRUD operations, role-based access control, multi-language support, and profile image upload — all wired through a RESTful API.
Server-Side DataTable
Paging, sorting, and search are processed entirely on the server via
System.Linq.Dynamic.Core. Only the current page is sent to the browser.
Role-Based Security
Basic Authentication on the API layer with three roles:
AdminRole, ManagerRole, and ReadOnlyRole.
Each endpoint enforces its own permission level.
Multi-Language Support
All UI labels are driven by a Resources project.
Language can be switched at runtime directly from the user management page.
/api/ResourceUser
| Method | Route | Description | Roles Required |
|---|---|---|---|
| GET | GetAllUsers |
Return all users (used by DataTable) | Admin, Manager, ReadOnly |
| GET | GetUserData/{userID} |
Return a single user by ID | Admin, Manager, ReadOnly |
| GET | GetUserDataByEmail/{email} |
Return a user by email address | Anonymous |
| POST | CreateUserData |
Create a new user | Admin, Manager |
| POST | UpdateUserData |
Update an existing user | Admin, Manager |
| POST | DeleteUserData |
Delete a user by ID | Admin, Manager |
| Feature | Description | Status |
|---|---|---|
| Add User | Create a new user via modal form, including profile image upload | Active |
| Edit User | Update user details in a Bootstrap modal pre-filled with existing data | Active |
| Delete User | SweetAlert2 confirmation dialog before permanent deletion | Active |
| View Details | Read-only detail view of a user in a modal | Active |
| Server-Side Sort & Page | All sorting and pagination processed on the server with Dynamic LINQ | Active |
| Profile Image | Upload and display user photos, stored as Base64 and served via API | Active |
| Basic Authentication | Credentials forwarded from MVC to API on every request | Active |
| Multi-Language | Runtime language switch — labels served from a shared Resources project | Active |
| Structured Logging | Serilog with console sink and configuration-based overrides | Active |
| Swagger / OpenAPI | Auto-generated API documentation available in Development mode | Active |
Technology Stack
-
HtmlDataTableASP.NET Core MVC frontend — views, controllers, jQuery DataTables integration
-
HtmlDataTableAPICoreASP.NET Core Web API — RESTful endpoints, Basic Auth, Serilog, Swagger
-
HtmlDataTable.CoreShared class library — entities, interfaces, view models, DbContext
-
ResourcesLocalization resources — UI labels for multi-language support

Reviews
There are no reviews yet.