Wordle Maker Project Spring 1일차

ckd248·2023년 1월 25일
0

오늘부터는 기존에 node.js로 제작했던 wordle maker project의 백엔드 부분을 스프링을 이용해서 개발할 것이다. 이를 위해 wordle maker project가 끝난 직후부터 JAVA(이것이 자바다)와 자바 웹 개발(자바 웹 개발 워크북)을 공부했고, 책의 내용을 완전히 이해한 것은 당연히 아니지만 프로젝트를 진행하면서 배워나갈 예정이다. 특히나 내가 만든 프로젝트는 DB도 CRUD 수준의 쿼리밖에 없고, 특별히 어려운 부분이 없기 때문에 스프링의 정말 기본적인 내용들을 다루며 스프링에 적응해 나간다는 생각으로 프로젝트에 임할 생각이다. 오늘은 1일차이기 때문에 기존의 wordle maker project의 백엔드를 훑어보고, 필요한 기능과 라우터를 정리하는 시간을 가질 예정이다.

목표

  • mysql을 mariadb로 교체
  • 필요한 기능들 정리
  • 간단한 api 문서 작성

진행

먼저 기존에 mysql을 사용하고 있었는데, 이번에는 mariadb로 사용할 계획이라서 node.js에 mariadb 패키지를 설치해주고, config도 고쳐서 mariadb로 데이터를 저장할 수 있도록 하였다.

const dotenv = require('dotenv');
dotenv.config();

module.exports = {
  development: {
    username: "root",
    password: process.env.SQL_PWD,
    database: "wordle_maker",
    host: "127.0.0.1",
    dialect: "mariadb"
  },
  test: {
    username: "root",
    password: null,
    database: "wordle_maker",
    host: "127.0.0.1",
    dialect: "mariadb"
  },
  production: {
    username: "root",
    password: null,
    database: "wordle_maker",
    host: "127.0.0.1",
    dialect: "mariadb"
  }
}

config/config.js이다.

필요한 기능으로는 먼저 API 서버 형태로 만들 것이기 때문에 클라이언트에서 오는 요청을 처리하여 응답을 할 수 있도록 라우터를 구성해야 한다. 또한 사용자가 입력한 단어를 기억하기 위해 세션을 처리할 수 있어야 하고, wordle loader에서 실시간으로 solver가 입력하는 단어를 확인할 수 있도록 웹소켓 기능도 넣어야 한다. 데이터베이스는 실제로 존재하는 단어를 저장하는 mongodb, maker와 solver의 정보를 저장하는 mariadb를 사용할 예정이다.

api 문서는 간단하게 노션에 작성해놓았고, 이것을 참고하며 개발해 나갈 예정이다. 확실히 시간이 지나고 보니 요청이나 응답이 통일되어 있지 않다던지, 똑같은 요청을 다른 url로 만들어 놓았다던지 하는 문제점이 많았다.

내일 할 것

  • spring 프로젝트 생성
  • git/github 연동

마무리

이번 프로젝트는 복학 전, 그러니까 3월 전에 끝내는 것이 목표이다. 이미 만들어 놓은 프로그램을 다른 툴로 구현하는 것 밖에 안되기 때문에 그렇게 오래 걸리진 않을 것 같은데, 스프링이 node.js보단 상대적으로 훨씬 어려웠어서 더 오래 걸릴 수도 있을 것 같다. 아무튼 열심히 해서 프로젝트를 마무리할 때쯤이면 지금보다 스프링에 대해 훨씬 많이 아는 상태였으면 좋겠다.

0개의 댓글