[주간회고] 2025.12.16

김재만·2025년 12월 16일

작업한 것

  • 서버 경량화 및 리뉴얼
    • 스펙: t2.medium → t3.micro
    • 기술
      • backend: thingsboard(spring) → node.js
      • db: progresQL → sqlite
  • SQL 쿼리 API 생성
    • concerts 테이블에 대한 CRUD
      • C: "INSERT INTO concerts (title, price) VALUES (?, ?)”
        export const writeConcert = (request, response) => {
          const { title, price } = request?.body;
          const stmt = db.prepare("INSERT INTO concerts (title, price) VALUES (?, ?)");
          const result = stmt.run(title, price);
          return response
            .status(200)
            .send({ id: result.lastInsertRowid, title, price });
        };
        
      • R: "SELECT * FROM concerts”
        export const getConcerts = (request, response) => {
          const stmt = db.prepare("SELECT * FROM concerts");
          return response.status(200).send(stmt.all());
        };
      • U: "UPDATE concerts SET title = ?, price = ? WHERE id = ?”
        export const updateConcert = (request, response) => {
          const { id, title, price } = request.body;
          console.log("id, title, price", id, title, price);
          const stmt = db.prepare(
            "UPDATE concerts SET title = ?, price = ? WHERE id = ?"
          );
          stmt.run(title, price, id);
          return response.status(200).send({ success: true });
        };
      • D: "DELETE FROM concerts WHERE id = ?”
        export const deleteConcert = (request, response) => {
          const { id } = request.query;
          const stmt = db.prepare("DELETE FROM concerts WHERE id = ?");
          stmt.run(id);
          return response.status(200).send({ success: true });
        };
  • 대시보드 생성
    • viewsRouter를 통해 src/views/dashboard/index.html 접근 uri 노출

배운 것

  • sqlite 사용법
  • CRUD SQL Query

다음 작업

  • 콘서트 정보 수집 API → 스케쥴링 → 웹 푸쉬

마무리

하.. 멀리 돌아 왔지만 MVP가 코앞이다

profile
듣는 것을 좋아하는 개발자입니다

0개의 댓글