{"id":26714234,"url":"https://github.com/aruppatra04/contacts-manager","last_synced_at":"2026-04-11T03:04:43.249Z","repository":{"id":284146589,"uuid":"953680504","full_name":"aruppatra04/Contacts-Manager","owner":"aruppatra04","description":"Contacts management backend application.","archived":false,"fork":false,"pushed_at":"2025-03-26T19:21:52.000Z","size":58,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T20:28:10.772Z","etag":null,"topics":["bcrypt","express","express-async-handler","javascript","jsonwebtoken","mongodb","mongoose","nodejs","nodemon"],"latest_commit_sha":null,"homepage":"","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/aruppatra04.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":"2025-03-23T22:24:20.000Z","updated_at":"2025-03-26T19:21:56.000Z","dependencies_parsed_at":"2025-03-26T20:39:49.710Z","dependency_job_id":null,"html_url":"https://github.com/aruppatra04/Contacts-Manager","commit_stats":null,"previous_names":["aruppatra04/contact-manager","aruppatra04/contacts-manager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aruppatra04%2FContacts-Manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aruppatra04%2FContacts-Manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aruppatra04%2FContacts-Manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aruppatra04%2FContacts-Manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aruppatra04","download_url":"https://codeload.github.com/aruppatra04/Contacts-Manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245850358,"owners_count":20682647,"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":["bcrypt","express","express-async-handler","javascript","jsonwebtoken","mongodb","mongoose","nodejs","nodemon"],"created_at":"2025-03-27T13:18:49.149Z","updated_at":"2025-12-30T20:32:43.638Z","avatar_url":"https://github.com/aruppatra04.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Contacts Management System\n\nThe **Contacts Management System** is a robust and scalable web application designed to efficiently manage contacts. This system allows users to securely store, retrieve, update, and delete contact information while ensuring data security and privacy. With user authentication implemented via **JWT (JSON Web Token)**, each user's data remains isolated and protected. Built with **Express.js** and **MongoDB**, this application provides a RESTful API, making it easy to integrate with other services and frontend applications.\n\n## Table of Contents\n- [Features](#features)\n- [Prerequisites](#prerequisites)\n- [File Structure](#file-structure)\n- [Installation](#installation)\n- [Running the Server](#running-the-server)\n- [Technologies Used](#technologies-used)\n- [License](#license)\n\n## Features\n\n- User authentication using JWT (JSON Web Token)\n- Add new contacts\n- View all contacts\n- Update existing contacts\n- Delete contacts\n- Contacts are stored individually per user\n- RESTful API with Express.js\n- MongoDB as the database\n\n## Prerequisites\nBefore running this project, ensure you have the following installed:\n- **Node.js** (v14 or later)\n- **MongoDB** (local or cloud-based like MongoDB Atlas)\n- **Git** (for cloning the repository)\n- A code editor like **VS Code**\n\n## File Structure\n\n```\ncontact-management-system/\n├── config/\n│   ├── dbConnection.js       # Database connection setup\n├── controllers/\n│   ├── contactController.js  # Manages contact CRUD operations\n│   ├── userController.js     # Handles user authentication\n├── middleware/\n│   ├── errorHandler.js       # Handles errors globally\n│   ├── validateTokenHandler.js  # Middleware for validating JWT tokens\n├── models/\n│   ├── contactModel.js       # Contact schema and model\n│   ├── userModel.js          # User schema and model\n├── routes/\n│   ├── contactsRoutes.js     # Contact management routes\n│   ├── userRoutes.js         # User-related routes\n├── node_modules/             # Dependencies (auto-generated)\n├── .env                      # Environment variables\n├── .gitignore                # Files to be ignored in version control\n├── constants.js              # Constants used in the application\n├── package-lock.json         # Auto-generated dependency lock file\n├── package.json              # Project metadata and dependencies\n├── README.md                 # Project documentation\n├── server.js                 # Main entry point of the application\n```\n\n## Installation\n\n### 1. Fork the Repository\n\nFirst, fork this repository to your GitHub account.\n\n### 2. Clone the Repository\n\n```sh\ngit clone \u003cyour-forked-repo-url\u003e\ncd contact-management-system\n```\n\n### 3. Install Dependencies\n\n```sh\nnpm install\n```\n\n### 4. Setup Environment Variables\n\nCreate a `.env` file in the project root and add your MongoDB connection string:\n\n```env\nMONGO_URI=your_mongodb_connection_string\nPORT=5000\nJWT_SECRET=your_jwt_secret\n```\n\n## Running the Server\n\n### Start the Server\n\n```sh\nnpm run start\n```\n\n### Start in Development Mode\n\nFor development purposes, use **nodemon** to automatically restart the server on changes:\n\n```sh\nnpm run dev\n```\n\n## Technologies Used\n\n- **Node.js**\n- **Express.js**\n- **MongoDB \u0026 Mongoose**\n- **JWT (JSON Web Token) for authentication**\n- **Nodemon** (for development)\n\n## License\n\nThis project is licensed under the **MIT License**.\n\n---\n\n🚀 Happy Coding! Feel free to contribute by submitting pull requests. 😊\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faruppatra04%2Fcontacts-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faruppatra04%2Fcontacts-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faruppatra04%2Fcontacts-manager/lists"}