https://github.com/waltermillan/sellers
Classic product sales management system.
https://github.com/waltermillan/sellers
angular-cli csharp-code dto-pattern entity-framework html mariadb-database mock netcore typescript xunit
Last synced: about 1 month ago
JSON representation
Classic product sales management system.
- Host: GitHub
- URL: https://github.com/waltermillan/sellers
- Owner: waltermillan
- Created: 2025-02-13T19:24:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-02T22:24:33.000Z (about 1 year ago)
- Last Synced: 2025-04-09T22:53:06.119Z (about 1 year ago)
- Topics: angular-cli, csharp-code, dto-pattern, entity-framework, html, mariadb-database, mock, netcore, typescript, xunit
- Language: C#
- Homepage:
- Size: 549 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐งโ๐ผ Sellers Project
Visualization of sellers. Classic CRUD system.
---
## ๐
Changelog
- **03/04/2025**: Unit tests added to Angular components. Backend: added endpoint `http://localhost:9876` to prevent test failures.
- **08/03/2025**: Backend/Frontend: Cleaned up code and removed unnecessary comments. Database: ER diagram added.
- **07/03/2025**: Added `HashPassword` class for encrypting login passwords. General code/comment cleanup.
- **27/02/2025**: Added unit tests using xUnit and Mock libraries. Fixed URLs to comply with RESTful specifications. Modified login URL and resolved multiple bugs.
- **26/02/2025**: Backend: API adjustments to follow RESTful conventions. Frontend: URL invocation fixes and added Use module.
- **24/02/2025**: The system evolved into a full product sales management platform. Added entities: Buyer, Product, Sale, User, and Login.
- **14/02/2025**: Initial commit. Added Backend, Frontend, and Database. Implemented data export to Excel/PDF. Improved data presentation.
---
## ๐ฏ Objective
Practice development with .NET (C#), SQL, and Angular (TypeScript) โ initially without using design patterns or Onion Architecture. Connects to MariaDB via Entity Framework, with Docker and DBeaver support.
Technologies:
- **.NET (C#)** and **SQL Server**
- **Angular (TypeScript)**
- **Design Patterns**
- **Onion Architecture**
---
## ๐ Features
### ๐ง Backend
- Based on **Onion Architecture**
- Implements several **Design Patterns**, including:
- Data Transfer Object (DTO)
- **Key Libraries**:
- **Encryption**:
- `System.Security.Cryptography` (AES-256)
- **Logging**:
- `Serilog`
- `Serilog.Extensions.Logging`
- `Serilog.Sinks.File`
- **ORM**:
- `Pomelo.EntityFrameworkCore.MySql` (MariaDB provider)
---
### ๐ป Frontend
- Built with **Angular 18.2.14**
- Features:
- Reactive Forms
- AuthService and HTTP Interceptors
- Custom Pipes and Shared Modules
---
### ๐๏ธ Database
- Uses **MariaDB**, running via **Docker Desktop**
- Includes:
- Entity-Relationship Diagram (ERD)
- Sample data insertion scripts (`.sql`)
- **DDL scripts** for table creation
- **DML scripts** for sample data insertion
---
## ๐งช Installation
### โ
Prerequisites
Ensure the following tools are installed:
- [.NET SDK 9.0.200](https://dotnet.microsoft.com/)
- [Docker Desktop 4.40.0+](https://www.docker.com/)
- [Node.js + npm](https://nodejs.org/) (for frontend)
- [Postman 11.44.3](https://www.postman.com/downloads/)
---
### ๐ง Setup Steps
1. Clone the repository:
```bash
git clone https://github.com/waltermillan/Sellers.git
```
2. Follow the video guide for setup:
- [Version 1 - Display Version](https://youtu.be/Qhcey6a2Xe0)
3. Complete any remaining setup steps described in the project documentation.
---
## ๐ License
This project is licensed under the [MIT License](LICENSE).