Skip to content

osamhack2020/WEB_4rmyClinic_YukHaeJinMi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

두軍두軍 상담소

프로젝트 시연 동영상

Thumbnail

이미지를 클릭하시면 이동합니다.


프로젝트 설계 과정

Notion

팀원 간 프로젝트 진행과 관련된 이슈 공유 및 임무 분담

Notion


BeeCanvas - 사용자 스토리 작성

팀원 간 대면하여 소통하기에 제한이 있으므로 공유된 이해를 갖기 위해 스토리 작성을 진행하며 회의 진행

Story


Figma 사용하여 디자인 작업 진행

정해진 스토리를 기반으로 디자인 작업 진행

design


ERD 작성

두군두군 상담소 서비스에 필요한 데이터베이스 구조를 잡기위해 ERD 작성

erd


서버, 클라이언트 개발자가 Schema 파일을 공유함으로써 수정 현황에 대한 협업 상태를 유지하기에 편리함.

schema {
  query: Query
  mutation: Mutation
  subscription: Subscription
}

type Mutation {
  userCreate(input: UserCreateInput!): UserCreatePayload
  userProfileImgSet(input: UserProfileImgSetInput!): UserProfileImgSetPayload
  userInfoUpdate(input: UserInfoUpdateInput!): UserInfoUpdatePayload
  postCreate(input: PostCreateInput!): PostCreatePayload
  postUpdate(input: PostUpdateInput!): PostUpdatePayload
  postDelete(input: PostDeleteInput!): PostDeletePayload
  likeToggle(input: LikeToggleInput!): LikeTogglePayload
  commentCreate(input: CommentCreateInput!): CommentCreatePayload
  commentDelete(input: CommentDeleteInput!): CommentDeletePayload
  authToken(input: ObtainJSONWebTokenInput!): ObtainJSONWebTokenPayload
  verifyToken(input: VerifyInput!): VerifyPayload
  refreshToken(input: RefreshInput!): RefreshPayload
  revokeToken(input: RevokeInput!): RevokePayload
  deleteTokenCookie(input: DeleteJSONWebTokenCookieInput!): DeleteJSONWebTokenCookiePayload
  deleteRefreshTokenCookie(input: DeleteRefreshTokenCookieInput!): DeleteRefreshTokenCookiePayload
  chatSend(input: ChatSendInput!): ChatSendPayload
  counselStart(input: CounselStartInput!): CounselStartPayload
  counselStatusUpdate(input: CounselStatusUpdateInput!): CounselStatusUpdatePayload
}

type Query {
  node(id: ID!): Node
  user(id: ID!): UserNode
  post(id: ID!): PostNode
  tag(id: ID!): TagNode
  counsel(id: ID!): CounselNode
  chat(id: ID!): ChatNode
  career(id: ID!): CareerNode
  users(before: String, after: String, first: Int, last: Int, email_Icontains: String, division_Icontains: String, rank_Icontains: String, isCounselor: Boolean): UserNodeConnection
  tags(name_Icontains: String, before: String, after: String, first: Int, last: Int): TagConnection
  posts(before: String, after: String, first: Int, last: Int): PostConnection
  counselors(before: String, after: String, first: Int, last: Int): CounselorConnection
  getUserFromEmail(email: String!): UserNode
}

type Subscription {
  messageSent(counselId: ID!): MessageSent
}

기술 스택

tech-stack

모든 dependency 보기


설치 안내 (Installation Process)

  • Python(3.8.5), Node.JS LTS(12.19.0) 이상이 설치되어 있어야합니다.
# Repository Clone
git clone https://github.com/osamhack2020/web_4rmyclinic_yukhaejinmi

# 1) Django Server Setting
cd server
pip install -r requirements.txt
cd clinic
python manage.py makemigrations
python manage.py migrate
python manage.py loaddata fixture.json # To load sample data
python manage.py runserver


# 2) React Client Setting
pwd 				# Web_4rmyClinic_YukHaeJinmi
cd client/react
touch .env.endpoint
# REACT_APP_DEV_SERVER=http://localhost:8000 또는 개발환경에서 사용하는 장고 서버 주소를 입력해야합니다.
npm i
npm run relay -- --watch # watch 모드를 실행하려면 watchman이 설치되어있어야합니다.
npm run dev
		# npm start는 배포되어있는 서버와 연결됩니다.
		# npm run dev는 REACT_APP_DEV_SERVER 에서 실행되고 있는 장고 서버와 연결됩니다.

팀원 정보


License

license