# SMART-UBUHINZI-RWANDA
Responsive farming platform for crop learning, weather guidance, district marketplace information, crop testing, and farmer accounts.
## Run in VS Code
1. Extract the ZIP and open the `SMART-UBUHINZI-RWANDA` folder in VS Code.
2. Open the integrated terminal.
3. Run `npm install`.
4. Copy `.env.local.example` to a new file called `.env.local`.
5. In Back4App, open **App Settings → Security & Keys** and add your own Application ID and JavaScript Key to `.env.local`.
6. Run `npm run dev` and open the URL shown in the terminal.
## Back4App configuration
Use only these browser-safe values:
```env
VITE_PARSE_APP_ID=YOUR_REAL_APPLICATION_ID
VITE_PARSE_JAVASCRIPT_KEY=YOUR_REAL_JAVASCRIPT_KEY
VITE_PARSE_SERVER_URL=
parseapi.back4app.com
```
For real admin notifications outside the inbox, configure these variables in the server-side Back4App Cloud Code environment. Never put them in `VITE_*` browser variables or commit them to GitHub:
```env
RESEND_API_KEY=YOUR_RESEND_API_KEY
NOTIFICATION_FROM_EMAIL=notifications@example.com
TWILIO_ACCOUNT_SID=YOUR_TWILIO_ACCOUNT_SID
TWILIO_AUTH_TOKEN=YOUR_TWILIO_AUTH_TOKEN
TWILIO_FROM_NUMBER=+250XXXXXXXXX
```
Farmers should register a phone number in international format such as `+250...`. Inbox delivery works without these provider variables; email, SMS, and phone call delivery require the matching provider credentials.
Never put the Master Key in a frontend `.env` file or GitHub. If login returns **Unauthorized**, verify all three values are from the *same* Back4App app and restart `npm run dev` after changing `.env.local`.
## Google and production setup
The website reads these browser-safe values from `.env.local`, Vercel Environment Variables, or the Docker runtime environment:
```env
VITE_GOOGLE_SITE_VERIFICATION=VALUE_FROM_SEARCH_CONSOLE
VITE_GOOGLE_ANALYTICS_ID=G-XXXXXXXXXX
```
For Search Console, add the verified production domain, choose **HTML tag**, copy its content value into `V …