{"id":15100928,"url":"https://github.com/nelofarzabi/user_management_system","last_synced_at":"2026-02-07T01:30:46.533Z","repository":{"id":254549635,"uuid":"846872492","full_name":"Nelofarzabi/User_Management_System","owner":"Nelofarzabi","description":"This project is developed using Node.JS, TypeScript, MySQL, and Sequelize ORM for managing users, roles, and permissions. The project includes comprehensive user management with JWT authentication, role-based authorization, and a focus on test-driven development.","archived":false,"fork":false,"pushed_at":"2024-09-23T02:48:00.000Z","size":179,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T13:48:53.147Z","etag":null,"topics":["jest-mocking","jwt-token","mysql-database","nodejs","rest-api","sequelize-orm","typescript"],"latest_commit_sha":null,"homepage":"","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/Nelofarzabi.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-08-24T07:27:21.000Z","updated_at":"2024-09-23T02:48:04.000Z","dependencies_parsed_at":"2024-12-06T08:25:36.675Z","dependency_job_id":"7a25bc99-4043-48ee-9626-c069ab6dc0a0","html_url":"https://github.com/Nelofarzabi/User_Management_System","commit_stats":null,"previous_names":["nelofarzabi/user_management_system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nelofarzabi%2FUser_Management_System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nelofarzabi%2FUser_Management_System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nelofarzabi%2FUser_Management_System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nelofarzabi%2FUser_Management_System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nelofarzabi","download_url":"https://codeload.github.com/Nelofarzabi/User_Management_System/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245858878,"owners_count":20684057,"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":["jest-mocking","jwt-token","mysql-database","nodejs","rest-api","sequelize-orm","typescript"],"created_at":"2024-09-25T18:03:31.896Z","updated_at":"2026-02-07T01:30:46.517Z","avatar_url":"https://github.com/Nelofarzabi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# User Management System\n\n\nThis project is developed using Node.JS, TypeScript, MySQL, and Sequelize ORM for managing users, roles, and permissions. The project includes comprehensive user management with JWT authentication, role-based authorization, and a focus on test-driven development.\n\n## 📗 Table of Contents\n\n- [TDD](#tdd)\n- [Built With](#built-with)\n- [Tech Stack](#tech-stack)\n- [Key Features](#key-features)\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Setup](#setup)\n  - [Install](#install)\n  - [Usage](#usage)\n  - [Run tests](#run-tests)\n- [Authors](#authors)\n- [🔭 Future Features](#future-features)\n- [🤝 Contributing](#contributing)\n- [Show your support](#show-your-support)\n- [Acknowledgments](#acknowledgments)\n- [📝 License](#license)\n\n## TDD\n\nThis project is developed using Test-Driven Development (TDD) principles, ensuring high-quality and maintainable code. Unit tests are written using Jest to cover key functionalities such as user management, authentication, and authorization.\n\n## Built With\n\n- **Node.js** - A JavaScript runtime built on Chrome's V8 JavaScript engine.\n- **TypeScript** - A strict syntactical superset of JavaScript that adds optional static typing.\n- **MySQL** - A relational database management system based on SQL.\n- **Sequelize ORM** - A promise-based Node.js ORM for MySQL.\n- **JWT** - JSON Web Tokens for secure user authentication and authorization.\n\n## Tech Stack\n\n**Server:**  \n- Node.js  \n- Express.js  \n\n**Database:**  \n- MySQL  \n\n**Testing:**  \n- Jest  \n- Supertest\n\n## Key Features\n\n- **User Management:** Create, update, delete, and retrieve users with role assignments.\n- **Authentication \u0026 Authorization:** Secure authentication with JWT and role-based authorization.\n- **API Endpoints:** RESTful API endpoints for user and role management.\n- **Sequelize ORM:** Efficient database management with Sequelize.\n- **TypeScript:** Strongly typed language features for better code quality.\n- **TDD:** Comprehensive unit tests for all key functionalities using Jest.\n\n## Getting Started\n\nTo get a local copy up and running, follow these steps.\n\n### Prerequisites\n\nBefore you begin, ensure you have the following installed:\n\n- **Git:** Version control system.\n- **Node.js:** JavaScript runtime environment.\n- **npm or yarn:** Package managers.\n- **MySQL:** Relational database management system.\n- **TypeScript:** Static type-checking for JavaScript.\n\n### Setup\n\n1. **Clone the repository:**\n    ```bash\n    git clone https://github.com/Nelofarzabi/User_Management_System.git\n    ```\n\n2. **Navigate to the project directory:**\n    ```bash\n    cd user-management-system\n    ```\n\n3. **Set up the environment variables:**\n   Create a `.env` file in the root directory and add your database configuration and JWT secret.\n\n### Install\n\nInstall the dependencies:\n```bash\nnpm install or yarn install\n```\n\n### Usage\nTo run the project, execute the following command:\n```bash\nnpm start\n```\n\nThis will start the server in development mode. Open your browser and go to http://localhost:3000/api/v1/.\n\n### Run tests\nTo run tests, execute the following command:\n```bash\nnpm test\n```\nThis will run all unit tests and display the results. You can also check for TypeScript errors by running:\n```bash\nnpm run lint\n```\n\n## Author\n👤 **Nelofar Zabi**\n\n- GitHub: [@githubhandle](https://github.com/Nelofarzabi)\n- Twitter: [@twitterhandle](https://twitter.com/NelofarZabi)\n- LinkedIn: [LinkedIn](https://www.linkedin.com/in/nelofar-zabi-1a1066213)\n\n\n## 🔭 Future Features \u003ca name=\"future-features\"\u003e\u003c/a\u003e\n\n-  **Advanced Authorization: Implement fine-grained permissions for different roles.**\n-  **API Documentation: Add Swagger for API documentation.**\n-  **Integration Tests: Add more comprehensive integration tests.**\n\n## 🤝 Contributing\n\nContributions, issues, and feature requests are welcome!\n\nFeel free to check the [issues page](https://github.com/Nelofarzabi/User_Management_System/issues).\n\n## Show your support\n\nGive a ⭐️ if you like this project!\n\n## Acknowledgments\n\n- Thanks to my mentor [@Snaaimy](https://github.com/Snaaimy) for his valuable feedback and support throughout the development process.\n- A big thank you to the open-source community for the tools and resources that made this project possible.\n\n## 📝 License\n\nThis project is [MIT](./https://github.com/Nelofarzabi/User_Management_System/#MIT-1-ov-file) licensed.\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnelofarzabi%2Fuser_management_system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnelofarzabi%2Fuser_management_system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnelofarzabi%2Fuser_management_system/lists"}