LivingNest is an online platform for renting apartments, managing rental agreements, and viewing available listings. It provides a user-friendly interface for apartment seekers while offering comprehensive tools for administrators to manage listings and agreements.
The purpose of this project is to provide an intuitive and secure platform for apartment seekers to find rental properties, sign agreements, and communicate with landlords or admins. The platform is also designed for admins to efficiently manage and update apartment listings and agreements.
- 🌍 Main Website: LivingNest Website
- 🔥 Firebase Hosted Website: LivingNest Firebase
- Email:
admin36@gmail.com - Password:
Admin36
- 🖥️ Server Repository: GitHub Link
- 🖥️ Client Repository: GitHub Link
- 🔑 User Authentication: Secure login and signup process for both users and admins.
- 📊 Admin Dashboard: Admins can add, update, and remove apartment listings.
- 💼 Member Dashboard: Members can make payments, view payment history, and access the payment page.
- 🏢 Apartment Search: Search and filter apartments by rent, floor, and block.
- 📜 Rental Agreements: Users can create rental agreements after selecting available apartments.
- 📄 Pagination: Supports pagination for apartment listings.
- 📱 Responsive Design: Ensures smooth user experience on both mobile and desktop devices.
- 🖼️ Image Management: Apartment listings include images for better visualization.
- 🔒 Google Login: Log in using Google accounts for convenience.
- 🟢 Apartment Availability: Indicates whether an apartment is available or already rented.
- React: Library for building user interfaces.
- React-DOM: React rendering library.
- React-Router-Dom: Enables dynamic routing.
- Firebase: Authentication and backend services for login and data management.
- Axios: For making HTTP requests to the server.
- React-Toastify: For displaying toast notifications.
- Swiper: Carousel/slider component for displaying images or content.
- React-Swiper: For implementing swiper-based UI elements.
- React-Helmet: For managing changes to the head tag, like title and meta information.
- Leaflet: Interactive map library.
- React-Leaflet: React wrapper for Leaflet.
- React-Hook-Form: Handles form validation and submission.
- Recharts: For displaying data visualizations like charts.
- TailwindCSS: Utility-first CSS framework.
- DaisyUI: TailwindCSS components for UI design.
- Vite: Fast build tool and dev server.
- ESLint: Linting for JavaScript and React.
- PostCSS: CSS transformations and optimizations.
- Autoprefixer: Adds vendor prefixes to CSS for compatibility.
- @vitejs/plugin-react: React support in Vite.
- @eslint/js: JavaScript ESLint configuration.
- @types/react: TypeScript types for React.
- @types/react-dom: TypeScript types for React-DOM.
- Clone the Repository:
git clone https://github.com/Programming-Hero-Web-Course4/b10a12-client-side-arman-miaa cd b10a12-client-side-arman-miaa
-
POST /auth/register: Register a new user.
- Request Body:
{ "name": "John Doe", "email": "john@example.com", "password": "securepassword" } - Response:
{ "message": "User registered successfully", "token": "jwt-token" }
- Request Body:
-
POST /auth/login: Login a user.
- Request Body:
{ "email": "john@example.com", "password": "securepassword" } - Response:
{ "message": "Login successful", "token": "jwt-token" }
- Request Body:
- GET /members: Retrieve all members (Admin only).
- PATCH /members/:id: Update a member's status (Admin only).
- POST /payments: Create a new payment record.
- GET /payments: Retrieve payment history for a user.
- GET /coupons: Retrieve all coupons.
- POST /coupons: Add a new coupon (Admin only).
- PATCH /coupons/:id: Update coupon availability (Admin only).
Contributions are welcome! Please fork the repository and submit a pull request with your changes.
For any inquiries, please reach out to:
- Email: arman.miaa36@gmail.com