Welcome to NishLiving, a comprehensive platform for property listings and bookings. This project leverages modern web technologies to provide a seamless experience for users looking to list their properties and for customers looking to book accommodations.
- User Authentication: Secure login and registration for users.
- Property Listings: Users can create, update, and delete property listings.
- Image Upload: Images are uploaded and stored using Cloudinary.
- Booking System: Customers can book properties and receive email confirmations.
- Search and Filter: Advanced search and filter options for property listings.
- Responsive Design: Fully responsive design for all devices.
- Frontend: React, Redux, SCSS
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JWT (JSON Web Tokens)
- Image Storage: Cloudinary
- Email Service: Nodemailer
- Logging: Winston
-
Clone the repository:
git clone https://github.com/yourusername/NishLiving.git cd NishLiving
-
Install dependencies:
# For backend cd server npm install # For frontend cd ../client npm install
-
Set up environment variables: Create a
.env
file in theserver
directory and add the following:CLOUDINARY_CLOUD_NAME=your_cloud_name CLOUDINARY_API_KEY=your_api_key CLOUDINARY_API_SECRET=your_api_secret MONGO_URI=your_mongo_uri JWT_SECRET=your_jwt_secret EMAIL_USER=your_email EMAIL_PASS=your_email_password
-
Run the application:
# Start backend server cd server npm start # Start frontend server cd ../client npm start
- Register and Login: Create an account or log in with existing credentials.
- Create a Listing: Navigate to the "Create Listing" page and fill out the property details.
- Upload Images: Upload images for your property, which will be stored on Cloudinary.
- Search and Book: Use the search functionality to find properties and book them.
- Email Notifications: Receive email notifications for bookings.
- POST
/api/users/register
: Register a new user. - POST
/api/users/login
: Login a user.
- POST
/api/listings/create
: Create a new listing. - GET
/api/listings
: Get all listings. - GET
/api/listings/search/:search
: Search listings. - GET
/api/listings/:listingId
: Get listing details.
- POST
/api/bookings/create
: Create a new booking.
We welcome contributions from the community! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature
). - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For any inquiries or feedback, please contact us at:
- Email: [email protected]
- GitHub: yourusername
Thank you for using NishLiving! We hope you have a great experience.