{"id":26490250,"url":"https://github.com/khalid9080/warmheart","last_synced_at":"2026-05-06T19:03:37.395Z","repository":{"id":265527636,"uuid":"896197248","full_name":"Khalid9080/WarmHeart","owner":"Khalid9080","description":"WarmHearts is a charitable initiative aimed at facilitating the donation of winter clothing to those in need. This project connects donors with underprivileged communities in Bangladesh, spreading warmth and kindness during the cold winter months.","archived":false,"fork":false,"pushed_at":"2025-03-11T17:03:29.000Z","size":13137,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-11T18:22:15.658Z","etag":null,"topics":["daisyui","fireabse","html5","javascript","react-router-dom-v6","reactjs","tailwindcss","tostify"],"latest_commit_sha":null,"homepage":"https://warm-heart-a5f9d.web.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/Khalid9080.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":"2024-11-29T18:49:48.000Z","updated_at":"2025-03-11T17:11:41.000Z","dependencies_parsed_at":"2025-03-11T18:21:11.798Z","dependency_job_id":"ebed4bf3-cfeb-4d75-9466-35bd8d7e3f3f","html_url":"https://github.com/Khalid9080/WarmHeart","commit_stats":null,"previous_names":["khalid9080/warmheart"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khalid9080%2FWarmHeart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khalid9080%2FWarmHeart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khalid9080%2FWarmHeart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khalid9080%2FWarmHeart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Khalid9080","download_url":"https://codeload.github.com/Khalid9080/WarmHeart/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244574732,"owners_count":20474818,"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":["daisyui","fireabse","html5","javascript","react-router-dom-v6","reactjs","tailwindcss","tostify"],"created_at":"2025-03-20T07:57:30.807Z","updated_at":"2026-05-06T19:03:32.357Z","avatar_url":"https://github.com/Khalid9080.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ❤️ WarmHearts\n\n**WarmHearts** is a charitable initiative aimed at facilitating the donation of winter clothing to those in need. This project connects donors with underprivileged communities in Bangladesh, spreading warmth and kindness during the cold winter months.\n\n##🌐 Project: Live Site \n\nAccess the live application here: [WarmHearts Live](https://warm-heart-a5f9d.web.app/)\n\n---\n\n## 🎯 Purpose\n\nThe **WarmHearts** project is designed to:\n\n- Enable easy donation of winter clothing through organized events.\n- Spread awareness about regions and communities most affected by winter.\n- Provide an intuitive platform for donors to contribute and make a positive impact.\n\n---\n\n## 🚀 Key Features\n\n- 🔒 User Authentication**: Secure login and Google Sign-In for donors.\n- 🗓️ Event Information**: View schedules and details for winter donation events.\n- 📍 Region Targeting**: Highlights priority areas most affected by the winter season.\n- ℹ️ Interactive Modals**: Detailed information for each card in the home section.\n- 🎠 Carousel Display**: Showcase impactful images of donation drives and events.\n- 👤 Profile Management**: Update user profiles with personalized data.\n- 🔔 Notification System**: Real-time toast notifications for updates and actions.\n\n---\n\n### ✅ **Validation**\n   - ✏️ Name Field**: Ensures the name entered by the user is at least 5 characters long. If the name is too short, an error message is displayed.\n   - 🔑 Password Field**: The password is validated using three checks:\n     - Must contain at least one lowercase letter.\n     - Must contain at least one uppercase letter.\n     - Must contain at least one number and be at least 6 characters long.\n   - If any validation fails, an error message is displayed next to the corresponding field, guiding the user on how to correct the input.\n    \n     ```bash\n      const hasLowerCase = /(?=.*[a-z])/;\n        const hasUpperCase = /(?=.*[A-Z])/;\n        const hasDigitAndLength = /(?=.*\\d).{6,}/;\n\n###🌐 **Google Authentication**\n   - Users can sign up using their Google account through Firebase Authentication.\n   - Upon successful Google sign-in, the user is redirected to the homepage, and a success toast notification is shown.\n\n\n     ```bash\n       const AuthProvider = ({children}) =\u003e {\n       const [user, setUser] = useState(null);\n       const [loading,setLoading]=useState(true);\n       \n       const createNewUser=(email,password)=\u003e{\n           setLoading(true);\n           return createUserWithEmailAndPassword(auth,email,password)\n       }\n       const userLogin=(email,password)=\u003e{\n           setLoading(true);\n           return signInWithEmailAndPassword(auth,email,password)\n       }\n       const logOut=()=\u003e{\n           setLoading(true);\n           return signOut(auth)\n       }\n       const updateUserProfile=(updateData)=\u003e{\n           return updateProfile(auth.currentUser,updateData)\n       }\n      \n### 🖼️ **Profile Update**\n   - After successful registration, the user's profile is updated with the provided `displayName` (from the form) and `photoURL` (from the photo URL input field).\n\n###👁️ **Password Visibility Toggle**\n   - The user can toggle the visibility of their password by clicking an eye icon. This improves the user experience when entering the password.\n\n### ⚠️ **Error Handling**\n   - The component includes robust error handling for both the user creation process and password validation. If any field doesn't meet the validation criteria, the user is informed with a clear error message next to the corresponding field.\n   \n## 💻 Technologies Used\n\n- **Frontend**: React.js, TailwindCSS\n- **Backend**: Firebase (Authentication)\n- **Hosting**: Firebase Hosting\n- **Icons**: React Icons\n- **Notifications**: React Toastify\n- **Routing**: React Router DOM\n\n---\n\n## 📦 NPM Packages Used\n\nBelow are the key NPM packages used in this project:\n\n- `react-router-dom`: For client-side routing.\n- `firebase`: For authentication and backend support.\n- `react-toastify`: For showing real-time toast notifications.\n- `react-icons`: For displaying user-friendly icons.\n- `animate.css`: For adding smooth animations.\n- `classnames`: For conditional class styling.\n\n---\n\n## ⚙️ Installation and Setup\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/your-username/WarmHearts.git\n   cd WarmHearts\n2. Install dependencies:\n   ```bash\n   npm install\n3. Configure Firebase:\n   Add your Firebase configuration to the .env file using the VITE_apiKey and other keys.\n   \n4. Start the development server:\n   ```bash\n   npm run dev\n   \n   \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhalid9080%2Fwarmheart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhalid9080%2Fwarmheart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhalid9080%2Fwarmheart/lists"}