Plant-e is a web application and a prototype of an automatic plant watering system. Plant-e is a connected object powered by an Arduino Nano 33 IOT for the WIFI connection, linked to various sensors, which capture and send the data collected to this web application.
This web application was implemented with the following stack:
- TypeScript: Strongly typed programming language that builds on JavaScript
- Prisma Client: Databases access (ORM)
- Prisma Migrate: Database migrations
- Firebase Cloud Messaging: Notifications system
- Create a GitHub OAuth app to allow signing in via GitHub, you will fill the .env later with the GitHub id and secret.
- Create a PostgreSQL database.
- Install dependencies
yarn install
-
Clone the .env.example and rename it to .env, then fill it in.
-
Run the database migrations
npx prisma migrate dev
- Finally, run the development server
yarn dev
You can find the arduino code of the prototype in the arduino
folder.
- Change the plantId variable in the arduino code, to match the one you use when creating a plant.
- Change the WIFI SSID and Password variables.
- Change the server url to match your web app url.