app.use('/orders', createProxyMiddleware({ target: 'http://localhost:4003', changeOrigin: true, }));
app.post('/users', async (req, res) => { const newUser = new User(req.body); await newUser.save(); res.status(201).json(newUser); });
const redis = require('redis'); const publisher = redis.createClient(); app.post('/users', async (req, res) => { const newUser = new User(req.body); await newUser.save();
useEffect(() => { fetchUsers(); }, []);
// Publish event await publisher.publish('user-created', JSON.stringify(newUser));
Run everything with:
FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm install COPY . . EXPOSE 4001 CMD ["node", "server.js"] microservices with node js and react download
const express = require('express'); const { createProxyMiddleware } = require('http-proxy-middleware'); const app = express();
const User = mongoose.model('User', userSchema);
version: '3.8' services: user-service: build: ./services/user-service ports: - "4001:4001" environment: - MONGO_URI=mongodb://mongo-users:27017/usersdb depends_on: - mongo-users mongo-users: image: mongo ports: - "27017:27017" createProxyMiddleware({ target: 'http://localhost:4003'
const express = require('express'); const mongoose = require('mongoose'); const cors = require('cors'); require('dotenv').config(); const app = express(); app.use(cors()); app.use(express.json());
🔗 (placeholder)
app.use('/products', createProxyMiddleware({ target: 'http://localhost:4002', changeOrigin: true, })); { const newUser = new User(req.body)
app.listen(4001, () => { console.log('User service running on port 4001'); });