importexpressfrom'express';import{Database}from'dbx-py';constapp=express();constdb=Database.open('api.db');app.use(express.json());// 스키마 초기화db.executeSql('CREATE TABLE IF NOT EXISTS users (id INTEGER, name TEXT, email TEXT)');app.post('/users',(req,res)=>{const{name,email}=req.body;constid=Date.now();db.executeSql(`INSERT INTO users VALUES (${id}, '${name}', '${email}')`);res.json({id,name,email});});app.get('/users/:id',(req,res)=>{constresult=db.executeSql(`SELECT * FROM users WHERE id = ${req.params.id}`);res.json(JSON.parse(result));});app.listen(3000,()=>console.log('Server running on port 3000'));
WebSocket 실시간 채팅
import{WebSocketServer}from'ws';import{Database}from'dbx-py';constwss=newWebSocketServer({port:8080});constdb=Database.open('chat.db');db.executeSql('CREATE TABLE IF NOT EXISTS messages (id INTEGER, user TEXT, message TEXT, timestamp INTEGER)');wss.on('connection',(ws)=>{ws.on('message',(data)=>{const{user,message}=JSON.parse(data.toString());constid=Date.now();db.executeSql(`INSERT INTO messages VALUES (${id}, '${user}', '${message}', ${id})`);// 모든 클라이언트에 브로드캐스트wss.clients.forEach((client)=>{client.send(JSON.stringify({id,user,message,timestamp:id}));});});});