{"id":27134680,"url":"https://github.com/augustoneves/employee-management-system","last_synced_at":"2026-04-11T05:31:53.522Z","repository":{"id":286693118,"uuid":"962240070","full_name":"AugustoNeves/employee-management-system","owner":"AugustoNeves","description":"This project is a Full-Stack Employee Management System built with .NET API, React (Vite), and SQL Server, containerized with Docker Compose for seamless deployment","archived":false,"fork":false,"pushed_at":"2025-04-07T21:47:05.000Z","size":0,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T22:31:54.545Z","etag":null,"topics":["csharp","docker","docker-compose","dotnet-core","entity-framework-core","material-ui","reactjs","sqlserver","vitejs"],"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/AugustoNeves.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":"2025-04-07T21:29:21.000Z","updated_at":"2025-04-07T21:50:06.000Z","dependencies_parsed_at":"2025-04-07T22:42:01.607Z","dependency_job_id":null,"html_url":"https://github.com/AugustoNeves/employee-management-system","commit_stats":null,"previous_names":["augustoneves/employee-management-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustoNeves%2Femployee-management-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustoNeves%2Femployee-management-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustoNeves%2Femployee-management-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustoNeves%2Femployee-management-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AugustoNeves","download_url":"https://codeload.github.com/AugustoNeves/employee-management-system/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247755590,"owners_count":20990626,"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":["csharp","docker","docker-compose","dotnet-core","entity-framework-core","material-ui","reactjs","sqlserver","vitejs"],"created_at":"2025-04-08T00:49:12.389Z","updated_at":"2025-12-30T20:21:51.160Z","avatar_url":"https://github.com/AugustoNeves.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca id=\"readme-top\"\u003e\u003c/a\u003e\n\n# Employee Management\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca\u003e\n    \u003cimg src=\"./docs/EMS.jpg\" alt=\"Logo\" width=\"680\" height=\"480\"\u003e\n  \u003c/a\u003e\n\n\u003ch3 align=\"center\"\u003eEmployee Management System\u003c/h3\u003e\n\n\u003c/div\u003e\n\n## Table of contents\n\n- [Employee Management](#employee-management)\n  - [Table of contents](#table-of-contents)\n  - [About The Project](#about-the-project)\n    - [Built with](#built-with)\n    - [Entity Relationship Diagram](#entity-relationship-diagram)\n  - [Getting Started](#getting-started)\n    - [Prerequisites](#prerequisites)\n    - [Installation and usage](#installation-and-usage)\n    - [1. Clone the Repository](#1-clone-the-repository)\n    - [2. Run the Entire Application with Docker](#2-run-the-entire-application-with-docker)\n    - [3. Navigate to the application](#3-navigate-to-the-application)\n  - [Functional Testing Instructions](#functional-testing-instructions)\n    - [Running the Tests](#running-the-tests)\n\n## About The Project\n\nThis project is a **Full-Stack Employee Management System** built with **.NET API**, **React (Vite)**, and **SQL Server**, containerized with **Docker Compose** for seamless deployment. It follows **Clean Architecture** principles and uses **MediatR** for handling commands and queries **(CQRS)** efficiently.The solution includes **TestContainers** for reliable, isolated end-to-end functional testing that ensures API functionality across environments.\n\n### Built with\n\n[![.NET][.NET]][.NET-url] [![React][React.js]][React-url] [![Docker][Docker]][Docker-url][![MSSQL][MSSQL]][MSSQL-url]\n\n### Entity Relationship Diagram\n\n**Entity relationship between Department and Employee**\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca\u003e\n    \u003cimg src=\"./docs/mermaid-diagram-2025-03-24-003017.png\" alt=\"Logo\" width=\"1024\" height=\"780\"\u003e\n  \u003c/a\u003e\n\n\u003c/div\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n\n## Getting Started\n\n### Prerequisites\n\nBefore running this project, ensure you have the following installed:\n\n**[Docker \u0026 Docker Compose](https://www.docker.com/get-started/)** – To run the entire stack in containers.  \n**[Node.js (18+)](https://nodejs.org/)** – Required for the frontend.  \n**[.NET SDK (8.0+)](https://dotnet.microsoft.com/en-us/download)** – To build and run the API manually.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Installation and usage\n\nFollow these steps to set up and run the project.\n\n### 1. Clone the Repository\n\n```sh\ngit clone https://github.com/AugustoNeves/employee-management-system.git\ncd employee-management-system\n```\n\n### 2. Run the Entire Application with Docker\n\n```sh\ndocker-compose up -d --build\n```\n\n### 3. Navigate to the application\n\nOpen your browser and access the frontend app in the URL: http://localhost:4173\n\n- **Data:** An initial set of data will be seeded on the running API.\n\nThe home page displays the list of employees registered in the database, as shown below:\n\n![alt text](./docs/employee-list.png)\n\n- **Swagger Documentation:** If you prefer you can navigate to the swagger API in the URL: https://localhost:5001/swagger/index.html\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n[.NET]: https://img.shields.io/badge/.NET-512BD4?style=for-the-badge\n[.NET-url]: https://dotnet.microsoft.com/en-us/\n[React.js]: https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB\n[React-url]: https://reactjs.org/\n[Docker]: https://img.shields.io/badge/Docker-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white\n[Docker-url]: https://www.docker.com/\n[MSSQL]: https://img.shields.io/badge/MSSQL-black?style=for-the-badge\u0026logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAIR0lEQVR4nO1Ze4xUVxm%2Frdi09VFbtOzc75vZbB8byyqIWChQFAwpuLSJ1VqrtQVRq1Ex1Tb2LaZRqLykD1NbAxrTELqiUJg5Z%2FYBQ6EsUGfOuQuz95y551yW5S20vCmvwJjvziwZMf1zZ%2BcPfskkc889Z%2BZ7%2Fr5zvuM4l3EZtQHPDxulto9KZVcKbfYXi8UrnFpHVvd8Vmo7T2pr6CO0fS1XsA8IbU9sDoJPOrWKbdt3DRfKbhcqPOip4BURBEMr3wttCp5vP%2BfUIqQ290tt9pGQQttjFC5S2%2FekMh1S2%2FmiYB6WyqwhTzi1iI1z5p6KQqdQAFJEKjMx6%2B%2BICW2%2FJpR5Wii7WShzQepwqVOLSA8bfqp15MhsEmC0p%2B1XpTZ7SSF6J1T43cgb2v6acqImE7lt2LDJHPFkCrGHIx5sHzVarn%2Fs8SPvzFuQ37JilZXrO8fRPKlMFyno1CIY4r0MYG86kRjLXPeejubm5W2j78gyAMUAznKAD1qHDe9aO%2F372zniD1Ox2Lh21x3s1BKY605jiEHrkCEfo%2BfViMAB1nFEmQZoZwBvtjY1%2FZYDLOaImzjAYQ5wiAPsYK47O404pQXxmoFVAmAJA3gljTiKA%2BzjiM9mHGdQKh7%2FEkcUffNSrtvIEP%2FJAI5wgNPcdV9giBkOcJTG0wDfbHGcj1RdgfabbrqOLMvi8RMMcXbL0KFX0Ximvv5qEm5VLHYtA5hLlmeIsxjiTIa4um99GvGGFMDDHHEzQ%2BxlAAvYLbdUtwCmAZZygHfJ4hzxGENMcoAfU6IzRMUB3uCJRIzmMsROjvidvrU8Hm9iAE9S6KUATnHEInPd3dx176%2BeAohTOOIa%2Bp5MJK5niA9yAJ%2BEIcFYIhFV6TTAcAawJ1NfX8cAHuUA3RxxFwP4C4UQB3iaI7akASYyAEOhtSoW%2B3S%2FK9AWj7sMYH9ZmRs4YgcD2MYRNzCAX3LEHRxgRarkIcEQ36PcIWZyyuhoaBjCEQ%2BkY7GonlByM8QXGUAPAxjWrwrMcpwrGeK5NoBbyfLlP36LwihSynXv5gAnOeIFsmzrkCE3Vq4vOs4VHDFFOXLpbxMFEzn0uxIM4AxZkAM8lHbdeNnKzVEIAeQZwI40wI84wDJ6TtbV3XZRSICnOMCGD2MhygeqOcm6uvr%2BYyLE8xxgK4VFxPukEEBIf55EnMUBWi8qizgjsqrrjuAA32CIOxkA0jvyDgeYwF33JwxxEa0rs9NZjvh6vyjA4vG7GEBnCvHn5UJ1Ju26zxCVkpAM8T%2BXWo%2BYiJe89D5HXMgAVtK8ci1ZwxD%2FzOPxX3GAqRSaVFv6RfhIAYC%2FRlyPuIlRnLvuZmKWlYMHf4IhagZwH82jGpFsaJjEE4n50dwSbXaTpRniA%2B2xWKLfhPxQ4ePxmxniibI1SaCFEYMA7ClX2jcYwCPEQlSF28eMfb%2BjuXkZhRp5yBlIEHtEdAmwO2IdxA6yMqur%2BwxH9HhDw9l0Y%2BPp1i%2BMSFLI0GZOKvOMUOYFpxbAEZ9jiBtTrruQA%2Fw7CfBQuQofJlrcuOilfaKr%2B2WpTa9QZoNQwX25ILxHKsMGWnaHA3yLikwrbRPi8V3pxsajbXeOP7h26tQnaHeaz%2BevEtqeyfT0XJ3JZAaVjqF2k1Bmt9R278AK77qTGADF%2FJ4UwOm2UaPe3vLm8pxU5nmpzYs0h05oQtmwch0pIbQ5RIoNmPBJxC%2FzeJw2bBeIYWh%2FQ60Uqe0TW3x%2FsFB2V5dvvhgd7LVtoTW5QuE2ocwaoW1eKjOBzsstxWL1t87p22%2Bfyevrz7fdOf74O%2FMXtNNYJLQ2h7bke%2Bro2fPDu6WyVmrzD6Htb6KekTJHhLbPUVjRGVkocz6b3XNtVYVfN33GnPYJE89s%2BN3vlwltXxc6%2BAGNR0Iq%2B%2FfKuV0FO11qe04qe1Zos4S6F5XvKYSy2exHqyb8xjnz%2Frjp1dcO5XwzpiSAWSyVnZ5TypXKHvS0bujzhlT22XKr5aBQpktos5XGcsqO3Lq19%2FpsGF4nlfmgasIL304TKthf2WUjgYSyC4Wyy4Qyf%2BgqhOMpD0oJapYIZZJS29k0N%2BsHd1BilxjInibrC20OV0f4bnsrWfj%2F2oZBMFQqc1Ioe5SSVmizTfjmKc%2FaG4k2pbIHaG3ffAoXqewjQtndnrZtwg86qqKAp8y%2FhB%2BsocoptJkrtVkutQmktsekNufImtIP7vof5Xw7TWq7jr4Xi8UrpQofJDqVyqTIi0KZx6W2L1VFAaHMIanMn0oKhE9GxajbNMlCuEEo81iZ9%2FdKbb5O7FK2tM0qM5lyhHqnpAxRZ99vkhGEby%2BeifsVUpuT%2BXz%2B45VjEato%2B1ZfyzBqLSrjSWXelcr8TWobSm12RLzvB1%2BpXEtrpLZ7%2Bii33yG0XVvZYS5Z3XbLnp5PVQq1NeydJJSVUtsiMYz0bUtOmymXcr1QZiwVM6dayPlmDCWpFwQjaCNGSZjr3l5PFxeyYO8tVWDTKwvhNqHogiNcRLc0FOdCmfVSmVNSWT8KG21flgXTQQXNqSY8ZSZ72h6IChOFhjY9QtvjUtm3iXm6VPj5Ui7YTtq0Va4lD9AcotccUawyx7P5sPqHli2mt0loK6QyKqfMTM%2Fzol4ogeiRFKNqS6xDHvBUOENqs7TcZt8kdPBTT9lfCG1XOQMJQRcY2qwu3ciYV2XBLo4uMko3Mxsjz5S8tETq4HtUqWld586d11CoeYXCaKcWkM2HCanNz4QyvVFlVXYfsY5U4fOeNt%2BW2o7LBsHNtHUoFTY6hdkVTi0ik8kMigpUafs8j7YX5A2qB%2BW9%2Fwn6UPIPtKyXcRmX4dQm%2FguvH%2BRcw0PJ2AAAAABJRU5ErkJggg%3D%3D\n[MSSQL-url]: https://www.microsoft.com/en-us/sql-server/sql-server-downloads\n\n## Functional Testing Instructions\n\nThis project includes functional tests to ensure the reliability and correctness of the application. The tests are located in the `tests/Employee.Application.FunctionalTesting` folder. Follow the steps below to run the tests.\n\n### Running the Tests\n\n1. **Navigate to the Testing Folder**  \n   Open a terminal and navigate to the testing folder:\n\n```sh\ncd tests/Employee.Application.FunctionalTesting\n```\n\n2. **Run the Tests**  \n   Execute the following command to run all the tests:\n\n```sh\ndotnet run\n```\n\n3. **Test Containers**  \n   The tests use TestContainers to create a SQL Server container for testing purposes. Ensure that Docker is running before executing the tests.\n   The container will be automatically created and destroyed during the test execution.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faugustoneves%2Femployee-management-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faugustoneves%2Femployee-management-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faugustoneves%2Femployee-management-system/lists"}