PlantPath is a web application that helps plant enthusiasts discover, track, and manage their houseplant collections.
This project was developed to practice and demonstrate advanced React patterns, specifically the Model-View-Presenter (MVP) architecture, along with MobX for state management and Firebase for real-time data persistence.
- Custom Collections: Users can create and manage their own collections (e.g., "Bedroom Plants").
- Smart Watering Tracker: Specific watering schedules for each plant.
- Visual Alerts: Color-coded badges instantly show if a plant is "Thirsty" (Urgent), needs water "Soon," or is "OK."
- Search Functionality: Integrated search for finding plants by common or Latin names.
- Care Instructions: Detailed views showing light requirements, watering intervals, and pruning tips.
- Trending Section: Displays popular plants based on user interactions.
- Rating System: A custom 1-10 rating logic that calculates average scores dynamically.
- Comments: A section for users to leave notes or feedback on specific plant species.
- Frontend: React.js, Vite
- State Management: MobX (Reactive state)
- Architecture: Model-View-Presenter (MVP)
- Styling: CSS3 (with Custom Properties for theming)
- Backend: Firebase (Firestore & Authentication)
If you want to check out the code or run it on your machine:
-
Clone the repo
git clone ... cd leafkeeper -
Install dependencies
npm install
-
Firebase Setup
- You will need a
src/firebaseConfig.jsfile with your own Firebase credentials to run the backend features.
- You will need a
-
Start the server
npm run dev
Sana Monhaseri
Part of group project for Interaction-Porgramming-Dynamic-Web course at KTH
This project is source-available for viewing only. See LICENSE for details.