# Smart Season Field Monitoring System
A full-stack, production-ready web application designed to track crop progress across multiple fields during a growing season. Admins can add agents, add fields to agents and then the agents can add plants to the field and everything trackead and visible to the admins
### Live Deployments
- **Frontend App:**
smartseas0n.vercel.app
- **Backend API:**
shamba-records-rkb7.onrende…
## Tech Stack
- **Backend:** Django, Django REST Framework,(Deployed on Render via docker)
- **Frontend:** React, Vite, React Router v6, TailwindCSS, React Query, shadcn/ui (Deployed on Vercel)
- **Database:** PostgreSQL (Neon Serverless Postgres)
- **Containerization:** Multi-stage Dockerfile architecture for isolated, pristine production backend deployment.
---
## Table of Contents
1. Setup & Deployment Instructions
- Local Backend Development
- Populating Test Data
- Local Frontend Development
2. Production Architecture & Performance Patterns
- Decoupled Deployment Model
- Progressive Rendering (UI Performance)
3. Data & Risk Architecture
- Separation of Fields and Plants
- Automated Risk Algorithm
4. Demo Credentials
---
## 1. Setup & Deployment Instructions
### Local Backend Development
1. Navigate to the backend directory:
```bash
cd backend
```
2. Create your `.env` file (ensure your Neon `DATABASE_URL` is configured):
```bash
cp .env.example .env
```
3. Build the Docker image:
```bash
docker build -t smartseason-backend .
```
4. Run the Docker container (mapping port 8000 and feeding the environment file):
```bash
docker run --env-file .env -p 8000:8000 smartseason-backend
```
*The Django backend will now be cleanly running at `
127.0.0.1` via Gunicorn in a pristine Docker container without needing any local Python configuration!*
### Populating Test Data
We have a custom management command to effortlessly populate realistic farm data:
```bash
python manage.py seed_db
```
*This command intelligently gener …