{"id":23541034,"url":"https://github.com/souravpl8092/micro-services-components","last_synced_at":"2026-04-09T12:02:03.883Z","repository":{"id":167930656,"uuid":"643487227","full_name":"souravpl8092/Micro-Services-Components","owner":"souravpl8092","description":"This is a User Management Application that allows you to manage user data, including creating new users, updating existing users, and exporting user data as a CSV file. It provides a web-based interface for interacting with the application.","archived":false,"fork":false,"pushed_at":"2023-05-21T14:50:06.000Z","size":66,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T04:34:49.184Z","etag":null,"topics":["chakra-ui","cors","dotenv","express-js","fast-gateway","json2csv","mongodb","mongoose","node-js","nodemon","react-router-dom","reactjs"],"latest_commit_sha":null,"homepage":"https://goldstone-assignment.vercel.app/","language":"JavaScript","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/souravpl8092.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":"2023-05-21T10:20:45.000Z","updated_at":"2023-09-12T18:28:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"b1156b9b-4053-4213-8687-c21bbd38e56c","html_url":"https://github.com/souravpl8092/Micro-Services-Components","commit_stats":null,"previous_names":["souravpl8092/goldstone-assignment","souravpl8092/micro-services-components"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/souravpl8092/Micro-Services-Components","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/souravpl8092%2FMicro-Services-Components","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/souravpl8092%2FMicro-Services-Components/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/souravpl8092%2FMicro-Services-Components/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/souravpl8092%2FMicro-Services-Components/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/souravpl8092","download_url":"https://codeload.github.com/souravpl8092/Micro-Services-Components/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/souravpl8092%2FMicro-Services-Components/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259890446,"owners_count":22927373,"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":["chakra-ui","cors","dotenv","express-js","fast-gateway","json2csv","mongodb","mongoose","node-js","nodemon","react-router-dom","reactjs"],"created_at":"2024-12-26T05:13:44.981Z","updated_at":"2025-12-30T19:57:39.848Z","avatar_url":"https://github.com/souravpl8092.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e User Management Application \u003c/h1\u003e\n\n\u003cbr/\u003e\n\n\u003ch2\u003eOverview\u003c/h2\u003e\n \n### This is a User Management Application that allows you to manage user data, including creating new users, updating existing users, and exporting user data as a CSV file. It provides a web-based interface for interacting with the application.\n\n### It uses four microservices:\n\n- GET : Retrieves users based on a query.\n- POST : Creates a new user.\n- PUT : Updates an existing user.\n- EXPORT : Exports user data as a CSV file.\n\n\u003cbr/\u003e\n\n\u003ctable\u003e\n\u003ctr\u003e\n    \u003ctd\u003e\n      \u003ch2 align=\"center\"\u003eUser list page\u003c/h2\u003e\n    \u003c/td\u003e\n  \u003ctd\u003e\n      \u003ch2 align=\"center\"\u003eAdd user page\u003c/h2\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"https://i.imgur.com/f9IkTT8.png\" alt=\"User Page\"\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"https://i.imgur.com/PLNKarN.png\" alt=\"Add User\"\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e  \n  \u003ctr\u003e\n   \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ch2 align=\"center\"\u003eUpdate user page\u003c/h2\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"https://i.imgur.com/DwfstgJ.png\" alt=\"Edit User\"\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n \u003c/table\u003e\n  \n  \u003cbr/\u003e\n  \n\u003cbr/\u003e\n\n\u003ctable\u003e\n\u003ctr\u003e\n    \u003ctd\u003e\n      \u003ch2 align=\"center\"\u003ePostman GET request\u003c/h2\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"https://i.imgur.com/7oCOUkV.png\" alt=\"Get\"\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e  \n \u003c/table\u003e\n \n \u003cbr/\u003e\n \n \u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ch2 align=\"center\"\u003ePostman POST request\u003c/h2\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e \n    \u003ctd\u003e\n      \u003cimg src=\"https://i.imgur.com/WyUn1C8.png\" alt=\"Post\"\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e  \n  \u003c/table\u003e\n  \n  \u003cbr/\u003e\n  \n  \u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ch2 align=\"center\"\u003ePostman PUT request\u003c/h2\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"https://i.imgur.com/91a3Q0n.png\" alt=\"Put\"\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cbr/\u003e\n\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\n- View a list of users with their names, email addresses, gender, and status.\n- Add new users to the system.\n- Update the details of existing users.\n- Export user data as a CSV file.\n- RESTful API endpoints for retrieving, creating, updating, and exporting user data.\n\n\u003cbr/\u003e\n\n\u003ch2\u003eTechnologies Used\u003c/h2\u003e\n\n- Front-end: React.js, Chakra UI, React Router DOM\n- Back-end: Node.js, Express.js\n- Database: MongoDB with Mongoose\n- Other Libraries: json2csv, fast-gateway, cors\n\n\u003cbr/\u003e\n\n\u003ch2\u003eAPI Endpoints\u003c/h2\u003e\n\n### The server provides the following API endpoints for managing user data:\n\n- GET /user: Retrieves users based on a query.\n- GET /user/export: Exports user data as a CSV file.\n- GET /user/:id: Retrieves a specific user by ID.\n- POST /user: Creates a new user.\n- PUT /user/:id: Updates an existing user.\n\n\u003cbr/\u003e\n\n## Code Explanation\n\n## Server: This directory contains the server-side code for the application.\n\n### config/db.js\n\n- This file connects to the MongoDB server using the mongoose library.\n\n\u003cbr/\u003e\n\n### models/User.model.js\n\n- This file defines a User schema using the mongoose.Schema method.\n\n\u003cbr/\u003e\n\n### routes/user.routes.js\n\n- This file defines the routes and handlers for user-related API endpoints.\n\n\u003cbr/\u003e\n\n### server.js\n\n- This file defines the entry point of the server, sets up the Express server, establishes the database connection, and defines the routes.\n\n\u003cbr/\u003e\n\n## Client: This directory contains the client-side code for the application.\n\n### Components/AllRoutes.js\n\n- Defines the routes for different pages in the application using React Router DOM.\n\n\u003cbr/\u003e\n\n### Components/Navbar.js\n\n- Renders the navigation bar at the top of the application with different options based on the screen size.\n\n\u003cbr/\u003e\n\n### App.js\n\n- Entry point of the client-side code, renders the overall structure of the application including the navigation bar and routes.\n\n\u003cbr/\u003e\n\n### Pages/UserList.jsx\n\n- This file defines the UserList component, which displays a list of users. It fetches user data from the server using the fetchData function and renders the list using the Chakra UI components.\n\n\u003cbr/\u003e\n\n### Pages/AddUser.jsx\n\n- This file defines the AddUser component, which provides a form for adding a new user. It captures user input and sends a POST request to the server to create a new user.\n\n\u003cbr/\u003e\n\n### Pages/EditUser.jsx\n\n- This file defines the EditUser component, which allows editing the details of a specific user. It fetches the user data based on the provided ID and updates the user's information with a PUT request to the server.\n\n\u003cbr/\u003e\n\n\u003ch2 align=\"center\"\u003eThank You\u003c/h2\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsouravpl8092%2Fmicro-services-components","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsouravpl8092%2Fmicro-services-components","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsouravpl8092%2Fmicro-services-components/lists"}