{"id":24680767,"url":"https://github.com/ajmain-fayek/structomate","last_synced_at":"2026-04-05T21:02:30.052Z","repository":{"id":272352673,"uuid":"916302771","full_name":"Ajmain-Fayek/StructoMate","owner":"Ajmain-Fayek","description":"A single-building management app for adding renters, managing agreements, sending announcements, and enabling members to pay rent monthly. Built with React.js, Tailwind CSS, Firebase Authentication, and JWT tokens, and hosted on Firebase, it ensures secure and efficient operations.","archived":false,"fork":false,"pushed_at":"2025-01-22T20:37:55.000Z","size":4134,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-21T19:46:19.133Z","etag":null,"topics":["axios","date-fns","firebase","javascript","jwt-token","nodejs","react-toastify","reactjs","tailwindcss"],"latest_commit_sha":null,"homepage":"https://structomate.web.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ajmain-Fayek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-01-13T20:49:31.000Z","updated_at":"2025-01-22T20:37:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"7db23c14-ceec-453d-a712-018199394875","html_url":"https://github.com/Ajmain-Fayek/StructoMate","commit_stats":null,"previous_names":["ajmain-fayek/structomate"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Ajmain-Fayek/StructoMate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ajmain-Fayek%2FStructoMate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ajmain-Fayek%2FStructoMate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ajmain-Fayek%2FStructoMate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ajmain-Fayek%2FStructoMate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ajmain-Fayek","download_url":"https://codeload.github.com/Ajmain-Fayek/StructoMate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ajmain-Fayek%2FStructoMate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273061094,"owners_count":25038598,"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-31T02:00:09.071Z","response_time":79,"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","date-fns","firebase","javascript","jwt-token","nodejs","react-toastify","reactjs","tailwindcss"],"created_at":"2025-01-26T14:14:22.845Z","updated_at":"2025-12-30T21:33:45.450Z","avatar_url":"https://github.com/Ajmain-Fayek.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Structomate\n\nStructomate is a building management software designed for single-building management. It simplifies administrative tasks such as managing renters, agreements, announcements, and monthly rent payments, all in one seamless application.\n\n## Live URL\n\n[Live Demo](https://structomate.web.app/)\n\n---\n\n## Purpose\n\nStructomate aims to streamline the building management process for landlords and building administrators by providing an intuitive platform to:\n\n- Add and manage renter profiles.\n- Track rental agreements.\n- Send announcements efficiently.\n- Facilitate monthly rent payments for tenants.\n\n---\n\n## Key Features\n\n1. **Renter Management**: Add, update, and remove renter profiles with detailed information.\n2. **Rental Agreements**: Manage and store agreement details with start and end dates.\n3. **Monthly Rent Payments**: Enable renters to pay rent online and track payment statuses.\n4. **Announcements**: Send important notifications to all renters with ease.\n5. **Dashboard Overview**: View key building statistics and statuses in a centralized dashboard.\n6. **Role-Based Authentication**: Ensure secure access for admins and renters using Firebase Authentication.\n7. **Payment Integration**: Integrate payment gateways for seamless rent transactions.\n8. **Notifications**: Notify renters via email or app notifications for rent dues and announcements.\n9. **Search and Filter**: Quickly search and filter renters or agreements based on specific criteria.\n10. **Responsive Design**: Fully responsive UI for both desktop and mobile devices.\n\n---\n\n## Access Admin Panel\n\n- **Email**: `admin@structo.com`\n- **Passoword**: `Admin1234`\n\n---\n\n## Access Member Panel\n\n- **Email**: `member@structo.com`\n- **Passoword**: `Member1234`\n\n---\n\n## Access User Panel\n\n- **Email**: `user@structo.com`\n- **Passoword**: `User1234`\n\n---\n\n## Technologies Used\n\n### Frontend\n\n- **React.js**: For building the user interface.\n- **React Router**: For client-side routing.\n\n### Backend\n\n- **Node.js**: For building the backend server.\n- **Express.js**: For managing API requests and responses.\n\n### Database\n\n- **MongoDB**: For storing renter, agreement, and payment data.\n\n### Authentication\n\n- **Firebase Authentication**: For secure login and user management.\n\n### Payment Integration\n\n- **Stripe**: For processing online rent payments.\n\n### State Management\n\n- **Context API**: For managing global state.\n\n---\n\n## NPM Packages Used\n\n### Main Dependencies\n\n- `@stripe/react-stripe-js: ^3.1.1`\n- `@stripe/stripe-js: ^5.5.0`\n- `axios: ^1.7.9`\n- `date-fns: ^4.1.0`\n- `firebase: ^11.1.0`\n- `react: ^18.3.1`\n- `react-datepicker: ^7.6.0`\n- `react-dom: ^18.3.1`\n- `react-helmet-async: ^2.0.5`\n- `react-icons: ^5.4.0`\n- `react-responsive-carousel: ^3.2.23`\n- `react-router: ^7.1.1`\n- `react-toastify: ^11.0.3`\n\n### Development Dependencies\n\n- `@eslint/js: ^9.17.0`\n- `@types/react: ^18.3.18`\n- `@types/react-dom: ^18.3.5`\n- `@vitejs/plugin-react: ^4.3.4`\n- `autoprefixer: ^10.4.20`\n- `daisyui: ^4.12.23`\n- `eslint: ^9.17.0`\n- `eslint-plugin-react: ^7.37.2`\n- `eslint-plugin-react-hooks: ^5.0.0`\n- `eslint-plugin-react-refresh: ^0.4.16`\n- `globals: ^15.14.0`\n- `postcss: ^8.5.0`\n- `tailwindcss: ^3.4.17`\n- `vite: ^6.0.5`\n\n---\n\n## Installation\n\nTo run the project locally:\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/Ajmain-Fayek/StructoMate.git\ncd StructoMate\n```\n\n3. Install dependencies:\n\n```bash\nnpm install\n```\n\n4. Start the development server: \n\n```bash\nnpm run dev\n```\n\n5. Open Localhost URL in your browser.\n\n```bash\nhttp://localhost:\u003cport\u003e\n```\n\n---\n\n## Contributing\n\nContributions are welcome! Feel free to fork the repository and submit pull requests.\n\n---\n\n## License\n\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajmain-fayek%2Fstructomate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fajmain-fayek%2Fstructomate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajmain-fayek%2Fstructomate/lists"}