- Add email input field to profile edit form - Display current email or 'No email address set' message - Show helpful hint when adding email for the first time - Update backend to accept email in profile updates - Add email uniqueness validation - Allow users to add/update/remove email address - Support empty string to remove email (converts to null) Users can now add or update their email address from the profile page, enabling them to receive email notifications.
Litter Scouts API
Backend API server for Litter Scouts.
Setup
- Install dependencies:
cd server
npm install
- Configure environment variables:
cp .env.example .env
# Edit .env with your configuration
- Set up the database:
npm run prisma:generate
npm run prisma:migrate
- Start the development server:
npm run dev
The API will be available at http://localhost:3000
API Endpoints
Reports
POST /api/reports/upload- Upload a photo (requires auth)POST /api/reports- Create a new report (requires auth)GET /api/reports- Get all reports (with optional filters)GET /api/reports/:id- Get a single reportDELETE /api/reports/:id- Delete a report (requires auth, owner only)
Health Check
GET /health- Server health status
Environment Variables
See .env.example for required environment variables.
Database
The API uses MySQL 8.0+ with Prisma ORM. Connection details are configured in the .env file.
Authentication
Authentication is handled by Clerk. Protected endpoints require a Bearer token in the Authorization header.