{"id":25390107,"url":"https://github.com/waltermillan/sellers","last_synced_at":"2026-05-09T04:31:58.178Z","repository":{"id":277441370,"uuid":"932354547","full_name":"waltermillan/Sellers","owner":"waltermillan","description":"Classic product sales management system.","archived":false,"fork":false,"pushed_at":"2025-04-02T22:24:33.000Z","size":562,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T22:53:06.119Z","etag":null,"topics":["angular-cli","csharp-code","dto-pattern","entity-framework","html","mariadb-database","mock","netcore","typescript","xunit"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/waltermillan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-13T19:24:01.000Z","updated_at":"2025-04-02T22:24:36.000Z","dependencies_parsed_at":"2025-02-14T00:28:19.262Z","dependency_job_id":"66610ee2-bf15-4f67-a33c-a8d536dd089f","html_url":"https://github.com/waltermillan/Sellers","commit_stats":null,"previous_names":["waltermillan/sellers"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/waltermillan/Sellers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waltermillan%2FSellers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waltermillan%2FSellers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waltermillan%2FSellers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waltermillan%2FSellers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/waltermillan","download_url":"https://codeload.github.com/waltermillan/Sellers/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waltermillan%2FSellers/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32807179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular-cli","csharp-code","dto-pattern","entity-framework","html","mariadb-database","mock","netcore","typescript","xunit"],"created_at":"2025-02-15T14:35:43.880Z","updated_at":"2026-05-09T04:31:58.170Z","avatar_url":"https://github.com/waltermillan.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧑‍💼 Sellers Project\n\nVisualization of sellers. Classic CRUD system.\n\n---\n\n## 📅 Changelog\n\n- **03/04/2025**: Unit tests added to Angular components. Backend: added endpoint `http://localhost:9876` to prevent test failures.\n- **08/03/2025**: Backend/Frontend: Cleaned up code and removed unnecessary comments. Database: ER diagram added.\n- **07/03/2025**: Added `HashPassword` class for encrypting login passwords. General code/comment cleanup.\n- **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.\n- **26/02/2025**: Backend: API adjustments to follow RESTful conventions. Frontend: URL invocation fixes and added Use module.\n- **24/02/2025**: The system evolved into a full product sales management platform. Added entities: Buyer, Product, Sale, User, and Login.\n- **14/02/2025**: Initial commit. Added Backend, Frontend, and Database. Implemented data export to Excel/PDF. Improved data presentation.\n\n---\n\n## 🎯 Objective\n\nPractice 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.\n\nTechnologies:\n\n- **.NET (C#)** and **SQL Server**\n- **Angular (TypeScript)**\n- **Design Patterns**\n- **Onion Architecture**\n\n---\n\n## 🚀 Features\n\n### 🔧 Backend\n\n- Based on **Onion Architecture**\n- Implements several **Design Patterns**, including:\n  - Data Transfer Object (DTO)\n- **Key Libraries**:\n  - **Encryption**:\n    - `System.Security.Cryptography` (AES-256)\n  - **Logging**:\n    - `Serilog`\n    - `Serilog.Extensions.Logging`\n    - `Serilog.Sinks.File`\n  - **ORM**:\n    - `Pomelo.EntityFrameworkCore.MySql` (MariaDB provider)\n\n---\n\n### 💻 Frontend\n\n- Built with **Angular 18.2.14**\n- Features:\n  - Reactive Forms\n  - AuthService and HTTP Interceptors\n  - Custom Pipes and Shared Modules\n\n---\n\n### 🗄️ Database\n\n- Uses **MariaDB**, running via **Docker Desktop**\n- Includes:\n  - Entity-Relationship Diagram (ERD)\n  - Sample data insertion scripts (`.sql`)\n  - **DDL scripts** for table creation\n  - **DML scripts** for sample data insertion\n\n---\n\n## 🧪 Installation\n\n### ✅ Prerequisites\n\nEnsure the following tools are installed:\n\n- [.NET SDK 9.0.200](https://dotnet.microsoft.com/)\n- [Docker Desktop 4.40.0+](https://www.docker.com/)\n- [Node.js + npm](https://nodejs.org/) (for frontend)\n- [Postman 11.44.3](https://www.postman.com/downloads/)\n\n---\n\n### 🔧 Setup Steps\n\n1. Clone the repository:\n    ```bash\n    git clone https://github.com/waltermillan/Sellers.git\n    ```\n\n2. Follow the video guide for setup:\n    - [Version 1 - Display Version](https://youtu.be/Qhcey6a2Xe0)\n\n3. Complete any remaining setup steps described in the project documentation.\n\n---\n\n## 📄 License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaltermillan%2Fsellers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwaltermillan%2Fsellers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaltermillan%2Fsellers/lists"}