Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/debrajhyper/personal-contact-manager
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.
https://github.com/debrajhyper/personal-contact-manager
jpa-hibernate maven reactjs redux spring-boot spring-security webapplication
Last synced: about 1 month ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/debrajhyper/personal-contact-manager
- Owner: debrajhyper
- License: apache-2.0
- Created: 2021-10-03T23:02:13.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-17T08:58:52.000Z (10 months ago)
- Last Synced: 2024-11-05T14:12:30.712Z (3 months ago)
- Topics: jpa-hibernate, maven, reactjs, redux, spring-boot, spring-security, webapplication
- Language: JavaScript
- Homepage: https://pcm.vercel.app
- Size: 16.6 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Personal Contact Manager
PCM is a web portal for collecting contacts in a very smart way. Contact management with PCM is very efficient and smarter.
🌐 Website : [PCM](https://pcm.vercel.app/)
Now you can access the ``demo`` account feel free to explore :)
Must try The demo login. Go [visit now](https://pcm.vercel.app/login)
![PCM thumbnail](https://raw.githubusercontent.com/debrajhyper/Personal-Contact-Manager/main/PCM/pcm-frontend/public/template.png)
## 📑 About the project
We 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.**The most user-friendly address book :**
I 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.**It's all in one place :**
Personal 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.
## 🔐 Key Features
1. Simple and unique ``UI`` & user friendly ``design``
2. Implemented ``lazy loading`` for better optimization
3. ``Dual login`` feature (``User`` account and ``Demo`` account)
4. Secure ``JWT Authentication``
5. Robust ``Password Encryption`` with [BCryptPasswordEncoder](https://docs.spring.io/spring-security/site/docs/current/api/org/springframework/security/crypto/bcrypt/BCryptPasswordEncoder.html)
6. Implemented ``Role-Based Authorization``
7. Simple Informative ``dynamic dashboard`` for every user
8. Implemented ``skeleton loading`` animation for better visualization
9. Enhanced ``abort controller quick search`` functionality implemented with axios
10. Added ``pagination`` for improved accessibility
11. Flexible Contact Deletion with ``single contact delete`` & ``multiple contact delete`` (batch delete)
12. Custom ``in-house components`` with styling & features
13. Comprehensive ``complex contact`` form implementation with different data types and files.
14. Implemented [formik](https://formik.org/) with custom form ``validation``
15. Implemented [TinyMCE](https://www.tiny.cloud/) ``rich text editor``
16. Added country field with ``country flag`` identification
17. Independent external ``image storage servers`` for better efficiency
18. Full implementation of ``CRUD`` functionality
19. Implemented ``forgot password`` module for better useability
20. Seamlessly ``user logout`` module
## 👨🏻💻 Developer's Talk
Developed by Debraj Karmakar
>This 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.
Upcming Features
- Oauth 2 login with social accounts## 🚀 Tech Stack
**💻 Client:** HTML, Axios, Formik, React, React Toastify, React Redux, Redux, Redux Thunk, Redux Logger
**✨ Styles:** SCSS, React Bootstrap, React Icons, React Useanimations, React Loading Skeleton
**🔌 Service:** EmailJs, Tinymce, Ybug, crisp, Uploadcare
**🔐 Security:** Spring Boot Security, Password Encoder, JSON Web Tokens
**🔥 Server:** Java, Spring Boot, Hibernate, Lombok, Mail, JavaX, JPA
**🧲 Validation:** Hibernate Validator Engine, Bean Validation API
**📂 Database:** MySql
## ⌛ Hosting
**💻 Client:** [vercel](https://vercel.com/debrajhyper/pcm-client)
**📧 Email Service:** [emailjs](https://dashboard.emailjs.com/admin/statistics)
**👏🏻 Feedback:** [ybug feedback](https://ybug.io/dashboard/projects/2x6n422zws7k9k2rvttq/reports)
**🙂 Chat:** [crisp chat](https://app.crisp.chat/website/edbf0bc6-2c54-4ca8-82d7-5dc4eb967c09/inbox)
**🔥 Server:** [render](https://dashboard.render.com/web/srv-ch4gobm4dad97s327np0)
**🔍 Files Server:** [uploadcare](https://app.uploadcare.com/projects/42f221173ddffa4c7a53/files/fa2bc038-fd07-4096-adfc-02c2c54ac46b?limit=100&ordering=-datetime_uploaded)
**📂 Database:** [aiven](https://console.aiven.io/account/a49e67a78f05/project/debrajkarmakar010-26f0/services/pcm/overview)
**📈 Monitoring:** [Monitoring Services](https://rp60xbp0.status.cron-job.org/)
**➰ Corn Jobs:** [corn jobs](https://console.cron-job.org/dashboard)
## 📊 UML Diagram
![PCM Class Diagram](https://raw.githubusercontent.com/debrajhyper/Personal-Contact-Manager/main/documents/pcm-class-diagram.png)
## 🔥 Redux State Tree
![PCM Redux State Diagram](https://raw.githubusercontent.com/debrajhyper/Personal-Contact-Manager/main/documents/Redux_DevTools_state.jpg)
```
if (_.isAwesome(thisRepo)) {
thisRepo.star(); // thanks in advance :p
}
```## 🏃🏻♂️ Run Locally
Clone the project
```
$git clone https://github.com/debrajhyper/Personal-Contact-Manager
```Go to the project directory
```
cd PCM
```Install dependencies
```
$npm install
```Start the server
```
$npm start
```