https://github.com/waltermillan/workers
Worker management. Initial classic ABM.
https://github.com/waltermillan/workers
angular-cli bootstrap csharp css html5 netcore onion-architecture repository-pattern sqlserver typescript unitofwork-pattern
Last synced: about 1 month ago
JSON representation
Worker management. Initial classic ABM.
- Host: GitHub
- URL: https://github.com/waltermillan/workers
- Owner: waltermillan
- Created: 2025-03-01T00:49:16.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-21T12:40:08.000Z (about 1 year ago)
- Last Synced: 2025-06-17T23:39:36.125Z (11 months ago)
- Topics: angular-cli, bootstrap, csharp, css, html5, netcore, onion-architecture, repository-pattern, sqlserver, typescript, unitofwork-pattern
- Language: TypeScript
- Homepage:
- Size: 1.63 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ทโโ๏ธ Workers App Project
A simple worker management app (classic CRUD).
This project was created to practice full-stack application development, with a focus on clean architecture and the use of design patterns. The app includes two user roles: **Administrator** and **User**, and applies patterns such as Factory, Repository, DTO, and Unit of Work.
---
## ๐
Changelog
- **2025-03-01**: Initial upload โ Backend / Frontend / Database. Added login component.
- **2025-03-02**: Frontend: UI/UX improvements, English translation, and visualization tweaks.
- **2025-03-14**: Backend/Frontend/Database: Fixed plural table names, added `HashPassword` class, cleaned frontend code.
- **2025-03-21**: Full app update: introduced EF Core, added `Category` entity, enhanced login module.
---
## ๐ฏ Objective
To gain hands-on experience with:
- **.NET (C#)** and **SQL Server**
- **Angular (TypeScript)**
- **Design Patterns**
- **Onion Architecture**
---
## ๐ Features
### ๐ง Backend
- Based on **Onion Architecture**
- Implements several **Design Patterns**:
- Repository Pattern
- Factory
- Unit of Work
- Base Entity
- Data Transfer Object (DTO)
- **Key Libraries**:
- **Encryption**:
- `BCrypt.Net-Next`
- `System.Security.Cryptography` (AES-256 encryption)
- **Logging**:
- `Serilog`
- `Serilog.Extensions.Logging`
- `Serilog.Sinks.File`
- **ORM**:
- `Microsoft.EntityFrameworkCore` (SQL Server Express)
- `Microsoft.EntityFrameworkCore.Design`
- `Microsoft.EntityFrameworkCore.SqlServer`
---
### ๐ป Frontend
- Built with **Angular 18.2.12**
- Uses Angular Material for modals and UI components:
- `@angular/material: 18.2.14`
- `@angular/animations: 18.2.13`
- `@angular/cdk: 18.2.14`
- Modular project structure
---
### ๐๏ธ Database
- Uses **SQL Server Express**
- Managed with **SQL Server Management Studio (SSMS)**
- Includes:
- **DDL scripts** for table creation
- **DML scripts** for sample data insertion
---
## ๐งช Installation
### โ
Prerequisites
Make sure you have the following installed:
- [.NET SDK 9.0.200](https://dotnet.microsoft.com/)
- [SQL Server Management Studio (SSMS)](https://learn.microsoft.com/en-us/ssms/download-sql-server-management-studio-ssms)
- [Node.js + npm](https://nodejs.org/) (for frontend)
---
### ๐ง Setup Steps
1. Clone the repository:
```bash
git clone https://github.com/waltermillan/Workers.git
```
2. Follow the video guides for full setup:
- [Version 1 Display Version](https://youtu.be/7VDJdXPcyiI)
3. Complete the remaining setup steps as described in the project documentation.
---
## ๐ License
**Free and open-source**