{"id":20791707,"url":"https://github.com/dzenis-h/ems-mern","last_synced_at":"2026-04-11T10:09:00.459Z","repository":{"id":226866922,"uuid":"769824964","full_name":"dzenis-h/EMS-MERN","owner":"dzenis-h","description":"Our new advanced Employee Management System [EMS] for Accounting and HR goes beyond the basics. Powered by the MERN+ stack, including TypeScript and more, it brings a cutting-edge blend of MongoDB, Express.js, React, Node.js, and additional technologies. 🚀 📊 📉 📆","archived":false,"fork":false,"pushed_at":"2024-05-02T17:51:07.000Z","size":1715,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T12:25:30.598Z","etag":null,"topics":["babel","bootstrap","css3","express","html5","javascript","mern-stack","mongodb","mongoose","nodejs","react","redux","typescript","webpack"],"latest_commit_sha":null,"homepage":"https://ems-mern.onrender.com","language":"TypeScript","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/dzenis-h.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":"2024-03-10T06:52:30.000Z","updated_at":"2024-04-09T06:06:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"f00259f6-1359-4c9b-a393-d9f2833e7369","html_url":"https://github.com/dzenis-h/EMS-MERN","commit_stats":null,"previous_names":["dzenis-h/ems-mern"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dzenis-h/EMS-MERN","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzenis-h%2FEMS-MERN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzenis-h%2FEMS-MERN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzenis-h%2FEMS-MERN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzenis-h%2FEMS-MERN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dzenis-h","download_url":"https://codeload.github.com/dzenis-h/EMS-MERN/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzenis-h%2FEMS-MERN/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31676375,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T08:18:19.405Z","status":"ssl_error","status_checked_at":"2026-04-11T08:17:08.892Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["babel","bootstrap","css3","express","html5","javascript","mern-stack","mongodb","mongoose","nodejs","react","redux","typescript","webpack"],"created_at":"2024-11-17T15:46:55.219Z","updated_at":"2026-04-11T10:09:00.426Z","avatar_url":"https://github.com/dzenis-h.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"##\n![GitHub contributors](https://img.shields.io/github/contributors/dzenis-h/EMS-MERN)\n![GitHub stars](https://img.shields.io/github/stars/dzenis-h/EMS-MERN?style=social)\n![GitHub forks](https://img.shields.io/github/forks/dzenis-h/EMS-MERN?style=social)\n[![LinkedIn Follow](https://img.shields.io/badge/-Follow-blue?style=social\u0026logo=linkedin\u0026link=https://www.linkedin.com/in/dzenis-h/)](https://www.linkedin.com/in/dzenis-h/)\n[![GitHub Follow](https://img.shields.io/badge/-Follow-black?style=social\u0026logo=github\u0026link=https://github.com/dzenis-h)](https://github.com/dzenis-h)\n##\n# \u003cimg src=\"https://raw.githubusercontent.com/dzenis-h/Mars-EMS/master/frontend/public/favicon.ico\" width=\"32\" height=\"32\" style=\"padding: 5px\"\u003e EMS-MERN\n\n## Overview 📂\n\nEMS-MERN is a full-stack web application that simulates an Employee Management System for, both, the accountant and HR departments. It uses Google Sheets as a database and Google OAuth 2.0 for authentication. It allows users to manage employees, their salaries, bonuses, penalties, and more. It also calculates the total payroll for each month and displays it in a dashboard. The EMS stands for an employee management system which was built to help companies reduce their time spent regarding the Accounting and HR departments.\nIt helps with generating salaries, penalties, bonuses, etc. Employing a new staff member is only a few clicks away or giving an end date takes one click. It contains many other features, like giving loans to employees, tracking their installments, making annual/ monthly reports, and much more. It looks and feels great thanks to great structure and design, and even though it possesses many features, the complexity is hidden from the end-user. So it always appears easy to use, no matter what functionality level you choose. It uses ReactJS (AND its entire ecosystem) on the frontend and NodeJS (SailsJS) + MongoDB/ Mongoose on the backend.\n\n![Screenshot of Mars-EMS](https://drive.google.com/uc?export=view\u0026id=1xNayKUTncYEUe6kOEE1QCAgVMzJaHEiM)\n\n## Tech Stack 🛠\n\n| Tech                                                                                                                                 | Docs                                                                         | Description                                                                                                       |\n| ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |\n| \u003cimg src=\"https://img.shields.io/badge/-ReactJS-blue?logo=react\u0026style=for-the-badge\" width=\"100\" height=\"30\"\u003e                        | [ReactJS](https://reactjs.org/docs/getting-started.html)                     | A JavaScript library for building user interfaces                                                                 |\n| \u003cimg src=\"https://img.shields.io/badge/-Node.js-green?logo=node.js\u0026style=for-the-badge\" width=\"100\" height=\"30\"\u003e                     | [Node.js](https://nodejs.org/en/docs/)                                       | A JavaScript runtime environment that executes JavaScript code outside a web browser                              |\n| \u003cimg src=\"https://img.shields.io/badge/-Express-yellow?logo=express\u0026style=for-the-badge\" width=\"100\" height=\"30\"\u003e                    | [Express](https://expressjs.com/en/4x/api.html)                              | A web application framework for Node.js                                                                           |\n| \u003cimg src=\"https://img.shields.io/badge/-MongoDB-brightgreen?logo=mongodb\u0026style=for-the-badge\" width=\"100\" height=\"30\"\u003e               | [MongoDB](https://docs.mongodb.com/)                                         | A cross-platform document-oriented database program                                                               |\n| \u003cimg src=\"https://img.shields.io/badge/-Bootstrap-purple?logo=bootstrap\u0026style=for-the-badge\" width=\"100\" height=\"30\"\u003e                | [Bootstrap](https://getbootstrap.com/docs/5.0/getting-started/introduction/) | A popular front-end framework for building responsive web pages                                                   |\n| \u003cimg src=\"https://img.shields.io/badge/-Redux-pink?logo=redux\u0026style=for-the-badge\" width=\"100\" height=\"30\"\u003e                          | [Redux](https://redux.js.org/introduction/getting-started)                   | A state management library for JavaScript applications                                                            |\n| \u003cimg src=\"https://img.shields.io/badge/-OAuth2-orange?logo=oauth\u0026style=for-the-badge\" width=\"100\" height=\"30\"\u003e                       | [OAuth2](https://oauth.net/2/)                                               | An open standard for access delegation                                                                            |\n| \u003cimg src=\"https://img.shields.io/badge/-React_Router-red?logo=react-router\u0026style=for-the-badge\" width=\"100\" height=\"30\"\u003e             | [React Router](https://reactrouter.com/web/guides/quick-start)               | A collection of navigational components for React applications                                                    |\n| \u003cimg src=\"https://img.shields.io/badge/-CSS3-blue?logo=css3\u0026style=for-the-badge\" width=\"100\" height=\"30\"\u003e                            | [CSS3](https://developer.mozilla.org/en-US/docs/Web/CSS)                     | A style sheet language for describing the presentation of web pages                                               |\n| \u003cimg src=\"https://img.shields.io/badge/-Redux_Forms-purple?logo=redux\u0026style=for-the-badge\" width=\"100\" height=\"30\"\u003e                  | [Redux Forms](https://redux-form.com/8.3.0/docs/gettingstarted.md/)          | A library for managing form state in Redux applications                                                           |\n| \u003cimg src=\"https://img.shields.io/badge/-Redux_Thunk-green?logo=redux\u0026style=for-the-badge\" width=\"100\" height=\"30\"\u003e                   | [Redux Thunk](https://github.com/reduxjs/redux-thunk)                        | A middleware for writing async logic that interacts with the Redux store                                          |\n| \u003cimg src=\"https://img.shields.io/badge/-Google_Sheets_API-yellow?logo=google-sheets\u0026style=for-the-badge\" width=\"100\" height=\"30\"\u003e    | [Google Sheets API](https://developers.google.com/sheets/api)                | An API for reading and writing data to Google Sheets                                                              |\n| \u003cimg src=\"https://img.shields.io/badge/-Lodash-gray?logo=lodash\u0026style=for-the-badge\" width=\"100\" height=\"30\"\u003e                        | [Lodash](https://lodash.com/docs/)                                           | A utility library for manipulating and iterating over arrays, objects, and strings                                |\n| \u003cimg src=\"https://img.shields.io/badge/-Restful_API-brown?logo=rest\u0026style=for-the-badge\" width=\"100\" height=\"30\"\u003e                    | [Restful API](https://restfulapi.net/)                                       | An architectural style for designing web services that provide a uniform interface for interacting with resources |\n\n\u003cimg src=\"https://raw.githubusercontent.com/dzenis-h/Mars-EMS/c0ea5eaad953548777c7f006faf65081f41b0ea1/stack.svg\" width=\"500\" height=\"300\"\u003e\n\n## Contributing 🙌\n\nContributions are always welcome! If you would like to contribute to this project, please follow these steps:\n\n1. Fork the repository. 🍴\n2. Create a new branch. 🌵\n3. Make your changes and test them thoroughly. 👨‍💻\n4. Submit a pull request. ✔\n\n## License 📄\n\nThis project is licensed under the MIT License. See the [LICENSE](https://docs.google.com/document/d/11WK7tVoTFRMcWCuGZQCRWxEsDUEJ_6ArtfV-NjWcBCU/edit?usp=sharing) file for more details.\n\n## Credits 👾\n\nThis project was created by [Dzenis H.](https://dzenis.tech)\n\n\"If you like what you see, please consider giving a ⭐️\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdzenis-h%2Fems-mern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdzenis-h%2Fems-mern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdzenis-h%2Fems-mern/lists"}