{"id":18290825,"url":"https://github.com/debrajhyper/personal-contact-manager","last_synced_at":"2026-04-11T13:05:41.884Z","repository":{"id":40512978,"uuid":"413216694","full_name":"debrajhyper/Personal-Contact-Manager","owner":"debrajhyper","description":"Personal Contact Manager is the web portal for Collecting your contacts in very Smarter way. We provide very efficient and smarter way of handling contacts.","archived":false,"fork":false,"pushed_at":"2024-03-17T08:58:52.000Z","size":17391,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-15T01:44:26.238Z","etag":null,"topics":["jpa-hibernate","maven","reactjs","redux","spring-boot","spring-security","webapplication"],"latest_commit_sha":null,"homepage":"https://pcm.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/debrajhyper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-03T23:02:13.000Z","updated_at":"2022-11-19T06:39:59.000Z","dependencies_parsed_at":"2024-11-05T14:12:34.742Z","dependency_job_id":"96409e0f-9072-43f3-85fd-7ff2c8b4c976","html_url":"https://github.com/debrajhyper/Personal-Contact-Manager","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/debrajhyper%2FPersonal-Contact-Manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/debrajhyper%2FPersonal-Contact-Manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/debrajhyper%2FPersonal-Contact-Manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/debrajhyper%2FPersonal-Contact-Manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/debrajhyper","download_url":"https://codeload.github.com/debrajhyper/Personal-Contact-Manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247997914,"owners_count":21030699,"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":["jpa-hibernate","maven","reactjs","redux","spring-boot","spring-security","webapplication"],"created_at":"2024-11-05T14:12:21.193Z","updated_at":"2025-12-30T23:05:10.056Z","avatar_url":"https://github.com/debrajhyper.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Personal Contact Manager\n\nPCM is a web portal for collecting contacts in a very smart way. Contact management with PCM is very efficient and smarter.\n\n🌐 Website : [PCM](https://pcm.vercel.app/)\n\nNow you can access the ``demo`` account feel free to explore :)\n\nMust try The demo login. Go [visit now](https://pcm.vercel.app/login)\n\n\n![PCM thumbnail](https://raw.githubusercontent.com/debrajhyper/Personal-Contact-Manager/main/PCM/pcm-frontend/public/template.png)\n\n\u003cbr/\u003e\n\n## 📑 About the project\nWe understand how important your contacts are, and we want to make it easier than ever to organize and manage them all in one place. That's why we built Personal Contact Manager, with a clean, simple design and powerful features that'll take you less than 10 seconds to get up and running.\n\u003cbr/\u003e\n\n**The most user-friendly address book :**\nI designed Personal Contact Manager to be as intuitive as possible so you can spend less time figuring out how to use it and more time managing your contacts. All of the features are laid out in a simple manner that makes it easy for you to manage your contacts from anywhere on any device.\n\u003cbr/\u003e\n\n**It's all in one place :**\nPersonal Contact Manager brings together all the information you need about your contacts into one easy-to-use dashboard, so you can find what you need with a single search. It also includes an address book for storing names, addresses and phone numbers of important people.\n\n\u003cbr/\u003e\n\n## 🔐 Key Features\n  1. Simple and unique ``UI`` \u0026 user friendly ``design``\n  2. Implemented ``lazy loading`` for better optimization\n  3. ``Dual login`` feature (``User`` account and ``Demo`` account)\n  4. Secure ``JWT Authentication``\n  5. Robust ``Password Encryption`` with [BCryptPasswordEncoder](https://docs.spring.io/spring-security/site/docs/current/api/org/springframework/security/crypto/bcrypt/BCryptPasswordEncoder.html)\n  6. Implemented ``Role-Based Authorization``\n  7. Simple Informative ``dynamic dashboard`` for every user\n  8. Implemented ``skeleton loading`` animation for better visualization\n  9. Enhanced ``abort controller quick search`` functionality implemented with axios\n  10. Added ``pagination`` for improved accessibility\n  11. Flexible Contact Deletion with ``single contact delete`` \u0026 ``multiple contact delete`` (batch delete)\n  12. Custom ``in-house components`` with styling \u0026 features\n  13. Comprehensive ``complex contact`` form implementation with different data types and files.\n  14. Implemented [formik](https://formik.org/) with custom form ``validation``\n  15. Implemented [TinyMCE](https://www.tiny.cloud/) ``rich text editor``\n  16. Added country field with ``country flag`` identification\n  17. Independent external ``image storage servers`` for better efficiency\n  18. Full implementation of ``CRUD`` functionality\n  19. Implemented ``forgot password`` module for better useability\n  20. Seamlessly ``user logout`` module\n\n\n\u003cbr/\u003e\n\n## 👨🏻‍💻 Developer's Talk\nDeveloped by \u003ca href=\"https://github.com/debrajhyper\"\u003eDebraj Karmakar\u003c/a\u003e\n\u003cspan style=\"display:inline-flex; justify-content:space-evenly; width:20%;\"\u003e\n\u003ca href=\"https://twitter.com/debraj_010\"\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/twitter/twitter-original.svg\" width=\"20px\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://linkedin.com/in/debraj-karmakar-275570199\"\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/linkedin/linkedin-original.svg\" width=\"20px\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://fb.com/debraj.karmakar.923\"\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/facebook/facebook-original.svg\" width=\"20px\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.behance.net/debrajkarmakar\"\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/behance/behance-original.svg\" width=\"20px\"\u003e\n\u003c/a\u003e\n\u003c/span\u003e\n\n\u003e\u003ca href=\"https://pcm.vercel.app/\"\u003eThis\u003c/a\u003e is a small effort from my side to build a medium scale project using React and Spring Boot technologies. The experience taught me so many things, as well as the challenges involved in overcoming problems encountered during the development phase. I consider this project very relevant to me as a full-stack developer. The people who helped me during the development phase are to be commended.\n\n\u003cbr/\u003e\n\n    Upcming Features\n      - Oauth 2 login with social accounts \n\n## 🚀 Tech Stack\n\n**💻 Client:** HTML, Axios, Formik, React, React Toastify, React Redux, Redux, Redux Thunk, Redux Logger\n\n**✨ Styles:** SCSS, React Bootstrap, React Icons, React Useanimations, React Loading Skeleton\n\n**🔌 Service:** EmailJs, Tinymce, Ybug, crisp, Uploadcare\n\n**🔐 Security:** Spring Boot Security, Password Encoder, JSON Web Tokens\n\n**🔥 Server:** Java, Spring Boot, Hibernate, Lombok, Mail, JavaX, JPA\n\n**🧲 Validation:** Hibernate Validator Engine, Bean Validation API\n\n**📂 Database:** MySql\n\n\u003cbr/\u003e\n\n## ⌛ Hosting\n\n**💻 Client:** [vercel](https://vercel.com/debrajhyper/pcm-client)\n\n**📧 Email Service:** [emailjs](https://dashboard.emailjs.com/admin/statistics)\n\n**👏🏻 Feedback:** [ybug feedback](https://ybug.io/dashboard/projects/2x6n422zws7k9k2rvttq/reports)\n\n**🙂 Chat:** [crisp chat](https://app.crisp.chat/website/edbf0bc6-2c54-4ca8-82d7-5dc4eb967c09/inbox)\n\n**🔥 Server:** [render](https://dashboard.render.com/web/srv-ch4gobm4dad97s327np0)\n\n**🔍 Files Server:** [uploadcare](https://app.uploadcare.com/projects/42f221173ddffa4c7a53/files/fa2bc038-fd07-4096-adfc-02c2c54ac46b?limit=100\u0026ordering=-datetime_uploaded)\n\n**📂 Database:** [aiven](https://console.aiven.io/account/a49e67a78f05/project/debrajkarmakar010-26f0/services/pcm/overview)\n\n**📈 Monitoring:** [Monitoring Services](https://rp60xbp0.status.cron-job.org/)\n\n**➰ Corn Jobs:** [corn jobs](https://console.cron-job.org/dashboard)\n\n\u003cbr/\u003e\n\n\n## 📊 UML Diagram\n\n![PCM Class Diagram](https://raw.githubusercontent.com/debrajhyper/Personal-Contact-Manager/main/documents/pcm-class-diagram.png)\n\n\u003cbr/\u003e\n\n## 🔥 Redux State Tree\n\n![PCM Redux State Diagram](https://raw.githubusercontent.com/debrajhyper/Personal-Contact-Manager/main/documents/Redux_DevTools_state.jpg)\n\n\u003cbr/\u003e\n\n\n```\nif (_.isAwesome(thisRepo)) {\n  thisRepo.star(); // thanks in advance :p\n}\n```\n\n## 🏃🏻‍♂️ Run Locally\n\nClone the project\n```\n  $git clone https://github.com/debrajhyper/Personal-Contact-Manager\n```\n\nGo to the project directory\n```\n  cd PCM\n```\n\nInstall dependencies\n```\n  $npm install\n```\n\nStart the server\n```\n  $npm start\n```\n\n\u003cbr/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdebrajhyper%2Fpersonal-contact-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdebrajhyper%2Fpersonal-contact-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdebrajhyper%2Fpersonal-contact-manager/lists"}