{"id":19798491,"url":"https://github.com/alwinsimon/mern-user-manager","last_synced_at":"2025-09-18T03:30:38.016Z","repository":{"id":209117300,"uuid":"723276631","full_name":"alwinsimon/MERN-User-Manager","owner":"alwinsimon","description":"A simple MERN Stack based User Management Web App.","archived":false,"fork":false,"pushed_at":"2023-12-06T13:35:08.000Z","size":255,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T09:51:20.406Z","etag":null,"topics":["api","api-documentation","api-rate-limit","custom-error-handling","custom-npm-package","expressjs","jwt-authentication","mern-stack","mongodb-atlas","mongoose","morgan","nodejs","reactjs","swagger","user-management","vitejs","winston-logger"],"latest_commit_sha":null,"homepage":"https://compass.alwinsimon.com","language":"JavaScript","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/alwinsimon.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":"2023-11-25T06:30:52.000Z","updated_at":"2024-10-16T18:26:07.000Z","dependencies_parsed_at":"2023-12-06T14:46:54.431Z","dependency_job_id":null,"html_url":"https://github.com/alwinsimon/MERN-User-Manager","commit_stats":null,"previous_names":["alwinsimon/mern-user-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alwinsimon/MERN-User-Manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alwinsimon%2FMERN-User-Manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alwinsimon%2FMERN-User-Manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alwinsimon%2FMERN-User-Manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alwinsimon%2FMERN-User-Manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alwinsimon","download_url":"https://codeload.github.com/alwinsimon/MERN-User-Manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alwinsimon%2FMERN-User-Manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275702495,"owners_count":25512557,"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","status":"online","status_checked_at":"2025-09-18T02:00:09.552Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["api","api-documentation","api-rate-limit","custom-error-handling","custom-npm-package","expressjs","jwt-authentication","mern-stack","mongodb-atlas","mongoose","morgan","nodejs","reactjs","swagger","user-management","vitejs","winston-logger"],"created_at":"2024-11-12T07:29:34.088Z","updated_at":"2025-09-18T03:30:37.701Z","avatar_url":"https://github.com/alwinsimon.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MERN-User-Manager\n\n![Node.js](https://img.shields.io/badge/Node.js-v14.17.0-green)\n![Express](https://img.shields.io/badge/Express-v4.17.1-blue)\n![JWT](https://img.shields.io/badge/JSON%20Web%20Token-v8.5.1-orange)\n\n This repository contains a production-ready the backend server and frontend application for a basic MERN Stack user management application.  \n \n Back-end is built with Node.js and Express and MongoDB for Database.\n\n Front-end is built with Reactjs using Vitejs. \n \n It leverages two custom npm modules, [base-auth-handler](https://www.npmjs.com/package/base-auth-handler) for authentication handling and [base-error-handler](https://www.npmjs.com/package/base-error-handler) for error management.\n\n## Features\n\n- **Authentication Handling:** Uses [base-auth-handler](https://www.npmjs.com/package/base-auth-handler) for robust authentication with JWT sent in cookies.\n- **Error Management:** Utilizes [base-error-handler](https://www.npmjs.com/package/base-error-handler) for effective error handling.\n- **Logger:** Implements a production-level logger created with Winston and Morgan, saving logs into a remote MongoDB instance.\n\n\n## API Documentation\n\n**Note:** The detailed Backend API documentation is available on Postman. \nPlease refer to [API Documentation on Postman](https://documenter.getpostman.com/view/27773540/2s9YeG4qvf).\n\nAdditionally, Swagger is integrated for convenient exploration of the API:\n\n- Swagger UI: [http://localhost:5000/api-docs](http://localhost:5000/api-docs)\n\nYou can also access the API documentation in JSON format:\n\n- API Docs JSON: [http://localhost:5000/api-docs.json](http://localhost:5000/api-docs.json)\n\n### Backend Server\n- Base URL: [http://localhost:5000](http://localhost:5000)\n\n### Frontend Server\n- Base URL: [http://localhost:3000](http://localhost:3000)\n\n## Prerequisites\n\n- Node.js\n- Express\n- React.js\n- JSON Web Token (JWT)\n- MongoDB\n\n## Environment Variables\n\n```bash\nAPPLICATION_NAME = MERN-User-Manager  \nPORT = 5000  \nNODE_ENV = development  \n(Use development for dev environment and production for prod environment)  \nJWT_KEY = your_jwt_key_here  \nJWT_TOKEN_DURATION = 30d  \nMONGO_DB_URI = your_mongodburi_here  \nADMIN_REGISTRATION_KEY = your_adminSecret  \n```\n\n## Getting Started\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone https://github.com/alwinsimon/MERN-User-Manager.git\n   ```\n\n2. **Install dependencies:**\n\n   ```bash\n   cd MERN-User-Manager\n   ```\n   ```bash\n   npm install\n   ```\n\n   Install Front-end dependencies.\n   ```bash\n   cd frontend\n   ```\n\n   ```bash\n   npm install\n   ```\n\n3. **Set up environment variables:**\n\n   Create a `.env` file in the root of the project and add the environment variables listed above.\n\n4. **Run the server:**\n\n    Execute following command in the root directory of the project.  \n\n   ```bash\n   npm run app\n   ```\n\n   The back-end server will be running at [http://localhost:5000](http://localhost:5000) or the specified port in your `.env` file.\n\n   The front-end server will be running at [http://localhost:3000](http://localhost:3000).\n\n\n## Dependencies\n\n- See back-end [package.json](https://github.com/alwinsimon/MERN-User-Manager/blob/v1/package.json) for a detailed list of dependencies.\n\n## Contributing\n\nFeel free to contribute and provide feedback!  \n\nCreate issues for bug reports or feature requests.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](https://github.com/alwinsimon/MERN-User-Manager/blob/main/LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falwinsimon%2Fmern-user-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falwinsimon%2Fmern-user-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falwinsimon%2Fmern-user-manager/lists"}