Server Applications
Build backend servers and APIs using Node.js, Python, or other frameworks. Claude Code helps you create robust server applications with databases, authentication, and more.
Overview
Server applications handle backend logic, APIs, databases, authentication, and business logic. With Claude Code, you can vibe code servers using modern frameworks and best practices.
Choose Your Stack
Node.js (JavaScript/TypeScript)
Great for JavaScript developers and real-time apps.
Popular Frameworks:
- Express - Minimal and flexible
- Fastify - Fast and efficient
- NestJS - Enterprise-grade, TypeScript-first
- Hono - Modern, ultrafast edge runtime
Python
Perfect for data-heavy apps and ML integration.
Popular Frameworks:
- FastAPI - Modern, fast, with automatic docs
- Django - Full-featured, batteries included
- Flask - Lightweight and flexible
Go
Best for high-performance services.
Popular Frameworks:
- Gin - Fast HTTP framework
- Echo - High performance, minimalist
- Fiber - Express-inspired
Rust
Maximum performance and safety.
Popular Frameworks:
- Axum - Ergonomic and modular
- Actix - Powerful and fast
Building with Node.js + Express
Setup
mkdir my-server
cd my-server
npm init -y
npm install expressStart Claude Code
claudeExample prompts
"Create an Express server with endpoints for users: GET, POST, PUT, DELETE"
"Add MongoDB connection and user schema with Mongoose"
"Implement JWT authentication with login and register endpoints"
"Add input validation using Zod"
"Create middleware for error handling and logging"
"Add rate limiting to prevent abuse"
"Implement file upload with multer"
"Add CORS configuration for my frontend at localhost:3000"Run the server
node server.js
# or with auto-reload
npm install -D nodemon
npx nodemon server.jsBuilding with Python + FastAPI
Setup
mkdir my-api
cd my-api
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install fastapi uvicornStart Claude Code
claudeExample prompts
"Create a FastAPI server with CRUD endpoints for a todo list"
"Add SQLAlchemy database models for users and posts"
"Implement JWT authentication with OAuth2 password flow"
"Add Pydantic models for request/response validation"
"Create endpoints to upload and download files"
"Add database migrations using Alembic"
"Implement pagination for list endpoints"
"Add websocket endpoint for real-time updates"Run the server
uvicorn main:app --reloadCommon Server Features
REST API Endpoints
Create RESTful APIs:
claude "create REST endpoints for a blog: posts, comments, and users"Database Integration
PostgreSQL
claude "connect to PostgreSQL and create a users table with email, password, and created_at"MongoDB
claude "set up MongoDB connection and create schemas for products and orders"SQLite
claude "use SQLite for local database with tables for tasks and categories"Authentication & Authorization
JWT Tokens
claude "implement JWT authentication with access and refresh tokens"Session-based Auth
claude "add session-based authentication using express-session"OAuth2
claude "integrate Google OAuth2 login"API Keys
claude "implement API key authentication for third-party integrations"Validation
Validate incoming data:
claude "add validation to ensure email is valid and password is at least 8 characters"Error Handling
Proper error responses:
claude "create centralized error handling middleware with proper HTTP status codes"File Uploads
Handle file uploads:
claude "add endpoint to upload images with size and type validation"Email Sending
Send transactional emails:
claude "send welcome email when user registers using Nodemailer"Payment Processing
Integrate payments:
claude "integrate Stripe for subscription payments"Real-time Features
WebSockets or Server-Sent Events:
claude "add WebSocket support for real-time chat"Database ORMs
Node.js
Prisma (Recommended)
claude "set up Prisma with PostgreSQL and create user and post models"TypeORM
claude "configure TypeORM with MySQL for an e-commerce database"Python
SQLAlchemy
claude "create SQLAlchemy models for a blog with relationships"Django ORM
claude "create Django models for a social media platform"API Documentation
Auto-generated docs
claude "add Swagger/OpenAPI documentation to my Express API"FastAPI includes automatic docs at /docs and /redoc.
Security Best Practices
Environment Variables
claude "move all secrets to environment variables using dotenv"Rate Limiting
claude "add rate limiting: 100 requests per 15 minutes per IP"CORS
claude "configure CORS to allow only my frontend domain"Helmet (Node.js)
claude "add Helmet middleware for security headers"SQL Injection Prevention
claude "ensure all database queries use parameterized statements"Password Hashing
claude "hash passwords using bcrypt before saving to database"Testing
Unit Tests
claude "write unit tests for the authentication functions using Jest"Integration Tests
claude "create integration tests for all API endpoints"API Testing
claude "write tests using Supertest to verify API responses"Deployment
Docker
claude "create a Dockerfile to containerize my Node.js server"Environment Variables
claude "set up environment variables for development, staging, and production"Process Managers
PM2 (Node.js)
npm install -g pm2
pm2 start server.jsSystemd (Linux)
claude "create a systemd service file for my Python FastAPI app"Hosting Options
Cloud Platforms
- Vercel - Great for Node.js APIs (free tier)
- Railway - Simple deployment (free tier available)
- Render - Full-stack hosting
- Fly.io - Global edge deployment
- AWS - Full control, scalable
- Google Cloud - Enterprise features
- DigitalOcean - Simple VPS hosting
Serverless
- AWS Lambda - Pay per request
- Cloudflare Workers - Edge computing
- Vercel Functions - Serverless functions
- Netlify Functions - JAMstack serverless
Monitoring and Logging
Logging
claude "add structured logging using Winston with log rotation"Error Tracking
claude "integrate Sentry for error tracking and monitoring"Performance Monitoring
claude "add New Relic APM for performance monitoring"Scaling
Caching
claude "add Redis caching for frequently accessed data"Load Balancing
claude "configure nginx as a load balancer for my Node.js servers"Horizontal Scaling
claude "set up my server to run multiple instances behind a load balancer"GraphQL (Alternative to REST)
claude "convert my REST API to GraphQL using Apollo Server"Example Projects
Blog API
claude "create a complete blog API with posts, comments, users, and authentication"E-commerce Backend
claude "build an e-commerce API with products, cart, orders, and Stripe payments"Chat Server
claude "create a real-time chat server with WebSockets, rooms, and message history"File Storage Service
claude "build a file upload/download service with S3 integration"Task Management API
claude "create a task management API with projects, tasks, and team collaboration"Pro Tips
Always use environment variables for secrets. Never commit API keys, database passwords, or tokens to git.
- Use TypeScript for better type safety and autocomplete
- Implement proper error handling from the start
- Add logging before deploying to production
- Use a database connection pool for better performance
- Implement rate limiting to prevent abuse
- Always validate user input
- Use HTTPS in production
- Keep dependencies updated
- Write tests for critical functionality
- Document your API endpoints
- Use database migrations for schema changes
Environment Setup
Create a .env file:
DATABASE_URL=postgresql://user:pass@localhost:5432/mydb
JWT_SECRET=your-secret-key
PORT=3000
NODE_ENV=developmentAdd .env to .gitignore:
echo ".env" >> .gitignoreDatabase Migrations
claude "set up database migrations using Prisma Migrate"Background Jobs
For long-running tasks:
claude "implement background job processing using Bull queue and Redis"Next Steps
- Choose your framework (Express or FastAPI recommended for beginners)
- Set up your project
- Start Claude Code
- Build your API endpoints
- Add database integration
- Implement authentication
- Add tests
- Deploy to production
Start building powerful backend services with Claude Code!