{"id":22125914,"url":"https://github.com/neemiasborges/csharpzoo_management","last_synced_at":"2025-08-12T09:15:42.105Z","repository":{"id":244760083,"uuid":"816102223","full_name":"NeemiasBorges/CSharpZoo_Management","owner":"NeemiasBorges","description":"VetTec é um sistema de gerenciamento de zoológico desenvolvido em C# com .NET 8 e Windows Forms. Permite registrar, atualizar e editar informações dos animais. Utiliza Seq Datalust para logs e alertas, e SQL Server para persistência de dados, seguindo a Clean Architecture.","archived":false,"fork":false,"pushed_at":"2024-07-15T00:27:05.000Z","size":8726,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-29T13:28:30.223Z","etag":null,"topics":["clean-architecture","clean-code","csharp","studies","zoo"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NeemiasBorges.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-06-17T03:38:30.000Z","updated_at":"2024-07-15T00:44:53.000Z","dependencies_parsed_at":"2024-07-15T01:45:04.956Z","dependency_job_id":null,"html_url":"https://github.com/NeemiasBorges/CSharpZoo_Management","commit_stats":null,"previous_names":["neemiasborges/vettec","neemiasborges/csharpzoo_management"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeemiasBorges%2FCSharpZoo_Management","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeemiasBorges%2FCSharpZoo_Management/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeemiasBorges%2FCSharpZoo_Management/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeemiasBorges%2FCSharpZoo_Management/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NeemiasBorges","download_url":"https://codeload.github.com/NeemiasBorges/CSharpZoo_Management/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245232888,"owners_count":20581702,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["clean-architecture","clean-code","csharp","studies","zoo"],"created_at":"2024-12-01T16:40:57.609Z","updated_at":"2025-03-24T08:16:20.322Z","avatar_url":"https://github.com/NeemiasBorges.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VetTec [For study purposes] \n\n# Sistema de Zoológico\n\nEste repositório contém um sistema de gerenciamento de zoológico desenvolvido em C# utilizando Windows Forms com .NET 8. O sistema permite que os usuários se cadastrem, atualizem e editem informações sobre os animais. Além disso, ele utiliza o Seq Datalust para registrar logs e alertar os usuários caso ocorra algum erro específico. O banco de dados utilizado é o SQL e o projeto segue os princípios da Clean Architecture.\n\nThis repository contains a zoo management system developed in C# using Windows Forms with .NET 8. The system allows users to register, update, and edit information about animals. Additionally, it uses Seq Datalust to log and alert users in case a specific error occurs. The database used is SQL, and the project follows the principles of Clean Architecture.\n\n## Conceitos Utilizados / Concepts Used\n\nEste projeto utiliza os seguintes conceitos e práticas:\n\nThis project uses the following concepts and practices:\n\n- **Idempotência / Idempotency**: Garantia de que operações podem ser repetidas sem efeitos colaterais adicionais.\n  - Ensures that operations can be repeated without additional side effects.\n- **Logger**: Registro de eventos e erros para monitoramento e depuração.\n  - Event and error logging for monitoring and debugging.\n- **Alertings**: Notificações de erros e eventos críticos para os usuários.\n  - Notifications of errors and critical events to users.\n- **Serviços em camadas / Layered Services**: Estruturação do código em camadas lógicas para melhor organização e manutenção.\n  - Structuring code into logical layers for better organization and maintainability.\n- **Separação de responsabilidades / Separation of Concerns**: Cada componente do sistema tem uma responsabilidade específica e bem definida.\n  - Each component of the system has a specific and well-defined responsibility.\n- **Injeção de dependências / Dependency Injection**: Gerenciamento de dependências para promover um código mais modular e testável.\n  - Managing dependencies to promote more modular and testable code.\n- **Clean Code**: Práticas de codificação que promovem legibilidade, simplicidade e manutenção do código.\n  - Coding practices that promote readability, simplicity, and maintainability of the code.\n- **SOLID**: Princípios de design de software que promovem a escalabilidade e a robustez do código.\n  - Software design principles that promote code scalability and robustness.\n\n## Sumário / Summary\n\n- [Pré-requisitos / Prerequisites](#pré-requisitos--prerequisites)\n- [Instalação / Installation](#instalação--installation)\n- [Estrutura do Projeto / Project Structure](#estrutura-do-projeto--project-structure)\n- [Configuração do Seq / Seq Configuration](#configuração-do-seq--seq-configuration)\n- [Uso / Usage](#uso--usage)\n- [Contribuição / Contribution](#contribuição--contribution)\n- [Licença / License](#licença--license)\n\n## Pré-requisitos / Prerequisites\n\nAntes de começar, você precisará das seguintes ferramentas instaladas no seu ambiente:\n\nBefore starting, you will need the following tools installed in your environment:\n\n- [Visual Studio 2022](https://visualstudio.microsoft.com/)\n- [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0)\n- [SQL Server](https://www.microsoft.com/pt-br/sql-server/sql-server-downloads)\n- [Seq](https://datalust.co/seq)\n\n## Instalação / Installation\n\n1. Clone o repositório para o seu ambiente local:\n\n   Clone the repository to your local environment:\n\n   ```bash\n   git clone https://github.com/NeemiasBorges/VetTec.git\n   cd VetTec\n   ```\n\n2. Abra a solução no Visual Studio 2022.\n\n   Open the solution in Visual Studio 2022.\n\n3. Configure a string de conexão com o banco de dados SQL Server no arquivo `appsettings.json` do projeto:\n\n   Configure the connection string to the SQL Server database in the project's `appsettings.json` file:\n\n   ```json\n   {\n     \"ConnectionStrings\": {\n       \"DefaultConnection\": \"Server=seu-servidor;Database=nome-do-banco;User Id=seu-usuario;Password=sua-senha;\"\n     },\n     \"Seq\": {\n       \"Url\": \"http://localhost:5341\",\n       \"ApiKey\": \"sua-chave-api-seq\"\n     }\n   }\n   ```\n\n4. Restaure os pacotes NuGet e construa a solução:\n\n   Restore the NuGet packages and build the solution:\n\n   ```bash\n   dotnet restore\n   dotnet build\n   ```\n\n## Estrutura do Projeto / Project Structure\n\nA solução segue os princípios da Clean Architecture e está organizada da seguinte forma:\n\nThe solution follows the principles of Clean Architecture and is organized as follows:\n\n- **Application**: Contém as interfaces dos serviços, casos de uso e DTOs.\n  - Contains service interfaces, use cases, and DTOs.\n- **Domain**: Contém as entidades e interfaces de repositório.\n  - Contains entities and repository interfaces.\n- **Infrastructure**: Implementa os repositórios, serviços de log e contexto do banco de dados.\n  - Implements repositories, logging services, and database context.\n- **Presentation**: Contém os formulários e a lógica de interface do usuário (Windows Forms).\n  - Contains forms and user interface logic (Windows Forms).\n- **CrossCutting**: Contém classes comuns e utilitários compartilhados entre os diferentes projetos.\n  - Contains common classes and utilities shared among different projects.\n\n## Configuração do Seq / Seq Configuration\n\nPara configurar o Seq Datalust, siga as instruções abaixo:\n\nTo configure Seq Datalust, follow the instructions below:\n\n1. Baixe e instale o Seq a partir do [site oficial](https://datalust.co/seq).\n\n   Download and install Seq from the [official website](https://datalust.co/seq).\n\n2. Inicie o Seq e configure a URL e a chave da API no arquivo `appsettings.json` conforme mencionado na seção de instalação.\n\n   Start Seq and configure the URL and API key in the `appsettings.json` file as mentioned in the installation section.\n\n## Uso / Usage\n\n1. Inicie a aplicação pelo Visual Studio ou via terminal:\n\n   Start the application via Visual Studio or terminal:\n\n   ```bash\n   dotnet run --project src/Presentation\n   ```\n\n2. Utilize a interface do usuário para cadastrar, atualizar e editar informações sobre os animais do zoológico.\n\n   Use the user interface to register, update, and edit information about the zoo animals.\n\n3. Verifique os logs no Seq para monitorar eventos e erros.\n\n   Check the logs in Seq to monitor events and errors.\n\n## Contribuição / Contribution\n\nContribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.\n\nContributions are welcome! Feel free to open issues and pull requests.\n\nPara contribuir:\n\nTo contribute:\n\n1. Fork o projeto / Fork the project\n2. Crie uma branch para sua feature (`git checkout -b feature/nova-feature`) / Create a branch for your feature (`git checkout -b feature/new-feature`)\n3. Commit suas mudanças (`git commit -am 'Adicione uma nova feature'`) / Commit your changes (`git commit -am 'Add a new feature'`)\n4. Push para a branch (`git push origin feature/nova-feature`) / Push to the branch (`git push origin feature/new-feature`)\n5. Abra um Pull Request / Open a Pull Request\n\n## Licença / License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n\nSe você tiver alguma dúvida ou precisar de ajuda, sinta-se à vontade para abrir uma issue ou entrar em contato.\n\nIf you have any questions or need help, feel free to open an issue or get in touch.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneemiasborges%2Fcsharpzoo_management","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneemiasborges%2Fcsharpzoo_management","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneemiasborges%2Fcsharpzoo_management/lists"}