Smart Plant Care Assistant is a mobile application designed to help users manage their plants effectively. With the integration of AI, the app enables plant species recognition, provides watering and care schedules, monitors room lighting conditions, and offers notifications to keep plants healthy. The app supports multi-user authentication and can even detect plant diseases using external APIs.
Client: React Native + Expo
Server: Supabase
Follow these steps to set up and run the app on your local environment.
-
Clone the repository
Open your terminal and run:
git clone https://github.com/MSSkowron/smart-plant-care-assistant cd smart-plant-care-assistant
-
Install dependencies
Install the project dependencies:
npm install
-
Configure environment variables
Create a .env.local file in the root directory:
touch .env.local
Add the following variables to
.env.local
:EXPO_PUBLIC_SUPABASE_URL="your-supabase-url"
EXPO_PUBLIC_SUPABASE_ANON_KEY="your-supabase-anon-key"
EXPO_PUBLIC_PLANTNET_API_KEY="your-plantnet-api-key"
EXPO_PUBLIC_KINDWISE_API_KEY="your-kindwise-api-key"
Replace each placeholder with your actual credentials:
your-supabase-url
: Your Supabase project URL.your-supabase-anon-key
: Your Supabase anonymous API key.your-plantnet-api-key
: Your PlantNet API key.your-kindwise-api-key
: Your Kindwise API key.
These variables are essential for backend communication and plant identification functionality.
-
Start the Server
Launch the Expo development server:
npm run start
In the output, you'll find options to open the app in:
- Development build
- Android emulator
- iOS simulator
- Expo Go, a limited sandbox for trying out app development with Expo
Once the server is running, open the app on your device using the provided QR code or link.
Alternatively, you can start the server using a tunnel to expose the app over a public URL:
npm run start-tunnel
-
Linting: Run
npm run lint
to execute ESLint and check your code for potential issues.Configuration file: .eslintrc.js.
-
Formatting: Use
npm run format
to automatically format your code with Prettier.Configuration file: .prettierrc.
This project is licensed under the MIT License.