Code Monkey home page Code Monkey logo

oss's Introduction

8조 말 많은 양의 왕

소규모 집단 내에서 스터디/토이 프로젝트를 진행함에서 있어 팀원간 자기 할 일 및 진척 사항 등을 관리할 수 있는 웹 서비스 기반 프로그램.

Index

참여자

개발 환경

  • Node.js v16.13.0 LTS
  • MariaDB v10.6.5 / MySQL v8.0.27
  • Windows 10 v21H1 (OS Build 19043.1348)

실행 방법

다음의 두 가지 방법으로 서버를 실행할 수 있습니다.

  1. 배치파일 이용
  2. 명령창 이용

배치파일 이용

해당 방법은 Windows의 지역설정이 한국이며 언어 설정이 한국어인 경우 사용 가능합니다.

레포지토리를 다운로드한 뒤, 해당 파일을 압축 해제하면 아래와 같은 배치파일을 실행합니다.

MySQL 설치 확인 안내에서 Y/y를 입력 후, Node.js 설치 확인 안내에서 Y/y를 입력해 다음으로 진행합니다.

이제 웹 서비스 설정으로 이동합니다.

명령창 이용

제공되는 배치파일을 이용할 수 없을 때 사용합니다.

레포지토리를 다운로드한 뒤, 압축 해제한 폴더에서 Shift + 마우스 오른쪽 버튼을 클릭하면 나오는 컨텍스트 메뉴에서 여기에 PowerShell 창 열기를 클릭합니다.

명령창에서 npm install 명령을 입력해 필요한 모듈을 다운로드합니다.

문제가 없으면 npm start 명령을 이용해 서버를 실행시킵니다.

웹 서비스 설정

웹 브라우저에서 http://localhost:3000을 입력 후 데이터베이스 정보를 입력합니다.

아래의 결과가 나오면 설치가 성공적으로 이루어진것입니다.


demonstrate

시연 문서

database

데이터베이스 문서

oss's People

Contributors

c0c0pang avatar cacaocoffee avatar mijien0179 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

mijien0179

oss's Issues

Windows용 서버 실행 배치 파일 추가 작성 필요

Windows용 서버 실행 배치 파일은 틀이 작성되어 있습니다.

다만, 실행을 위한 웹 서버와 DB는 구성이 되지 않았으므로 추후 서버를 실행하기 위한 명령어 추가가 필요합니다. 추가 작성이 필요한 곳은 배치 파일 내 주석으로 작성 기준과 함께 안내 되어있습니다.

todo table PR 관련 문제

Issue #22
혹시 FOREIGN KEY와 PRIMARY KEY가 동시 적용된 경우에 유일하면서 다른 테이블에 존재하는 값이어야 하는지 확인했나요?
todo의 ID값은 유일하지 않을 수 있지 않나 생각이 듭니다만

installation 페이지 DB 로그인 문제

installation 페이지에서 DB 정보를 입력한 후 로그인시 password가 틀렸을 때 서버 프로그램이 종료됩니다. 해당 문제를 try로 잡는것이 좋아보입니다.

프로젝트 테이블 논의

프로젝트 테이블

table: project

Column Name Comment data type Default NULL Option
id 프로젝트 식별아이디 int unsigned - NOT NULL PRIMARY KEY
name 프로젝트이름 tinytext(20) - NOT NULL
description 프로젝트 설명 text - NULL
deadline 프로젝트 종료기간 date NOT NULL

프로젝트 명단 테이블

table: project_user

Column Name Comment data type Default NULL Option
userid 유저아이디 int unsigned - NOT NULL FOREIGN KEY
projectid 프로젝트아이디 int unsigned - NOT NULL FOREIGN KEY

##프로젝트 언어 테이블
table: language_project

Column Name Comment data type Default NULL Option
languageid 사용언어식별아이디 int unsigned - NOT NULL FOREIGN KEY language_list(id)
projectid 프로젝트식별아이디 int unsigned - NOT NULL FOREIGN KEY project(id)

프론트-백 데이터 전송 규약

전송 규약

사용자 관련

프론트엔드에서 백엔드에서
user-id user_id
user-pw user_pw
user-name user_name
user-language-list user_lang_list

위 내용은 form 에서 get/post 등의 전송을 할 때 name작성하는 내용, ajax에서도 위와 같은 방법으로

데이터 변경을 위한 api 작성 필요

데이터베이스에 저장된 레코드(row) 값 변경을 위한 api가 필요합니다.

  • 프로젝트 데이터(만료일/설명/사용하는스택 등)
  • 유저 사용 가능한 언어/스택
  • todo 설정

언어 테이블 논의

table: language

column name data type NULL option desc
userid int unsigned NOTNULL PRIMARY KEY user테이블 id
language varchar(16) NOTNULL PRIMARY KEY 사용 언어

Originally posted by @cacaocoffee in #12 (comment)

DB 테이블 구성

  • 회원 테이블
  • 프로젝트 테이블
  • TODO 테이블

논의 및 회의를 통해 추가 필요

!안내

기본 테이블 구성은 아래에 처리하며, 이후 특정 테이블에 대한 논의가 필요한 경우에는 코멘트 옵션의 Reference in new issue를 이용하기 바랍니다.
image

todo / todo_user 테이블 구조 변경 요청

프로젝트와 연관된 경우, 프로젝트 내 누구나 하면 되는 todo와 각자 모두 해야하는 todo가 있습니다.
따라서 column을 아래처럼 변경할 것을 요청합니다.

column data type nullable default primary key desc
userid int unsigned not null - PK / FK 연결된 사용자 식별 ID
todoid int unsigned not null - PK / FK 연결된 todo 정보 id
projectid int unsigned null - FK 연결된 프로젝트 id
overwrIte tinyint(1) not null 0 - 연결된 프로젝트 구성원의 상태 변경 가능 여부
done tinyint(1) not null 0 - 실행 완료 여부
cleardate DATE null - - 실행 완료 시간

이에 따라 todo의 테이블의 done, cleardate는 삭제되어야겠습니다.

회원 테이블 논의

회원 테이블

table: user

Column Name Comment data type Default NULL Option
id 식별자 int unsigned - NOT NULL PRIMARY KEY
userid 로그인 아이디 varchar(16) - NOT NULL PRIMARY KEY
pw 로그인 패스워드 varchar(64) - NOT NULL
name 사용자 이름 (닉네임) varchar(10) - NOT NULL
authorize 이용 승인 tinyint(1) 0 NOT NULL
description 유저 소개 글 tinytext NULL

Originally posted by @mijien0179 in #5 (comment)

아무나 가입해서 이용할 수 없도록 입장 제한을 설정하는 컬럼이 있으면 좋겠군요.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.