Skip to content

Project Repository for the ChooseNativePlants.com (formerly known as "Pennsylvania Wildflower Selector")

License

Notifications You must be signed in to change notification settings

CodeForPhilly/pa-wildflower-selector

Repository files navigation

Choose Native Plants 🌱

GitHub license GitHub stars GitHub issues

Help US residents find and source native plants for their gardens

Getting StartedFeaturesArchitectureDevelopmentDatabaseContributing

🌟 Overview

Choose Native Plants (formerly "PA Wildflower Selector") is a web application that helps US residents find native plants suitable for their gardens. Users can search and filter plants based on various criteria like sun exposure, soil moisture, pollinators attracted, and more. The app also shows where to buy these plants locally.

Application Screenshot

✨ Features

  • 🔍 Interactive plant search with multiple filter options
  • 🌿 Detailed plant information including growing conditions
  • 🏪 Local nursery finder showing where to buy plants
  • 🧙 Quick search wizard for beginner gardeners
  • 📱 Mobile-friendly responsive design

🏗️ Architecture

  • Frontend: Vue.js web application
  • Backend: Node.js server
  • Database: MongoDB
  • Data Source: ERA via Google Sheets
  • Vendor Integration: PlantagentsAPI for local nursery data

🚀 Getting Started

Prerequisites

  • Docker Desktop installed and running
  • Git
  • User account with Code for Philly

Initial Setup

# Clone the repository
git clone https://github.com/CodeForPhilly/pa-wildflower-selector

# Navigate to project directory
cd pa-wildflower-selector

# Start the Docker environment
docker compose up -d --build

Sync down the database and images locally

docker compose --profile tools run --rm sync-down

View the application locally

After setup, visit http://localhost:6868/ to view the application.

💾 Database Operations

MongoDB Connection

Connect to MongoDB using MongoDB Compass with:

mongodb://[username]:[password]@localhost:7017/pa-wildflower-selector?authSource=admin

🛠️ Development

Project Structure

  • UI Code: Located in src/ directory
  • Server Code: Located in the main project directory

👥 Contributing

We welcome contributions from the community! To contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📧 Contact

For any questions or inquiries, please email us at contact@choosenativeplants.com.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.