Skip to content

riju-talk/Flourish

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

32 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌱 Flourish

AI-Powered Plant Care That Actually Works

Transform your black thumb into a green one with intelligent plant monitoring, proactive care recommendations, and personalized schedules that adapt to your plants' unique needs.


πŸ”₯ Firebase Integration Complete!

βœ… Firebase Authentication (Google Sign-In)
βœ… Cloud Firestore Database (Real-time sync)
βœ… Firebase Storage (File uploads)
βœ… Production Ready (Security & documentation)

β†’ Architecture Documentation


🌿 Why Flourish?

Most plant care apps are glorified reminders that treat every plant the same. Flourish is different.

We've built an AI agent that actually understands your plants - monitoring their health, predicting problems before they happen, and creating dynamic care schedules that evolve based on how your plants respond. No more guesswork, no more dead plants.

✨ What Makes It Special

🧠 Intelligent Monitoring
Our AI continuously analyzes your plants' health metrics and environmental conditions, spotting issues before they become problems.

πŸ“Έ Multi-Modal Analysis
Take a photo of your plant and get instant health assessments, disease identification, and personalized care recommendations.

🎯 Adaptive Scheduling
Care plans that learn and adjust based on your plants' actual responses - not generic timers that ignore reality.

πŸ’¬ Expert AI Assistant
Chat with our plant care expert AI for instant answers about watering, lighting, diseases, and more.

πŸ“Š Garden Dashboard
Beautiful visualizations of your garden's overall health with actionable insights and progress tracking.


πŸš€ Experience the Difference

Before Flourish

  • ❌ Generic watering reminders every 3 days
  • ❌ Guessing what's wrong when plants look sick
  • ❌ One-size-fits-all care instructions
  • ❌ Learning about problems too late

With Flourish

  • βœ… Smart schedules that adapt to each plant's needs
  • βœ… AI-powered health analysis from photos
  • βœ… Personalized care plans that evolve over time
  • βœ… Proactive alerts before problems develop

🎨 Built for Plant Lovers

Flourish features a beautiful, cheerful design that makes plant care feel delightful rather than daunting. Our custom color palette and intuitive interface create a welcoming experience that encourages consistent care.

Core Features:

  • 🌱 Plant Health Tracking - Monitor growth, watering needs, and overall wellness
  • πŸ“… AI-Generated Schedules - Dynamic care plans that adapt to plant responses
  • πŸ” Image Analysis - Instant plant health assessment from photos
  • πŸ’‘ Smart Insights - Proactive recommendations to optimize plant health
  • πŸ“ˆ Progress Tracking - Visualize your garden's health trends over time

πŸ› οΈ Technology Stack

Flourish is built with modern, reliable technologies to ensure fast performance and seamless user experience:

Frontend: React 18 + TypeScript + Vite for lightning-fast development and optimized builds
UI/UX: Tailwind CSS + shadcn/ui components with custom Flourish design system
Backend: FastAPI (Python) with clean architecture and type-safe data models
AI Integration: Groq language models for advanced plant care intelligence
Authentication: Firebase Auth with Google OAuth for secure, hassle-free sign-in
State Management: React Query for efficient server state and caching
Development: Turborepo monorepo with optimized build pipelines


οΏ½ Quick Start

Prerequisites

  • Python 3.9+ - Download
  • Node.js 18+ - Download
  • Firebase Account - Project: flourish-de908 (already configured)

One-Command Start (Windows)

# Using batch file (recommended)
start.bat

# Or using PowerShell
.\start.ps1

This automated script will:

  • βœ… Check all dependencies
  • βœ… Install missing packages
  • βœ… Start backend API on port 8000
  • βœ… Start frontend on port 5173
  • βœ… Open the app in your browser

NPM Scripts (Monorepo Management)

Development (runs both services):

npm run dev              # Start both API and web in watch mode
npm run dev:api          # Start API only (port 8000)
npm run dev:web          # Start web only (port 5173)

Production:

npm run build            # Build both services
npm run build:api        # Build API Docker image
npm run build:web        # Build web for production
npm start                # Start both services in production mode

Testing:

npm test                 # Run all tests (frontend + backend)
npm run test:api         # Run backend tests (pytest)
npm run test:web         # Run frontend tests (vitest)
npm run test:watch       # Run frontend tests in watch mode
npm run test:ui          # Open vitest UI

Maintenance:

npm run lint             # Lint all workspaces
npm run clean            # Clean all build artifacts
npm run install:all      # Install all dependencies
npm run typecheck        # TypeScript type checking

Access:

Manual Start (Alternative)

Backend:

cd apps/api
pip install -r requirements.txt
python -m uvicorn main:app --reload

Frontend:

cd apps/web
npm install
npm run dev

First Time Setup

  1. Firebase Configuration

    • Service account key is already configured at apps/api/firebase-service-account.json
    • Environment variables are set in .env files
  2. Sign In

  3. Optional: AI Features

    • Install Ollama for local AI
    • Run: ollama pull llama3
    • Or use Groq API (add GROQ_API_KEY to apps/api/.env)

πŸ”₯ Tech Stack

React TypeScript Python FastAPI Firebase Tailwind CSS Vite Groq


πŸ“‚ Project Structure

Flourish/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ api/                    # Backend (FastAPI + Python)
β”‚   β”‚   β”œβ”€β”€ api/
β”‚   β”‚   β”‚   β”œβ”€β”€ core/          # Auth & config
β”‚   β”‚   β”‚   β”œβ”€β”€ db/            # Firestore & Storage
β”‚   β”‚   β”‚   β”œβ”€β”€ routes/        # API endpoints
β”‚   β”‚   β”‚   └── services/      # Business logic
β”‚   β”‚   β”œβ”€β”€ main.py            # API entry point
β”‚   β”‚   └── requirements.txt   # Python dependencies
β”‚   └── web/                   # Frontend (React + TypeScript)
β”‚       β”œβ”€β”€ src/
β”‚       β”‚   β”œβ”€β”€ components/    # React components
β”‚       β”‚   β”œβ”€β”€ hooks/         # Custom hooks (useAuth)
β”‚       β”‚   β”œβ”€β”€ lib/           # Firebase & utilities
β”‚       β”‚   β”œβ”€β”€ pages/         # App pages
β”‚       β”‚   └── integrations/  # API client
β”‚       └── package.json       # Node dependencies
β”œβ”€β”€ ARCHITECTURE.md            # System architecture docs
β”œβ”€β”€ README.md                  # This file
└── start.ps1                  # Development start script

πŸ” Firebase Services

This project uses Firebase for all backend services:

Authentication

  • Google Sign-In provider
  • JWT token-based API security
  • Automatic session management

Database (Firestore)

  • profiles - User profiles & gamification
  • plants - Plant inventory
  • care_tasks - Scheduled tasks
  • notifications - Real-time alerts
  • health_checks - Plant health tracking

Storage

  • Plant images: users/{userId}/plants/{plantId}/
  • Documents: users/{userId}/documents/
  • Profile photos: users/{userId}/profile/

Firebase Console: https://console.firebase.google.com/project/flourish-de908


Ready to transform your plant care experience?
Start your journey with Flourish today. 🌿✨

About

Flourish is an AI-powered, web-based plant care assistant designed to help users maintain healthy plants effortlessly. With smart reminders, photo-based diagnostics, and eco-friendly tips, HaritPal is your personalized green companion ideal for urban dwellers, hobbyists, and nature lovers.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors