{"id":30310818,"url":"https://github.com/nazmulxdev/building-management-system-client","last_synced_at":"2026-04-11T04:32:32.042Z","repository":{"id":307838233,"uuid":"1030682714","full_name":"nazmulxdev/Building-Management-system-Client","owner":"nazmulxdev","description":"A modern single building management system's client site.","archived":false,"fork":false,"pushed_at":"2025-08-16T12:33:05.000Z","size":2232,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-16T14:23:25.610Z","etag":null,"topics":["axios","daisyui","framer-motion","leaflet","lottie-react","react-leaflet","react-router","reactjs","recharts","stripe-payments","tailwindcss","tanstack-query"],"latest_commit_sha":null,"homepage":"https://my-house-6de15.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/nazmulxdev.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,"zenodo":null}},"created_at":"2025-08-02T05:17:23.000Z","updated_at":"2025-08-16T12:33:09.000Z","dependencies_parsed_at":"2025-08-02T15:38:27.874Z","dependency_job_id":null,"html_url":"https://github.com/nazmulxdev/Building-Management-system-Client","commit_stats":null,"previous_names":["nazmulxdev/building-management-system-client"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nazmulxdev/Building-Management-system-Client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nazmulxdev%2FBuilding-Management-system-Client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nazmulxdev%2FBuilding-Management-system-Client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nazmulxdev%2FBuilding-Management-system-Client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nazmulxdev%2FBuilding-Management-system-Client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nazmulxdev","download_url":"https://codeload.github.com/nazmulxdev/Building-Management-system-Client/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nazmulxdev%2FBuilding-Management-system-Client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270863033,"owners_count":24658712,"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-08-17T02:00:09.016Z","response_time":129,"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":["axios","daisyui","framer-motion","leaflet","lottie-react","react-leaflet","react-router","reactjs","recharts","stripe-payments","tailwindcss","tanstack-query"],"created_at":"2025-08-17T15:01:54.726Z","updated_at":"2025-12-30T21:44:34.340Z","avatar_url":"https://github.com/nazmulxdev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BuildMate - Building Management System (Client-Side)\n\nThis is the client-side of \"BuildMate,\" a full-stack, responsive web application designed as a comprehensive Building Management System. It provides distinct functionalities for regular users, members (tenants), and an administrator to manage a single building efficiently.\n\n\u003cdiv align=\"center\"\u003e\n\n[![Live Site](https://img.shields.io/badge/Live_Site-my--house.web.app-blue?style=for-the-badge\u0026logo=firebase)](https://my-house-6de15.web.app/)\n[![Server Repo](https://img.shields.io/badge/Server_Repo-GitHub-333?style=for-the-badge\u0026logo=github)](https://github.com/nazmulxdev/Building-Management-system-Server)\n[![Live API](https://img.shields.io/badge/Live_API-Online-blueviolet?style=for-the-badge)](https://my-house-server.vercel.app/)\n\n\u003c/div\u003e\n\n---\n\n### **Project Overview**\n\nThe objective of this project is to deliver a robust and user-friendly platform for managing building operations. This includes apartment listings, user agreements, a secure payment system, announcements, and role-based dashboards. The application is built with a modern tech stack, ensuring a seamless and responsive user experience on all devices.\n\n---\n\n### **Key Features**\n\n✅ **Role-Based Access Control:**\n\n- **User Role:** Can browse apartments and make agreement requests.\n- **Member Role:** Has a dedicated dashboard to make payments, view payment history, and see announcements.\n- **Admin Role:** Full control over the system, including member management, agreement approvals, coupon management, and posting announcements.\n\n✅ **Secure Payments with Coupon System:**\n\n- Integrates **Stripe** for secure, card-based payment processing.\n- Members can apply valid coupon codes on the payment page to receive a percentage-based discount on their rent before finalizing the transaction.\n\n✅ **Interactive Home Page:**\n\n- A dynamic banner with auto-sliding images.\n- An \"About the Building\" section with elegant typography.\n- A dedicated section to display available coupons.\n- An integrated map (Leaflet) showing the building's location.\n\n✅ **Apartment Browsing \u0026 Agreements:**\n\n- A paginated list of all available apartments (6 per page).\n- Search functionality to filter apartments by a specific rent range.\n- Users can request an agreement for an apartment, which is then sent to the admin for approval.\n\n✅ **Secure Authentication:**\n\n- Email/Password and Google-based login and registration system.\n- Password validation (uppercase, lowercase, min. 6 characters).\n- JWT-based authentication to protect private routes and user data.\n\n✅ **Comprehensive Dashboards:**\n\n- **User/Member:** View personal profile information and announcements.\n- **Member:** Access the secure payment page and view a detailed payment history.\n- **Admin:** A powerful dashboard to manage members, approve/reject agreements, create and manage coupons, and post announcements.\n- **Admin Profile:** Displays key statistics like total rooms, available/unavailable room percentages, and user/member counts.\n\n---\n\n### **Technologies \u0026 Dependencies**\n\nThis project is built with the following technologies and packages:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/React-61DAFB?style=for-the-badge\u0026logo=react\u0026logoColor=black\" alt=\"React\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white\" alt=\"Tailwind CSS\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Stripe-626CD9?style=for-the-badge\u0026logo=stripe\u0026logoColor=white\" alt=\"Stripe\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TanStack_Query-FF4154?style=for-the-badge\u0026logo=tanstack\u0026logoColor=white\" alt=\"TanStack Query\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Firebase-FFCA28?style=for-the-badge\u0026logo=firebase\u0026logoColor=black\" alt=\"Firebase\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Vite-646CFF?style=for-the-badge\u0026logo=vite\u0026logoColor=white\" alt=\"Vite\" /\u003e\n\u003c/p\u003e\n\n- **UI \u0026 Components:** `@mantine/core`, `daisyui`, `react-icons`, `lottie-react`\n- **Data Fetching \u0026 State:** `@tanstack/react-query`, `axios`\n- **Routing:** `react-router`\n- **Forms:** `react-hook-form`\n- **Payments:** `@stripe/react-stripe-js`, `@stripe/stripe-js`\n- **Maps:** `leaflet`, `react-leaflet`\n- **Charts \u0026 Visuals:** `recharts`\n- **Notifications:** `react-hot-toast`, `sweetalert2`\n- **Animations:** `framer-motion`\n\n---\n\n### **Getting Started Locally**\n\nFollow these steps to run the client-side on your local machine:\n\n**1. Clone the repository:**\n\n```bash\ngit clone [https://github.com/nazmulxdev/Building-Management-system-Client.git](https://github.com/nazmulxdev/Building-Management-system-Client.git)\n```\n\n**2. Navigate to the project directory:**\n\n```bash\ncd b11a12-client-side-nazmulxdev\n```\n\n**3. Install NPM packages:**\n\n```bash\nnpm install\n```\n\n**4. Set up environment variables:**\nCreate a file named `.env.local` in the root directory and add the following keys:\n\n```.env.local\n# Your Firebase configuration keys\nVITE_APIKEY=your_firebase_apikey\nVITE_AUTHDOMAIN=your_firebase_authdomain\nVITE_PROJECTID=your_firebase_projectid\nVITE_STORAGEBUCKET=your_firebase_storagebucket\nVITE_MESSAGINGSENDERID=your_firebase_messagingsenderid\nVITE_APPID=your_firebase_appid\n\n# Your Stripe Publishable Key\nVITE_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key\n```\n\n**5. Run the project:**\n\n```bash\nnpm run dev\n```\n\nThe application will be available at `http://localhost:5173`.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnazmulxdev%2Fbuilding-management-system-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnazmulxdev%2Fbuilding-management-system-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnazmulxdev%2Fbuilding-management-system-client/lists"}