Toggle navigation
Toggle navigation
This project
Loading...
Sign in
송용우
/
oss-Jaksimsamil
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
JJuOn
2020-09-07 20:30:21 +0900
1
Browse Files
Options
Browse Files
Download
Plain Diff
Commit
f3b35d014597ec0dfd7cd6a1c16d20933fa133fe
f3b35d01
2 parents
5203fc23
01b86f47
Merge branch 'feature/rest_api' of github.com:FacerAin/Jaksimsamil into feature/rest_api
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
180 additions
and
46 deletions
jaksimsamil-page/package-lock.json
jaksimsamil-page/package.json
jaksimsamil-page/src/components/challenge/ChallengeForm.js
jaksimsamil-page/src/components/home/HomeForm.js
jaksimsamil-page/src/containers/challenge/ChallengeContainer.js
jaksimsamil-server/src/models/participation.js
jaksimsamil-page/package-lock.json
View file @
f3b35d0
...
...
@@ -1982,9 +1982,9 @@
}
},
"@material-ui/core"
:
{
"version"
:
"4.1
0.2
"
,
"resolved"
:
"https://registry.npmjs.org/@material-ui/core/-/core-4.1
0.2
.tgz"
,
"integrity"
:
"sha512-
Uf4iDLi9sW6HKbVQDyDZDr1nMR4RUAE7w/RIIJZGNVZResC0xwmpLRZMtaUdSO43N0R0yJehfxTi4Z461Cd49A
=="
,
"version"
:
"4.1
1.0
"
,
"resolved"
:
"https://registry.npmjs.org/@material-ui/core/-/core-4.1
1.0
.tgz"
,
"integrity"
:
"sha512-
bYo9uIub8wGhZySHqLQ833zi4ZML+XCBE1XwJ8EuUVSpTWWG57Pm+YugQToJNFsEyiKFhPh8DPD0bgupz8n01g
=="
,
"requires"
:
{
"@babel/runtime"
:
"^7.4.4"
,
"@material-ui/styles"
:
"^4.10.0"
,
...
...
@@ -2000,6 +2000,18 @@
"react-transition-group"
:
"^4.4.0"
}
},
"@material-ui/lab"
:
{
"version"
:
"4.0.0-alpha.56"
,
"resolved"
:
"https://registry.npmjs.org/@material-ui/lab/-/lab-4.0.0-alpha.56.tgz"
,
"integrity"
:
"sha512-xPlkK+z/6y/24ka4gVJgwPfoCF4RCh8dXb1BNE7MtF9bXEBLN/lBxNTK8VAa0qm3V2oinA6xtUIdcRh0aeRtVw=="
,
"requires"
:
{
"@babel/runtime"
:
"^7.4.4"
,
"@material-ui/utils"
:
"^4.10.2"
,
"clsx"
:
"^1.0.4"
,
"prop-types"
:
"^15.7.2"
,
"react-is"
:
"^16.8.0"
}
},
"@material-ui/styles"
:
{
"version"
:
"4.10.0"
,
"resolved"
:
"https://registry.npmjs.org/@material-ui/styles/-/styles-4.10.0.tgz"
,
...
...
@@ -5322,12 +5334,19 @@
}
},
"dom-helpers"
:
{
"version"
:
"5.
1.4
"
,
"resolved"
:
"https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.
1.4
.tgz"
,
"integrity"
:
"sha512-
TjMyeVUvNEnOnhzs6uAn9Ya47GmMo3qq7m+Lr/3ON0Rs5kHvb8I+SQYjLUSYn7qhEm0QjW0yrBkvz9yOrwwz1A
=="
,
"version"
:
"5.
2.0
"
,
"resolved"
:
"https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.
2.0
.tgz"
,
"integrity"
:
"sha512-
Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ
=="
,
"requires"
:
{
"@babel/runtime"
:
"^7.8.7"
,
"csstype"
:
"^2.6.7"
"csstype"
:
"^3.0.2"
},
"dependencies"
:
{
"csstype"
:
{
"version"
:
"3.0.3"
,
"resolved"
:
"https://registry.npmjs.org/csstype/-/csstype-3.0.3.tgz"
,
"integrity"
:
"sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag=="
}
}
},
"dom-serializer"
:
{
...
...
@@ -7343,9 +7362,9 @@
"integrity"
:
"sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
},
"hyphenate-style-name"
:
{
"version"
:
"1.0.
3
"
,
"resolved"
:
"https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.
3
.tgz"
,
"integrity"
:
"sha512-
EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2D
Q=="
"version"
:
"1.0.
4
"
,
"resolved"
:
"https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.
4
.tgz"
,
"integrity"
:
"sha512-
ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2M
Q=="
},
"iconv-lite"
:
{
"version"
:
"0.4.24"
,
...
...
@@ -8537,81 +8556,88 @@
}
},
"jss"
:
{
"version"
:
"10.
3
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss/-/jss-10.
3
.0.tgz"
,
"integrity"
:
"sha512-
B5sTRW9B6uHaUVzSo9YiMEOEp3UX8lWevU0Fsv+xtRnsShmgCfIYX44bTH8bPJe6LQKqEXku3ulKuHLbxBS97Q
=="
,
"version"
:
"10.
4
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss/-/jss-10.
4
.0.tgz"
,
"integrity"
:
"sha512-
l7EwdwhsDishXzqTc3lbsbyZ83tlUl5L/Hb16pHCvZliA9lRDdNBZmHzeJHP0sxqD0t1mrMmMR8XroR12JBYzw
=="
,
"requires"
:
{
"@babel/runtime"
:
"^7.3.1"
,
"csstype"
:
"^
2.6.5
"
,
"csstype"
:
"^
3.0.2
"
,
"is-in-browser"
:
"^1.1.3"
,
"tiny-warning"
:
"^1.0.2"
},
"dependencies"
:
{
"csstype"
:
{
"version"
:
"3.0.3"
,
"resolved"
:
"https://registry.npmjs.org/csstype/-/csstype-3.0.3.tgz"
,
"integrity"
:
"sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag=="
}
}
},
"jss-plugin-camel-case"
:
{
"version"
:
"10.
3
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.
3
.0.tgz"
,
"integrity"
:
"sha512-
tadWRi/SLWqLK3EUZEdDNJL71F3ST93Zrl9JYMjV0QDqKPAl0Liue81q7m/nFUpnSTXczbKDy4wq8rI8o7WFqA
=="
,
"version"
:
"10.
4
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.
4
.0.tgz"
,
"integrity"
:
"sha512-
9oDjsQ/AgdBbMyRjc06Kl3P8lDCSEts2vYZiPZfGAxbGCegqE4RnMob3mDaBby5H9vL9gWmyyImhLRWqIkRUCw
=="
,
"requires"
:
{
"@babel/runtime"
:
"^7.3.1"
,
"hyphenate-style-name"
:
"^1.0.3"
,
"jss"
:
"
^10.3
.0"
"jss"
:
"
10.4
.0"
}
},
"jss-plugin-default-unit"
:
{
"version"
:
"10.
3
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.
3
.0.tgz"
,
"integrity"
:
"sha512-
tT5KkIXAsZOSS9WDSe8m8lEHIjoEOj4Pr0WrG0WZZsMXZ1mVLFCSsD2jdWarQWDaRNyMj/I4d7czRRObhOxSuw
=="
,
"version"
:
"10.
4
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.
4
.0.tgz"
,
"integrity"
:
"sha512-
BYJ+Y3RUYiMEgmlcYMLqwbA49DcSWsGgHpVmEEllTC8MK5iJ7++pT9TnKkKBnNZZxTV75ycyFCR5xeLSOzVm4A
=="
,
"requires"
:
{
"@babel/runtime"
:
"^7.3.1"
,
"jss"
:
"
^10.3
.0"
"jss"
:
"
10.4
.0"
}
},
"jss-plugin-global"
:
{
"version"
:
"10.
3
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.
3
.0.tgz"
,
"integrity"
:
"sha512-
etYTG/y3qIR/vxZnKY+J3wXwObyBDNhBiB3l/EW9/pE3WHE//BZdK8LFvQcrCO48sZW1Z6paHo6klxUPP7WbzA
=="
,
"version"
:
"10.
4
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.
4
.0.tgz"
,
"integrity"
:
"sha512-
b8IHMJUmv29cidt3nI4bUI1+Mo5RZE37kqthaFpmxf5K7r2aAegGliAw4hXvA70ca6ckAoXMUl4SN/zxiRcRag
=="
,
"requires"
:
{
"@babel/runtime"
:
"^7.3.1"
,
"jss"
:
"
^10.3
.0"
"jss"
:
"
10.4
.0"
}
},
"jss-plugin-nested"
:
{
"version"
:
"10.
3
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.
3
.0.tgz"
,
"integrity"
:
"sha512-
qWiEkoXNEkkZ+FZrWmUGpf+zBsnEOmKXhkjNX85/ZfWhH9dfGxUCKuJFuOWFM+rjQfxV4csfesq4hY0jk8Qt0
w=="
,
"version"
:
"10.
4
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.
4
.0.tgz"
,
"integrity"
:
"sha512-
cKgpeHIxAP0ygeWh+drpLbrxFiak6zzJ2toVRi/NmHbpkNaLjTLgePmOz5+67ln3qzJiPdXXJB1tbOyYKAP4P
w=="
,
"requires"
:
{
"@babel/runtime"
:
"^7.3.1"
,
"jss"
:
"
^10.3
.0"
,
"jss"
:
"
10.4
.0"
,
"tiny-warning"
:
"^1.0.2"
}
},
"jss-plugin-props-sort"
:
{
"version"
:
"10.
3
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.
3
.0.tgz"
,
"integrity"
:
"sha512-
boetORqL/lfd7BWeFD3K+IyPqyIC+l3CRrdZr+NPq7Noqp+xyg/0MR7QisgzpxCEulk+j2CRcEUoZsvgPC4nTg
=="
,
"version"
:
"10.
4
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.
4
.0.tgz"
,
"integrity"
:
"sha512-
j/t0R40/2fp+Nzt6GgHeUFnHVY2kPGF5drUVlgkcwYoHCgtBDOhTTsOfdaQFW6sHWfoQYgnGV4CXdjlPiRrzwA
=="
,
"requires"
:
{
"@babel/runtime"
:
"^7.3.1"
,
"jss"
:
"
^10.3
.0"
"jss"
:
"
10.4
.0"
}
},
"jss-plugin-rule-value-function"
:
{
"version"
:
"10.
3
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.
3
.0.tgz"
,
"integrity"
:
"sha512-
7WiMrKIHH3rwxTuJki9+7nY11r1UXqaUZRhHvqTD4/ZE+SVhvtD5Tx21ivNxotwUSleucA/8boX+NF21oXzr5
Q=="
,
"version"
:
"10.
4
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.
4
.0.tgz"
,
"integrity"
:
"sha512-
w8504Cdfu66+0SJoLkr6GUQlEb8keHg8ymtJXdVHWh0YvFxDG2l/nS93SI5Gfx0fV29dO6yUugXnKzDFJxrdF
Q=="
,
"requires"
:
{
"@babel/runtime"
:
"^7.3.1"
,
"jss"
:
"
^10.3
.0"
,
"jss"
:
"
10.4
.0"
,
"tiny-warning"
:
"^1.0.2"
}
},
"jss-plugin-vendor-prefixer"
:
{
"version"
:
"10.
3
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.
3
.0.tgz"
,
"integrity"
:
"sha512-
sZQbrcZyP5V0ADjCLwUA1spVWoaZvM7XZ+2fSeieZFBj31cRsnV7X70FFDerMHeiHAXKWzYek+67nMDjhrZAV
Q=="
,
"version"
:
"10.
4
.0"
,
"resolved"
:
"https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.
4
.0.tgz"
,
"integrity"
:
"sha512-
DpF+/a+GU8hMh/948sBGnKSNfKkoHg2p9aRFUmyoyxgKjOeH9n74Ht3Yt8lOgdZsuWNJbPrvaa3U4PXKwxVpT
Q=="
,
"requires"
:
{
"@babel/runtime"
:
"^7.3.1"
,
"css-vendor"
:
"^2.0.8"
,
"jss"
:
"
^10.3
.0"
"jss"
:
"
10.4
.0"
}
},
"jsx-ast-utils"
:
{
...
...
@@ -8928,6 +8954,11 @@
"resolved"
:
"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
,
"integrity"
:
"sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
"memoize-one"
:
{
"version"
:
"5.1.1"
,
"resolved"
:
"https://registry.npmjs.org/memoize-one/-/memoize-one-5.1.1.tgz"
,
"integrity"
:
"sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA=="
},
"memory-fs"
:
{
"version"
:
"0.4.1"
,
"resolved"
:
"https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz"
,
...
...
@@ -14326,6 +14357,15 @@
"whatwg-fetch"
:
"^3.0.0"
}
},
"react-calendar-heatmap"
:
{
"version"
:
"1.8.1"
,
"resolved"
:
"https://registry.npmjs.org/react-calendar-heatmap/-/react-calendar-heatmap-1.8.1.tgz"
,
"integrity"
:
"sha512-4Hbq/pDMJoCPzZnyIWFfHgokLlLXzKyGsDcMgNhYpi7zcKHcvsK9soLEPvhW2dBBqgDrQOSp/uG4wtifaDg4eQ=="
,
"requires"
:
{
"memoize-one"
:
"^5.0.0"
,
"prop-types"
:
"^15.6.2"
}
},
"react-dev-utils"
:
{
"version"
:
"10.2.1"
,
"resolved"
:
"https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-10.2.1.tgz"
,
...
...
jaksimsamil-page/package.json
View file @
f3b35d0
...
...
@@ -3,7 +3,8 @@
"version"
:
"0.1.0"
,
"private"
:
true
,
"dependencies"
:
{
"@material-ui/core"
:
"^4.10.2"
,
"@material-ui/core"
:
"^4.11.0"
,
"@material-ui/lab"
:
"^4.0.0-alpha.56"
,
"@testing-library/jest-dom"
:
"^4.2.4"
,
"@testing-library/react"
:
"^9.3.2"
,
"@testing-library/user-event"
:
"^7.1.2"
,
...
...
jaksimsamil-page/src/components/challenge/ChallengeForm.js
View file @
f3b35d0
import
React
from
'react'
;
import
{
makeStyles
}
from
'@material-ui/core/styles'
;
import
Accordion
from
'@material-ui/core/Accordion'
;
import
AccordionSummary
from
'@material-ui/core/AccordionSummary'
;
import
AccordionDetails
from
'@material-ui/core/AccordionDetails'
;
import
Paper
from
'@material-ui/core/Paper'
;
import
Grid
from
'@material-ui/core/Grid'
;
import
TextField
from
'@material-ui/core/TextField'
;
import
Autocomplete
from
'@material-ui/lab/Autocomplete'
;
import
palette
from
'../../lib/styles/palette'
;
import
Typography
from
'@material-ui/core/Typography'
;
const
useStyles
=
makeStyles
((
theme
)
=>
({
root
:
{
flexGrow
:
1
,
background
:
palette
.
gray
[
2
],
padding
:
theme
.
spacing
(
8
),
},
paper
:
{
padding
:
theme
.
spacing
(
8
),
margin
:
'auto'
,
textAlign
:
'center'
,
color
:
theme
.
palette
.
text
.
secondary
,
},
}));
const
ChallengeForm
=
()
=>
{
return
<
div
><
/div>
;
const
classes
=
useStyles
();
return
(
<
div
className
=
{
classes
.
root
}
>
<
Grid
container
spacing
=
{
5
}
>
<
Grid
item
xs
=
{
12
}
>
<
Accordion
>
<
AccordionSummary
>
<
Typography
>
챌린지
참여하기
<
/Typography
>
<
/AccordionSummary
>
<
AccordionDetails
>
<
Paper
className
=
{
classes
.
paper
}
>
챌린지
참여하기
<
Autocomplete
style
=
{{
width
:
300
}}
options
=
{[
'전체'
,
'준비'
,
'진행 중'
,
'마감'
]}
renderInput
=
{(
params
)
=>
(
<
TextField
{...
params
}
label
=
"검색 기준"
variant
=
"outlined"
inputProps
=
{{
...
params
.
inputProps
,
Autocomplete
:
'new-password'
,
}}
/
>
)}
/
>
<
/Paper
>
<
/AccordionDetails
>
<
/Accordion
>
<
/Grid
>
<
Grid
item
xs
=
{
12
}
>
<
Paper
className
=
{
classes
.
paper
}
>
참여중인
챌린지
<
Autocomplete
style
=
{{
width
:
300
}}
options
=
{[
'전체'
,
'준비'
,
'진행 중'
,
'마감'
]}
renderInput
=
{(
params
)
=>
(
<
TextField
{...
params
}
label
=
"검색 기준"
variant
=
"outlined"
inputProps
=
{{
...
params
.
inputProps
,
Autocomplete
:
'new-password'
,
}}
/
>
)}
/
>
<
Grid
container
spacing
=
{
5
}
>
<
Grid
item
xs
=
{
4
}
>
<
Paper
className
=
{
classes
.
paper
}
>
챌린지
이름
,
기간
,
참여
인원수
<
/Paper
>
<
/Grid
>
<
Grid
item
xs
=
{
4
}
>
<
Paper
className
=
{
classes
.
paper
}
>
뒤
배경
변경
필요
<
/Paper
>
<
/Grid
>
<
Grid
item
xs
=
{
4
}
>
<
Paper
className
=
{
classes
.
paper
}
>
test3
<
/Paper
>
<
/Grid
>
<
Grid
item
xs
=
{
4
}
>
<
Paper
className
=
{
classes
.
paper
}
>
test4
<
/Paper
>
<
/Grid
>
<
/Grid
>
<
/Paper
>
<
/Grid
>
<
/Grid
>
<
/div
>
);
};
/*
Todo
TODO:
챌린지 목록
챌린지 이름
챌린지 기간 (Start - End)
챌린지 세션 정보 (일 간격과 목표 문제)
...
...
jaksimsamil-page/src/components/home/HomeForm.js
View file @
f3b35d0
...
...
@@ -50,6 +50,7 @@ const HomeForm = ({ PSdata, HMArr, goalNum }) => {
<
/Grid
>
<
Grid
item
xs
=
{
12
}
>
<
Paper
className
=
{
classes
.
paper
}
>
<
h1
>
알고리즘
기록
<
/h1
>
<
HeatMap
HMArr
=
{
HMArr
}
/
>
<
/Paper
>
<
/Grid
>
...
...
jaksimsamil-page/src/containers/challenge/ChallengeContainer.js
View file @
f3b35d0
...
...
@@ -4,7 +4,7 @@ import { withRouter } from 'react-router-dom';
import
ChallengeForm
from
'../../components/challenge/ChallengeForm'
;
const
ChallengeContainer
=
()
=>
{
return
<
div
><
/div
>
;
return
<
ChallengeForm
/
>
;
};
export
default
ChallengeContainer
;
...
...
jaksimsamil-server/src/models/participation.js
View file @
f3b35d0
...
...
@@ -27,6 +27,7 @@ ParticipationSchema.statics.findByGroupId=function(group){
ParticipationSchema
.
methods
.
addProblem
=
function
(
problem
){
this
.
problems
.
push
({
problemNum
:
problem
.
problemNum
,
isSolved
:
problem
.
isSolved
});
return
this
.
save
();
}
ParticipationSchema
.
methods
.
serialize
=
function
(){
...
...
송용우
@2019102188
2020-09-26 12:41:26 UTC
Mentioned in commit
cd8fb071
Please
register
or
login
to post a comment