Skip to content

esiepe/KEJANI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KejaniEstate

KejaniEstate is a real estate marketplace designed to simplify the process of finding accommodation for university students at Kabarak University. Landlords can perform CRUD operations on property listings, while students can view listings and contact landlords, eliminating the need for physical house hunting.

Features

  • OAuth: Secure authentication using OAuth for user login.
  • JWT: JSON Web Tokens for secure communication between the client and server.
  • Firebase Storage: Storage for property images.
  • Google Maps API: Integration with Google Maps for location services.
  • Directions Service: Provides directions from the property to the school gate.
  • Distance and Duration Calculation: Calculates the distance and duration from the property to the school gate.
  • Redux Toolkit: State management for the React frontend.
  • MongoDB: NoSQL database for storing property listings and user information.
  • Express JS and NodeJS: Backend server using Express JS and NodeJS.
  • React: Frontend framework for building the user interface.
  • CRUD Operations: Full CRUD functionality for managing users and property listings.
  • Landlord Contact: Direct contact information for landlords.

Installation Instructions

Clone the repository:

git clone

Install dependencies:

npm install cd client && npm install

Start the development server:

npm run dev

Environment Variables Setup

Google Maps API Key and Firebase API Key

  1. Create a .env file in the client folder of your project.
  2. Add the following environment variables to the .env file:

VITE_GOOGLE_MAPS_API_KEY=YOUR_GOOGLE_MAPS_API_KEY
VITE_FIREBASE_API_KEY=YOUR_FIREBASE_API_KEY

Obtain the API keys from the Google Cloud Platform for Google Maps API and Firebase.

MongoDB and JWT Secret

  1. Create another .env file in the root folder of your project.
  2. Add the following environment variables to this .env file:

MONGO=YOUR_MONGODB_CONNECTION_STRING
JWT_SECRET=YOUR_JWT_SECRET

Save your MongoDB connection string and choose a JWT secret.

Note for Users

Make sure to replace YOUR_GOOGLE_MAPS_API_KEY, YOUR_FIREBASE_API_KEY, YOUR_MONGODB_CONNECTION_STRING, and YOUR_JWT_SECRET with your actual API keys and secrets obtained from the respective platforms.

Usage Instructions

  1. User Registration and Login:
    • Register or login to your account using the provided authentication options.
  2. View Property Listings:
    • Browse through the available property listings to find accommodation options that suit your preferences.
  3. Contact Landlords:
    • Once you find a property you're interested in, click on the listing to view more details.
    • Use the provided contact information to get in touch with the landlord for further inquiries or to arrange a viewing.
  4. Add or Update Property Listings (Landlords Only):
    • If you're a landlord, navigate to the dashboard section of the application.
    • Here, you can add new property listings, update existing listings, or remove listings as needed.
  5. View Property Location and Directions:
    • Explore the location of each property on the map to get a better understanding of its surroundings.
    • Use the Google Maps integration to view directions and estimate the distance and duration from the property to the school gate.
  6. Manage Your Account:
    • Update your profile information, including contact details and preferences, as necessary.
    • For landlords, manage your property listings and contact information to ensure accurate representation.
  7. Feedback and Support:
    • Provide feedback on your experience using the application to help us improve and better serve your needs.
    • If you encounter any issues or need assistance, don't hesitate to reach out to our support team for help.

Technologies Used

  • MongoDB
  • Express JS
  • React
  • NodeJS
  • Firebase
  • Redux Toolkit
  • Google Maps API
  • JWT
  • Tailwind CSS

Contributing Guidelines

Thank you for considering contributing to KejaniEstate! We welcome contributions from the community to help improve and enhance our platform. Before getting started, please review the following guidelines:

Code of Conduct

  • We expect all contributors to adhere to our Code of Conduct. Please ensure that all interactions and contributions are respectful and considerate of others.

How to Contribute

  • Reporting Bugs
    • If you encounter any bugs or issues while using KejaniEstate, please open a new issue on our issue tracker with a detailed description of the problem, steps to reproduce, and any relevant information.
  • Feature Requests
    • Have an idea for a new feature or improvement? Feel free to open a new issue on our issue tracker and describe your proposal in detail. We welcome feedback and suggestions from the community.
  • Code Contributions
    • Fork the repository and create a new branch for your contributions.
    • Ensure that your code follows the established coding conventions and style guidelines.
    • Write clear and concise commit messages.
    • Submit a pull request with your changes, providing a detailed description of the changes made and any relevant information for reviewers.
  • Testing
    • Help us ensure the stability and reliability of KejaniEstate by testing new features, bug fixes, and improvements.
    • Provide feedback on the functionality and usability of the application to help identify areas for improvement.
  • Documentation
    • Improve and expand the project documentation to make it more comprehensive and accessible to users and contributors.
    • Update README.md, contributing guidelines, and other documentation files as needed.

Code Review Process

All contributions will be reviewed by the project maintainers before being merged. Reviewers may provide feedback or suggestions for improvement, so please be responsive to any comments or requests for clarification.

License

This project is licensed under the MIT License.

Contact Information

Acknowledgements

Special thanks to Sahand Ghavidel for their valuable contributions. You can find their profile here.

About

Real estate app using MERN and tailwind css

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages