A modern real estate marketplace built with React and Firebase
CasaLink is a full-featured real estate platform that enables users to list and discover properties for rent or sale. Built with Vite and Firebase v9, it offers a seamless experience for property listing, geolocation mapping, and user authentication.
- 🏠 Property Listings (Rent/Sale)
- 🔍 Interactive Map Integration
- 🎯 Special Offer Listings
- 📸 Multiple Image Uploads
- 🔐 User Authentication
- 📍 Geolocation Services
- 🎨 Modern UI/UX Design
- Frontend Framework: React with Vite
- Backend Services: Firebase v9
- Authentication (Email/Password & Google OAuth)
- Cloud Firestore
- Storage
- Map Integration: Leaflet.js
- Build Tool: Vite
- Node.js 14.18+ or 16+
- npm or yarn
- Firebase account
- Clone the repository
git clone https://github.com/yourusername/CasaLink.git
cd CasaLink
- Install dependencies
npm install
# or
yarn
-
Configure environment variables Create a .env.local file: \
VITE_FIREBASE_API_KEY=your-api-key \ VITE_FIREBASE_AUTH_DOMAIN=your-auth-domain VITE_FIREBASE_PROJECT_ID=your-project-id VITE_FIREBASE_STORAGE_BUCKET=your-storage-bucket VITE_FIREBASE_MESSAGING_SENDER_ID=your-sender-id VITE_FIREBASE_APP_ID=your-app-id
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
- Migrate from Create React App to Vite
- Install Vite and required plugins
- Update configuration files
- Modify environment variables (REACTAPP to VITE_)
- Update import statements
- Test and verify all features
- Update outdated dependencies
- Resolve SVG handling with Vite
- Update PostCSS dependencies
- Resolve compatibility issues
- Setup Testing Infrastructure
- Configure Jest and React Testing Library
- Add basic component tests
- Add more comprehensive test coverage
- UI/UX Improvements
- Refactor Header into a standalone component
- Implement dynamic page titles with proper routing logic
- Add responsive hamburger menu for mobile navigation
- Integrate modern UI framework (DaisyUI/Tailwind)
- Map Integration Enhancement
- Improve property location visualization on map
- Add clustering for multiple properties
- Implement better map interaction features
- Performance Optimization
- Utilize Vite's fast refresh
- Improve build times
- Optimize asset loading
- Implement lazy loading for images
-
Create a project in Firebase Console
-
Enable Authentication
- Set up Email/Password sign-in
- Configure Google OAuth
-
Set up Cloud Firestore
-
Enable Storage for images
Create your feature branch (git checkout -b feature/AmazingFeature) Commit your changes (git commit -m 'Add some AmazingFeature') Push to the branch (git push origin feature/AmazingFeature) Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details
Umit Hayim - @umthym Project Link: https://github.com/UmtHym/CasaLink