Files
ocean-cleanup/server
Paul Bailey b3f3d1ad33 feat: implement real water quality data with 38 Irish beaches
- Add static dataset of 38 Irish beaches with 2024 water quality data
- Implement nearest beach finder (within 20km radius)
- Return real water quality status (excellent/good/sufficient/poor)
- Include E.coli and Enterococci parameters
- Remove unimplemented services from EnvironmentalDataPanel (beach quality, biodiversity)
- Update panel description to reflect available data

Coverage: Dublin, Wicklow, Wexford, Waterford, Cork, Kerry, Clare, Galway, Mayo, Sligo, Donegal, Antrim, Down
2025-11-16 23:34:15 +00:00
..

Beach Litter Mapping API

Backend API server for the Beach Litter Mapping Platform.

Setup

  1. Install dependencies:
cd server
npm install
  1. Configure environment variables:
cp .env.example .env
# Edit .env with your configuration
  1. Set up the database:
npm run prisma:generate
npm run prisma:migrate
  1. 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 report
  • DELETE /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.