ν”„λ‘œμ νŠΈ

일반

μ‚¬μš©μžμ •λ³΄

Actions

μƒˆκΈ°λŠ₯ #23

진행쀑

πŸ“ transport-monitoring/ 전체 ꡬ쑰

minkyu park이(κ°€) 3달 전에 좔가함.

μƒνƒœ:
μ‹ κ·œ
μš°μ„ μˆœμœ„:
보톡
λ‹΄λ‹Ήμž:
μ‹œμž‘μΌ:
2025/09/12
μ™„λ£ŒμΌ:
진척도:

0%

μΆ”μ •μ‹œκ°„:

μ„€λͺ…

πŸ“ transport-monitoring/ 전체 ꡬ쑰

transport-monitoring/
β”œβ”€β”€ app/                        # μ„œλ²„ 둜직 디렉토리
β”‚   β”œβ”€β”€ routes/                 # API λΌμš°ν„°
β”‚   β”‚   β”œβ”€β”€ equipment.js        # μž₯λΉ„ 등둝/쑰회 API
β”‚   β”‚   └── user.js             # μ‚¬μš©μž 등둝/둜그인 API
β”‚   └── controllers/            # λΌμš°ν„° ν•Έλ“€λŸ¬
β”‚       β”œβ”€β”€ equipmentController.js
β”‚       └── userController.js
β”œβ”€β”€ public/                     # ν”„λ‘ νŠΈμ—”λ“œ 정적 파일
β”‚   β”œβ”€β”€ index.html              # Dashboard
β”‚   β”œβ”€β”€ equipment.html          # μž₯λΉ„ 리슀트
β”‚   β”œβ”€β”€ logs.html               # 둜그 νŽ˜μ΄μ§€
β”‚   β”œβ”€β”€ stats.html              # 톡계 νŽ˜μ΄μ§€
β”‚   β”œβ”€β”€ css/
β”‚   β”‚   └── style.css
β”‚   β”œβ”€β”€ js/
β”‚   β”‚   β”œβ”€β”€ api.js              # API 호좜 곡톡
β”‚   β”‚   β”œβ”€β”€ dashboard.js
β”‚   β”‚   β”œβ”€β”€ equipment.js
β”‚   β”‚   β”œβ”€β”€ logs.js
β”‚   β”‚   └── stats.js
β”‚   └── assets/
β”‚       └── images/
β”œβ”€β”€ server.js                   # Express μ„œλ²„ μ§„μž…μ 
β”œβ”€β”€ package.json
└── README.md

πŸ“„ server.js

const express = require('express');
const path = require('path');
const app = express();

// 미듀웨어
app.use(express.static(path.join(__dirname, 'public')));
app.use(express.json());

// λΌμš°ν„° μ—°κ²°
const equipmentRoutes = require('./app/routes/equipment');
const userRoutes = require('./app/routes/user');

app.use('/api/equipment', equipmentRoutes);
app.use('/api/user', userRoutes);

// κΈ°λ³Έ νŽ˜μ΄μ§€
app.get('/', (req, res) => {
  res.sendFile(path.join(__dirname, 'public/index.html'));
});

// μ„œλ²„ μ‹€ν–‰
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`πŸš€ Server running at http://localhost:${PORT}`);
});

πŸ“„ app/routes/equipment.js

const express = require('express');
const router = express.Router();
const { registerEquipment } = require('../controllers/equipmentController');

router.post('/register', registerEquipment);

module.exports = router;

πŸ“„ app/controllers/equipmentController.js

exports.registerEquipment = (req, res) => {
  const data = req.body;
  console.log('μž₯λΉ„ 등둝 μš”μ²­:', data);
  // μ‹€μ œ μ €μž₯은 μƒλž΅ (DB 연동 μ‹œ κ΅¬ν˜„)
  res.json({ status: 'success', message: 'μž₯λΉ„ 등둝 μ™„λ£Œ' });
};

πŸ“„ app/routes/user.js

const express = require('express');
const router = express.Router();
const { registerUser, loginUser } = require('../controllers/userController');

router.post('/register', registerUser);
router.post('/login', loginUser);

module.exports = router;

πŸ“„ app/controllers/userController.js

exports.registerUser = (req, res) => {
  const user = req.body;
  console.log('μ‚¬μš©μž 등둝 μš”μ²­:', user);
  res.json({ status: 'success', message: 'μ‚¬μš©μž 등둝 μ™„λ£Œ' });
};

exports.loginUser = (req, res) => {
  const { username, password } = req.body;
  console.log(`둜그인 μ‹œλ„: ${username}`);
  // μ‹€μ œ 인증은 μƒλž΅
  res.json({ status: 'success', message: '둜그인 성곡', session_id: 'abc123' });
};

이제 nodemon server.js둜 μ‹€ν–‰ν•˜λ©΄ /api/equipment/register와 /api/user/registerκ°€ 정상 μž‘λ™

ν‘œμ‹œν•  데이터가 μ—†μŠ΅λ‹ˆλ‹€.

Actions

내보내기 Atom PDF