Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/osamhack2020/web_4rmyclinic_yukhaejinmi
새로운 시대, 새로운 상담, 두軍두軍 상담소
https://github.com/osamhack2020/web_4rmyclinic_yukhaejinmi
django google-cloud-run graphql react relay
Last synced: 3 months ago
JSON representation
새로운 시대, 새로운 상담, 두軍두軍 상담소
- Host: GitHub
- URL: https://github.com/osamhack2020/web_4rmyclinic_yukhaejinmi
- Owner: osamhack2020
- License: mit
- Created: 2020-10-07T13:53:57.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-10-31T07:07:57.000Z (over 4 years ago)
- Last Synced: 2023-03-10T00:08:39.840Z (almost 2 years ago)
- Topics: django, google-cloud-run, graphql, react, relay
- Language: TypeScript
- Homepage: https://4rmy.app
- Size: 9.66 MB
- Stars: 9
- Watchers: 4
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#
두軍두軍 상담소
##
프로젝트 시연 동영상
![Thumbnail](./readme/video.png)> 이미지를 클릭하시면 이동합니다.
##
프로젝트 설계 과정
> 팀원 간 프로젝트 진행과 관련된 이슈 공유 및 임무 분담
![Notion](./readme/notion.png)
> 팀원 간 대면하여 소통하기에 제한이 있으므로 공유된 이해를 갖기 위해 스토리 작성을 진행하며 회의 진행
![Story](./readme/story.png)
###
Figma 사용하여 디자인 작업 진행
> 정해진 스토리를 기반으로 디자인 작업 진행
![design](./readme/figma.png)
###
ERD 작성
> 두군두군 상담소 서비스에 필요한 데이터베이스 구조를 잡기위해 ERD 작성
![erd](./readme/erd_final.png)
###
[GraphQL Schema](https://api.4rmy.app/playground) 작성
> 서버, 클라이언트 개발자가 [Schema 파일](https://github.com/osamhack2020/WEB_4rmyClinic_YukHaeJinMi/blob/master/client/react/schema.graphql)을 공유함으로써 수정 현황에 대한 협업 상태를 유지하기에 편리함.
```graphql
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](./readme/tech.png)> [모든 dependency 보기](https://github.com/osamhack2020/WEB_4rmyClinic_YukHaeJinMi/network/dependencies)
##
설치 안내 (Installation Process)
* **Python(3.8.5)**, **Node.JS LTS(12.19.0)** 이상이 설치되어 있어야합니다.
```bash
# 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 에서 실행되고 있는 장고 서버와 연결됩니다.
```
##
팀원 정보
- 이성빈 ([email protected]), Github: [@leesungbin](https://github.com/leesungbin)
- 홍유준 ([email protected]), Github: [@Kick-snare](https://github.com/kick-snare)- 이준영 ([email protected]), Github: [@rubinstory](https://github.com/rubinstory)
- 박동한 ([email protected]), Github: [@donghanpark](https://github.com/donghanpark)
##
License
![license](https://img.shields.io/bower/l/react)