Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sm_android

약어

A : 앱

S : 소켓서버

H : 매장 호스트

C : 매장 클라이언트

G : 게임 클라이언트 embed dll

I : 설치 usb 프로그램

W : 웹서버

서버

패킷

https://docs.google.com/spreadsheets/d/1zxJGZiLXYNsahyMkz1Ka81bGi7yCZpOOnwxietSNJ0k/edit?usp=sharing

table

manager : 관리자 
- id(primary_key, autoincreament) : Int
- user_id(Uniqueue) : String
- user_name : String
- password : String
- manager_type_id(foreign) : Int
- created_at
- modified_at

manager_type : 관리자 권한
- id(primary_key, autoinrement) : Int
- name_ko : string (관리자, 총괄, 기사, 어드민)
- name : manager, supermanager, engineer, admin

store_permission : 매장 권한(매핑 테이블)
- id( primary_key, autoincrement) : Int
- manager_id(foreign, index) : Int
- store_id(foreign) : Int

game_permission : 게임 권한(매핑 테이블)
- id( primary_key, autoincrement) : Int
- manager_id(foreign, index) : Int
- game_id(foreign) : Int

store : 매장 정보
- id(unique) : Int
- name : string
- manager_id(foreign) : Int ( 등록한 기사 정보 )
- host_local_ip : string
- created_at
- modified_at
        
device : 기기 정보
- id(primary_key, autoincreament)
- store_id(foreign)
- mac_addr(constraint) : 맥주소
- name(constraint) : 기기 번호
- game_id(foreign)
- created_at
- modified_at

inout_tody : 입출금 표시(일 정산 이후에 삭제?)
- store_id(constraint uniqueu)
- device_id(constraint uniqueu)
- is_input: bool
- price : Int
- created_at : DATETIME

game : 게임 정보 테이블
- id : (primary_key, autoincrement)
- name : 게임명(findwindow로 찾을수 있는?)

game_event : 게임 이벤트 테이블 // 게임마다 정해지는거지 설정에 따라 바뀔수 없음
- id : (primary_key, autoincrement)
- game_id(foreign)
- event_name : string
- vk : Int // 가상키코드

call_log : 콜 로그
- id(primary_key, autoincrement)
- store_id(foreign)
- device_id(foreign)
- created_at: DATETIME
- manager_id(foreign)
- event_id(foreign)

setting_log : 세팅 로그
- id(primary_key, autoinrement)
- manager_id(foreign)
- store_id(foreign)
- device_id(foreign)
- type: host, device
- created_at: DATETIME

필요 프로그램 목록

  1. client(dll) : 기존 게임 연동 필요
    • 입출금 금액 전송(웹)
    • 확률 전달(레지스트리)
    • 게임 금액 전달(레지스트리)
    • call client(exe)
    • 매장 호스트 조회(웹)
    • 매장 호스트 접속(소켓)
    • 콜 입력(소켓)
    • 접속 끊기면 게속 재시도
    • store host(exe or service) //
    • 로컬 소켓 서버(기기 관리)
    • 서버 접속(소켓)
    • 기기 목록 관리(소켓)
    • 콜 전달(소켓)
    • 접속 끊키면 계속 재시도
    • socket server(exe)
    • 매장 접속되어 있는 매장 목록 관리
    • 콜 전달
    • 매장 기기 목록 전달
    • web server(node js)
    • 사용자 인증
    • 호스트 인스톨
    • 게임 목록 관리
    • 기기 설치 관리
    • 호스 로컬 ip 관리
    • 매장 목록 관리(매장 등록을 어디서 할건지?)
    • 기기 목록 관리
    • 게임 목록 관리
    • 게임 이벤트 관리
    • 콜 히스토리 관리
    • 사용자 추가
    • 사용자 타입 관리
    • db(mysql)
  2. app(android)
    • 인증
    • 매장 목록
    • 매장 정보 조회(이름, 정산(날짜별?), 기기 목록)
    • 기기 정보(번호, 맥주소, 입출금 기록, 입출금 토탈, 이번트 콜)
    • 매장 생성
    • 게임 생성
    • 이벤트 추가/수정/삭제
    • 사용자 생성 <- 본인 가입이 아니고 하위 관리자만 생성 가능(기사는 생성 불가)
    • 기사에게 (매장/게임)권한 부여 창
    • installer(exe) // 별개 프로그램 제작
    • 인증(id/비번 저장)
    • call host 설치
    • call host 설치 내용 전송(localip,매장 id)
    • call client 설치
    • call client 설치 내용 전송(매장 id, 기기 번호, 게임 id, 맥 주소)
    • 확률/금액(레지스트리 등록)
    • 매장 목록 조회
    • 게임 목록 조회

필요 서버

  1. ec2 windows server(socket server)
  2. ec2 linux server(web server)
  3. rds mysql

About

매장 관리용

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages