| 이름 | 역할 | 개인 깃허브 |
|---|---|---|
| 김미진(팀장) | 기획, 그래픽, 프론트엔드(게임 시스템) | @Mijin-Ewha |
| 김지우 | 기획, 프론트엔드(게임 시스템, 데이터 관리 시스템) | @ZoroZuro1 |
| 이도현 | 기획, 프론트엔드(게임 시스템, 데이터 관리 시스템), 백엔드 | @rnrgll |
<메르헨 코더 : 코딩으로 동화 세계를 구하라!>는 코딩 학습에 흥미가 있는 초등학생을 대상으로 한 코딩 학습 모바일 게임입니다. 유니티와 C# 스크립트를 활용하여 직접 개발한 비주얼 프로그래밍 도구로 프로그래밍 학습을 진행합니다. 게임의 서버는 Node.js로 구현되었으며 현재 레포지토리는 배포가 아닌 개발 및 테스트 환경에서 사용되어야 합니다.
- 회원가입
- 로그인
- 계정 삭제
- 게임 데이터 저장
- 게임 데이터 불러오기(로드)
- S3에 저장된 정적 파일을 다운로드
- Node.js v16.14.0
- npm 8.3.1
- psql 14.12
- Ubuntu 14.12-0ubuntu0.22.04.1(AWS EC2)
로컬에서 게임 서버를 설치하고 실행하는 방법은 다음과 같습니다.(개발 및 테스트 용입니다. 배포용이 아닙니다.)
-
저장소를 클론합니다.
git clone https://github.com/MerchenCoder/BackendServer.git cd BackendServer -
필요한 의존성을 설치합니다.
npm install -
PostgreSQL을 설치하고 아래를 따라 user와 데이터베이스를 생성합니다.
-
PostgreSQL를 설치합니다.
이미 설치되어 있다면 3번부터 진행합니다. macOS는 homebrew로 설치할 수 있습니다.
-
PostgreSQL 서비스를 시작합니다.
brew services start postgresql -
PostgreSQL 콘솔에 접속합니다.
psql postgres -
사용자를 생성합니다. 예) 유저명 : devuser, password : dev1234
postgres=# CREATE ROLE devuser WITH LOGIN PASSWORD 'dev1234';- 사용자 확인 방법 :
postgres=# \du
- 사용자 확인 방법 :
-
사용자에게 권한을 부여합니다.
postgres=# ALTER ROLE devuser CREATEDB; postgres=# ALTER ROLE devuser CREATEROLE; -
새로 만든 유저로 접속합니다. (devuser로 접속)
이제 terminal 창에서 새로 만든 유저로 다시 접속합니다. (postgresql 접속 종료를 하려면
\q를 사용하면 됩니다.)$ psql postgres -U devuser; -
데이터베이스 생성합니다. 예)merchencoderdb
CREATE DATABASE merchencoderdb;
-
-
환경 변수를 설정합니다.
-
루트 디렉토리에
.env파일을 생성하고 환경 변수를 추가합니다. (.env파일은.gitignore파일에 추가하여 저장소에 올라가지 않도록 해야합니다.)- AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY 에는 AWS IAM에서 생성한 사용자의 액세스 키를 넣어줍니다.
- POSTGRE_SQL_USER에는 생성한 유저 이름을 넣어줍니다.
- POSTGRE_SQL_PASSWORD에는 비밀번호을 넣어줍니다.
- POSTGRE_SQL_DATABASE에는 생성한 데이터베이스 이름을 넣어줍니다.
AWS_ACCESS_KEY_ID=YOUR_AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY=YOUR_AWS_SECRET_ACCESS_KEY POSTGRE_SQL_HOST = 127.0.0.1 POSTGRE_SQL_DATABASE = merchencoderdb POSTGRE_SQL_USER=devuser POSTGRE_SQL_PASSWORD=dev1234 POSTGRE_SQL_PORT = 5432 -
config.json 파일 내용을 변경합니다.
config 폴더 안에 있는 config.json 파일을 열어 username(데이터베이스 유저 이름), password(데이터베이스 유저 비밀번호), database(데이터베이스 이름)을 앞 단계에서 설정한대로 변경해줍니다.
-
-
데이터 마이그레이션 실행합니다.
- Sequelize CLI 설치합니다.
npm install sequelize-cli --save-dev - 마이그레이션 실행합니다.
npx sequelize-cli db:migrate
- Sequelize CLI 설치합니다.
-
서버를 시작합니다.
node server.js서버가 실행되면 'http://localhost:3000'에서 API에 접근할 수 있습니다.
├── README.md
├── .gitignore
├── package-lock.json
├── package.json
├── config
│ ├── config.json #데이터베이스 설정 정보
├── migrations
│ └── # 데이터베이스 마이그레이션 파일(데이터 마이그레이션 용도)
├── models
│ └── # 데이터베이스 테이블의 모델 정의(데이터 마이그레이션 용도)
├── seeders # 데이터베이스 초기 데이터 삽입 시딩 파일(데이터 마이그레이션 용도)
├── routes
│ ├── downloadFile.js # 파일 다운로드 기능
│ ├── load.js # 데이터 로드 기능
│ ├── save.js # 데이터 저장 기능
│ ├── signin.js # 로그인 기능
│ ├── signup.js # 회원가입, 계정 삭제 기능
└── sever.js # 메인 서버 애플리케이션 엔트리 포인트
Distributed under the MIT License. See LICENSE for more information.

