Skip to content

v-prt/plantgeek

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

plantgeek (Web App)

🪴 An App for Houseplant Lovers

Explore, manage, and expand your houseplant collection with this full-stack application dedicated to houseplant enthusiasts.

plantgeek.co | Video Demo | Mobile App

💡 About

PlantGeek is a fully realized live website, brought to life from concept to implementation by me (@v-prt), with a significant contribution from my husband (@j-prt), who adeptly set it up for self-hosting on our Raspberry Pi. The application showcases a frontend built with React and styled-components, and a backend orchestrated using Express, Node.js, and MongoDB through Mongoose.

The website delivers a seamless experience across devices, ensuring responsiveness whether you're on mobile, tablet, or desktop, with a beautiful user interface. Interaction with forms is enhanced through Formik and Yup for validation, providing immediate and helpful feedback. Data synchronization is gracefully managed with React Query.

✨ Key Features

  • Home Page: Site information and featured plants, randomized to highlight different species.
  • Sign Up & Login: Secure account creation and login processes, leveraging MongoDB for user data storage, backend password encryption, and JWT for authentication. Session persistence across browser sessions.
  • Houseplant Search & Management: Explore hundreds of plants, filter by name or type, and identify pet-friendly options. Add or remove plants from your collection or wishlist, with pagination and a smooth browsing experience.
  • Plant Profiles: View detailed care information. Admin capabilities for data management and user options to report inaccuracies.
  • User Profiles: Manage collections and wishlists, with options for personalizing your experience.
  • Community Contribution: Contribute new plant data, with image storage facilitated through Cloudinary. Admins review contributions.
  • Account Settings: Personalize your profile by uploading an image and manage your personal information.

To see more of my projects, visit my portfolio.