Never again struggle to remember your plants' watering schedules with Gardnr.
This React application lets you keep track of all the plants in your garden, the last time each one was watered, and their next watering dates. The app interacts with the AccuWeather API to provide you with basic local weather data and triggers alerts for any adverse weather events that you may need to act on to protect your plants.
The app simulates a user logged in view and upon opening the app, you will be taken directly to the 'My Garden' page.
This application was developed by Caitlin Croteau, Matias Wengiel, and Raiza De Guzman as a final project for Lighthouse Labs' Web Flex Program.
Search for a plant in the Plant Library

Weather API integration displaying local weather data

Mock weather alert notifying the user of an adverse weather event

Backend Setup
-
Create a
.envfile -
Locate the
.env.examplefile and copy its contents into.env. -
Open
Postgresqland create a database calledgardnr. -
Update your
.envfile by entering the correct values forDB_USER,DB_PASS, andDB_NAME. -
Obtain a trial API key from AccuWeather API
-
Place the API key in the
.envfile like so:WEATHER_API_KEY=pasteyourkeyhere
Getting Started
-
From the project's root directory, run the command below. This command will install all the required dependencies.
npm run install -
Setup the
gardnrdatabase by running the command below. This command will create the tables and seed them.npm run db:reset -
In a separate Terminal window, start the API server by running this command in the project's root directory:
npm run startServer -
In another Terminal window, start the Webpack Development server by running this command in the project's root directory:
npm start -
The project will served at:
https://localhost:3000
- Front-End:
React - Back-End:
Express - Database:
Postgresql
testing-library/jest-dom: ^5.16.5,
testing-library/react: ^13.4.0,
testing-library/user-event: ^13.5.0,
axios: ^0.27.2,
bootstrap: ^5.2.1,
dotenv: ^16.0.2,
morgan: ^1.10.0,
pg: ^8.8.0,
react: ^18.2.0,
react-bootstrap: ^2.5.0,
react-dom: ^18.2.0,
react-router-dom: ^6.4.1,
react-scripts: 5.0.1,
sass: ^1.54.9,
sass-middleware: ^0.0.3,
web-vitals: ^2.1.4

