Greenthumb Therapy is an application designed to provide its users accessible plant information. In today's fast-paced environment, many people do not have the time and knowledge to search for plants that are most compatible with their life. While some of the benefits of having plants include cleaner air and overall aesthetic improvement to a home or office, consumers may have to consider animals and possible allergies.
After a great deal of research, we found several great resources about plants, but not necessarily about how compatible these plants would be to the layperson. We developed Greenthumb Therapy to allow users to search for plant information with the same clarity and functionality across different platforms, whether the application is on a desktop or mobile device.
-
Materialize is a CSS framework that was used to develop features such as cards, buttons, and lists to present a powerful, well-structured, visually pleasing components to build our application. Through the use of these features and colors, we can indicate important plant features and requirements. We also used the slider feature to capture a potential user's attention and lead them to a best solution for their environment.
-
React was used to further enhance our front-end with component logic written in JavaScript to improve overall rendering performance. With creative views, we designed a simple, yet effective, interface to efficiently convey important plant information to our users.
-
Axios routing was used to integrate out application with back-end logic in the API, such as handling questionnaire results, returning search queries, and updating user information.
-
Express.js is a web framework that we used to build our server.
-
Node.js is our development environment we used to build our application.
-
MongoDB and Mongoose were used to store data about plants and users.
-
JSON Web Token along with Cookie Parser middleware is how we handled user sessions. Currently user sessions last one (1) hour before they need to log in again.
-
Bcrypt is a Node package we used to handle hashing passwords before saving them in the database as well as for validating passwords when users log in.
-
Trefle API is the API we used to query results and to pull plant information from.
To get the most out of Greenthumb Therapy, we recommend that our users create an account.
If you would like to check out Greenthumb Therapy's features before creating your own account, then you can use the demo account below:
Email: jsmith@email.com
Password: password
- Click Register in the menu to go to the Register page.
- Fill out the form with your first name, last name, email, and password you wish to use for your account.
- Click Register User to submit the form.
- If the email is already in use, you will get an error message.
- Upon a successful sign up, you will get the message Welcome to Greenthumb Therapy! and you can now log in to Greenthumb Therapy with your email and password.
Caveat: Please make sure your password is not a simple sequence of letters like abc, numbers 123, or a single word like password. Even though your password will be encrypted, it is still recommended that you use a secure password.
- Click Log in in the menu to go to the Login page.
- Fill out the form with your email and password.
- Click Login User to submit the form.
- If you were not logged in, you will be redirected back to the Login page.
- If you were logged in successfully, you will be redirected to your User page.
- You can see your current preferences on your user page.
- Go to Questionnaire and fill it out.
- Make sure that the switch Save Preferences to the right of the Show Me Plants button is switched on.
- Click Show Me Plants.
- Your answers for plant rooms, sunlight, watering frequency, pets and allergies will be updated.
- Click on your name in the menu to go to your User page.
- Go to section to update your password.
- Type in your current password and the new password you want to use.
- If you typed in your current password incorrectly you will get an error message.
- Once the password is successfully updated, you will get the message Successfully updated password!.
The two ways a user can find a plant is through answering our Plant Matcher Questionnaire or through the Plant Search.
- Go to the Plant Matcher Questionnaire.
- Fill out the questionnaire.
- Click Show Me Plants.
- You will be shown Plant Cards that you may then choose to favorite or ban.
- Go to the Plant Search.
- Fill out the fields in the search area.
- Click Show Me Plants.
- You will be shown Plant Cards that you may then choose to favorite or ban.
Once the Questionnaire or Search returns some plants, the user can choose to either favorite a plant or ban a plant.
- To save a plant from the Plant Results, click on the green save button with the floppy disk symbol.
- The plant will then be saved to your favorite list if you are logged in.
- To unfavorite a plant, click on the red remove button with the trash can symbol.
- The plant will be removed from your favorite list if you are logged in.
- To ban a plant from the Plant Results, click on the orange ban button with the do not disturb symbol.
- The plant will then be saved to your ban list if you are logged in.
- To unban a plant, click on the blue unban button with the checkmark symbol.
- The plant will be removed from your ban list if you are logged in.
- Wikipedia (W icon) link - allows the user to check out more information about the plant on Wikipedia.
- Google Shopping (shopping card icon) link - only appears on plants with common names and will look on Google Shopping for any results. We cannot guarantee that it will return the result(s) you are looking for.
- Systems Architect: Rebecca Hom
- Component Horticulturist: Nolen Diggs
- Design Landscaper: Daniel Jacquez
- Trefle Hunter: Rhea Quiambao
- Backend Engineer: Meenal Subramanian