StateLk is a modern real estate platform built using the MERN (MongoDB, Express, React, Node.js) stack, with Firebase integration for Google sign-in, image uploading, and JWT authentication. It also utilizes Vite for fast and efficient development. StateLk provides a seamless experience for users to explore, list, and manage properties.
-
User Authentication: Secure sign-up and sign-in functionality, including Google sign-in. 🔑
-
Property Listings: View available listings for houses and lands.
-
Search and Sort: Easily search and sort listings based on various criteria.
-
Contact Sellers: Contact sellers directly via email for inquiries.
-
Add Listings: Users can add their own property listings.
-
Profile Management: Update user profiles and view added listings.
-
Responsive Design: Fully responsive design for optimal user experience on all devices.
-
Loading Effects: Utilizes loading effects to enhance user experience during data fetching.
-
Alerts with SweetAlert: Uses SweetAlert for attractive and user-friendly alerts.
-
Advanced Authentication: Implement JWT, Firebase, and Google OAuth for secure and seamless user access. 🔑
-
Real-world CRUD Operations: Create, read, update, and delete property listings using MongoDB. 🏡
-
User-friendly Features: Enhance the user experience with image uploads, property listing management, and more. 💡
-
Advanced Search Functionality: Implement cutting-edge search features to help users find what they're looking for. 🚀
Check out the live demo: StateLk Demo
To run StateLk locally, follow these steps:
- Clone the repository:
git clone https://github.com/SarangaSiriwardhana9/StateLK--MERN_Full_Stack_Estate_Marketplace.git
- Navigate to the 'client' folder and create a
.env
file with your Firebase configuration:
REACT_APP_FIREBASE_API_KEY=your-api-key
- Navigate to the 'server' folder and create a
.env
file with your MongoDB URI and JWT secret:
MONGODB_URI=your-mongodb-uri
JWT_SECRET=your-jwt-secret
- Install dependencies in both the 'client' and 'server' folders:
npm install
- Start the development servers:
- For the client:
npm run dev
in the 'client' folder - For the server:
npm run dev
in the 'server' folder
- Frontend: React, React Router, Tailwind CSS
- Backend: Node.js, Express.js, MongoDB
- Authentication: Firebase Authentication
- Image Uploading: Firebase Storage
- Other: JWT Authentication, Axios
Contributions are welcome! Please create a new branch for your changes and submit a pull request.
- Thanks to Firebase for providing authentication and storage services.
- Swiper for the awesome slider component.
- Inspiration from similar real estate platforms.