A desktop workspace for people and asset management.
A C# Windows Forms application with a dashboard-style interface, authentication, people management, and an Entity Framework Core data layer.
Features · Screenshots · Tech Stack · Getting Started · Structure
AssetTracker is a Windows desktop application designed to bring people records and asset operations into one workspace. The UI uses a modern dashboard layout with a navigation sidebar, metric cards, charts, recent activity, and quick actions.
Current implementation status: Authentication and the People view are the primary connected flows. Dashboard metrics and charts currently use sample data, while Assets, Categories, Reports, and Settings are UI placeholders awaiting their service implementations.
| Sign in through the authentication service and keep the current user in the in-memory application session. | A dedicated People view backed by the person service for loading records and supporting person operations. |
| KPI cards, a monthly activity bar chart, an asset-status donut chart, recent activity, and quick actions. | A sidebar with active-page styling and a shared content area for switching views. |
| The signed-in user's available name and role fields are displayed in the dashboard header. | Clear the in-memory user reference and return to the login flow. |
The animated walkthrough below illustrates the intended visual style and navigation flow. It is a designed mockup with sample content, not a screen recording of the running application; dashboard values and people records are illustrative.
These visuals are design previews created for the README. Replace them with captures from the running WinForms application when you are ready to show the exact implemented UI.
| Layer | Technology |
|---|---|
| Desktop UI | C# / Windows Forms |
| Dependency injection | Microsoft.Extensions.DependencyInjection |
| Data access | Entity Framework Core |
| Database | SQL Server (configured by the application) |
| Application code | Core models, DTOs, interfaces, and service classes |
| Charts | Custom GDI+ drawing in WinForms; no chart package required for the current dashboard |
- Windows
- Visual Studio with the .NET desktop development workload
- The .NET SDK/runtime targeted by the solution
- SQL Server if you want to run the database-backed flows
-
Clone the repository:
git clone <YOUR_REPOSITORY_URL> cd <YOUR_REPOSITORY_FOLDER>
-
Open the solution (
.sln) in Visual Studio. -
Configure the database connection string used by
AppDbContextand confirm the database schema or migrations are ready. -
Verify that the application's dependency-injection setup registers the data context and service implementations.
-
Set the WinForms UI project as the startup project.
-
Build and run the solution.
Configuration keys and the exact migration commands depend on the solution's current setup. Do not commit real database credentials, access tokens, or production secrets to source control.
The solution is organized around UI, service, core-contract, and data-access responsibilities. Adjust the tree below if the repository uses different folder names.
AssetTracker/
├── Core/
│ ├── DTO/
│ ├── Entities/
│ ├── Interfaces/
│ └── Models/
├── AssetTracker.Data/
│ └── AppDbContext.cs
├── Services/
│ ├── Interfaces/
│ └── Service implementations
└── UI/
├── Forms/
└── Views/
flowchart LR
UI[WinForms UI] --> Services[Services]
Services --> Core[Core contracts and models]
Services --> Data[Entity Framework Core]
Data --> DB[(SQL Server)]
- Modern login screen and dashboard shell
- People view navigation
- Sample dashboard charts and metrics
- In-memory sign-out flow
- Connect dashboard metrics to live data
- Implement Assets and Categories views
- Add reporting and settings workflows
- Add automated tests and application logging
- Add illustrative README mockups and an animated preview
- Replace mockups with screenshots captured from the running application
The illustrative GIF and PNG previews are stored in docs/assets/screenshots/. To show the exact application UI instead, capture the running WinForms forms and replace these mockup files with those screenshots.
Issues and suggestions are welcome. Before opening a pull request, build the solution and describe the changes and any required configuration updates.
This project is licensed under a custom All Rights Reserved license.
- ✅ Personal and non-commercial use is permitted.
- ❌ Commercial use requires prior written permission.
- ❌ Modification and redistribution are prohibited without prior written permission.