# Niger Delta Climate Summit Backend API
A Node.js backend API for handling registration forms for the Niger Delta Climate & Technology Series 2025. Built with Express.js, MongoDB, and Zoho Mail integration.
## Features
- ✅ Registration form submission with validation
- ✅ Email notifications (confirmation + admin alerts)
- ✅ Registration retrieval with filtering and pagination
- ✅ Registration statistics and analytics
- ✅ Rate limiting and security middleware
- ✅ Input sanitization and validation
- ✅ MongoDB integration with Mongoose
- ✅ Zoho Mail integration for email notifications
- ✅ No authentication required (as requested)
## Project Structure
```
├── config/
│ └── database.js # MongoDB connection configuration
├── controllers/
│ └── registrationController.js # Registration business logic
├── middleware/
│ ├── security.js # Rate limiting, sanitization, security headers
│ └── validation.js # Input validation rules
├── models/
│ └── Registration.js # MongoDB schema and model
├── routes/
│ └── registrations.js # API route definitions
├── services/
│ └── emailService.js # Zoho Mail email service
├── .env.example # Environment variables template
├── package.json # Dependencies and scripts
├── server.js # Main application entry point
└── README.md # This file
```
## Installation & Setup
### 1. Clone and Install Dependencies
```bash
# Clone the repository (or create the files manually)
git clone
cd niger-delta-climate-summit-backend
# Install dependencies
npm install
```
### 2. Environment Configuration
Copy `.env.example` to `.env` and configure your settings:
```bash
cp .env.example .env
```
Edit `.env` file with your settings:
```env
# Server Configuration
PORT=3000
NODE_ENV=development
# MongoDB Configuration
MONGODB_URI=mongodb://localhost:27017/niger-delta-summit
# Zoho Mail Configuration
ZOHO_MAIL_HOST=smtp.zoho.com
ZOHO_MAIL_PORT=587
ZOHO …