2.3 KiB
2.3 KiB
Local Backend Setup Guide
Prerequisites
- Node.js 16+ installed
- MongoDB installed and running
- Git for cloning repository
Step 1: Clone and Setup Backend
# Clone the MeetMe backend repository
git clone https://github.com/Andyss4545/meetme-backend-api.git
cd meetme-backend-api
# Install dependencies
npm install
# Create environment file
cp .env.example .env
Step 2: Configure Environment
Create .env file with local configuration:
# Server Configuration
PORT=3000
NODE_ENV=development
# MongoDB Configuration
MONGODB_URI=mongodb://localhost:27017/meetme_dev
# JWT Configuration
JWT_SECRET=your_jwt_secret_key_here
JWT_EXPIRES_IN=7d
# API Configuration
API_BASE_URL=http://localhost:3000/api/v1
CORS_ORIGIN=http://localhost:3000
# Bot Configuration
BOT_RATE_LIMIT=100
BOT_TIMEOUT=30000
Step 3: Database Setup
# Start MongoDB (if not running)
mongod
# Create database and collections
mongo meetme_dev
Step 4: Start Backend Server
# Development mode with auto-reload
npm run dev
# Or production mode
npm start
Step 5: Verify API Endpoints
Test the API endpoints:
# Health check
curl http://localhost:3000/api/v1/health
# Get users
curl http://localhost:3000/api/v1/users
# Create test user
curl -X POST http://localhost:3000/api/v1/users \
-H "Content-Type: application/json" \
-d '{
"username": "testuser",
"email": "test@example.com",
"password": "password123"
}'
Step 6: Bot Integration Testing
Update Python bot configuration to use local API:
# In your .env file for Python bots
API_BASE_URL=http://localhost:3000/api/v1
API_USERNAME=your_test_user
API_PASSWORD=your_test_password
Troubleshooting
Common Issues:
- MongoDB Connection: Ensure MongoDB is running on port 27017
- Port Conflicts: Change PORT in .env if 3000 is occupied
- CORS Issues: Update CORS_ORIGIN in .env for your frontend
- JWT Errors: Generate a strong JWT_SECRET
Debug Commands:
# Check MongoDB status
mongo --eval "db.adminCommand('ping')"
# Check Node.js server logs
npm run dev
# Test API endpoints
curl -v http://localhost:3000/api/v1/health