Skip to content

Repository files navigation

🏠 LivingNest

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.


🚀 Purpose

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.


🌐 Live URLs


👤 Admin Credentials

  • Email: admin36@gmail.com
  • Password: Admin36

🌐 Repositories


🚀 Key Features

  1. 🔑 User Authentication: Secure login and signup process for both users and admins.
  2. 📊 Admin Dashboard: Admins can add, update, and remove apartment listings.
  3. 💼 Member Dashboard: Members can make payments, view payment history, and access the payment page.
  4. 🏢 Apartment Search: Search and filter apartments by rent, floor, and block.
  5. 📜 Rental Agreements: Users can create rental agreements after selecting available apartments.
  6. 📄 Pagination: Supports pagination for apartment listings.
  7. 📱 Responsive Design: Ensures smooth user experience on both mobile and desktop devices.
  8. 🖼️ Image Management: Apartment listings include images for better visualization.
  9. 🔒 Google Login: Log in using Google accounts for convenience.
  10. 🟢 Apartment Availability: Indicates whether an apartment is available or already rented.

📦 NPM Packages Used

Core Dependencies:

  • 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.

Development Dependencies:

  • 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.

🖥️ How to Run Locally

  1. Clone the Repository:
    git clone https://github.com/Programming-Hero-Web-Course4/b10a12-client-side-arman-miaa
    cd b10a12-client-side-arman-miaa
    
    
    

📄 API Documentation

Authentication

  • 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"
      }
  • POST /auth/login: Login a user.

    • Request Body:
      {
        "email": "john@example.com",
        "password": "securepassword"
      }
    • Response:
      {
        "message": "Login successful",
        "token": "jwt-token"
      }

Members Management

  • GET /members: Retrieve all members (Admin only).
  • PATCH /members/:id: Update a member's status (Admin only).

Payment Management

  • POST /payments: Create a new payment record.
  • GET /payments: Retrieve payment history for a user.

Coupons Management

  • GET /coupons: Retrieve all coupons.
  • POST /coupons: Add a new coupon (Admin only).
  • PATCH /coupons/:id: Update coupon availability (Admin only).

🤝 Contributing

Contributions are welcome! Please fork the repository and submit a pull request with your changes.



📞 Contact

For any inquiries, please reach out to:

About

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.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages