Toggle navigation
Toggle navigation
This project
Loading...
Sign in
박민정
/
We-Shop
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
박민정
2021-06-04 16:15:32 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
18573b70798fc62d9e02a6d42f1fdb95246af4b9
18573b70
1 parent
bd5c6109
[feat] Connect server and client
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
30 additions
and
7 deletions
boiler-plate/client/package-lock.json
boiler-plate/client/package.json
boiler-plate/client/src/components/views/LandingPage/LandingPage.js
boiler-plate/server/index.js
boiler-plate/server/models/User.js
boiler-plate/package-lock.json → boiler-plate/server/package-lock.json
boiler-plate/package.json → boiler-plate/server/package.json
boiler-plate/client/package-lock.json
View file @
18573b7
...
...
@@ -3066,6 +3066,14 @@
"resolved"
:
"https://registry.npmjs.org/axe-core/-/axe-core-4.2.1.tgz"
,
"integrity"
:
"sha512-evY7DN8qSIbsW2H/TWQ1bX3sXN1d4MNb5Vb4n7BzPuCwRHdkZ1H2eNLuSh73EoQqkGKUtju2G2HCcjCfhvZIAA=="
},
"axios"
:
{
"version"
:
"0.21.1"
,
"resolved"
:
"https://registry.npmjs.org/axios/-/axios-0.21.1.tgz"
,
"integrity"
:
"sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA=="
,
"requires"
:
{
"follow-redirects"
:
"^1.10.0"
}
},
"axobject-query"
:
{
"version"
:
"2.2.0"
,
"resolved"
:
"https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz"
,
...
...
boiler-plate/client/package.json
View file @
18573b7
...
...
@@ -6,6 +6,7 @@
"@testing-library/jest-dom"
:
"^5.12.0"
,
"@testing-library/react"
:
"^11.2.7"
,
"@testing-library/user-event"
:
"^12.8.3"
,
"axios"
:
"^0.21.1"
,
"react"
:
"^17.0.2"
,
"react-dom"
:
"^17.0.2"
,
"react-router-dom"
:
"^5.2.0"
,
...
...
boiler-plate/client/src/components/views/LandingPage/LandingPage.js
View file @
18573b7
import
React
from
'react'
import
React
,
{
useEffect
}
from
'react'
import
axios
from
'axios'
function
LandingPage
()
{
// 랜딩페이지에 들어오자마자
useEffect
(()
=>
{
axios
.
get
(
'http://localhost:5000/api/hello'
)
// get request를 서버로 보냄 (endpoint는 /api/hello)
.
then
(
response
=>
console
.
log
(
response
.
data
))
// 서버로부터 응답 받은 내용을 콘솔에 출력
},
[])
function
LandingPage
()
{
return
(
<
div
>
LandingPage
랜딩페이지
...
...
boiler-plate/server/index.js
View file @
18573b7
...
...
@@ -3,7 +3,8 @@ const app = express()
const
port
=
5000
// User.js에서 만든 model을 가져옴
const
{
User
}
=
require
(
'./server/models/User'
)
const
{
User
}
=
require
(
'./models/User'
)
//const { User } = require('./')
// body-parser 가져옴
const
bodyParser
=
require
(
'body-parser'
)
...
...
@@ -11,14 +12,14 @@ const bodyParser = require('body-parser')
app
.
use
(
bodyParser
.
urlencoded
({
extended
:
true
}))
//application/x-www-form-urlencoded로 된 데이터를 분석해서 가져옴
app
.
use
(
bodyParser
.
json
())
// application/json 타입으로 된 데이터를 분석해서 가져옴
const
config
=
require
(
'./
server/
config/key'
)
const
config
=
require
(
'./config/key'
)
const
cookieParser
=
require
(
'cookie-parser'
)
app
.
use
(
cookieParser
())
const
mongoose
=
require
(
'mongoose'
)
const
{
auth
}
=
require
(
'./
server/
middleware/auth'
)
const
{
auth
}
=
require
(
'./middleware/auth'
)
//이 정보는 비밀임..! 몽고DB아이디랑 비밀번호를 감춰야해..!
mongoose
.
connect
(
config
.
mongoURI
,
{
...
...
@@ -107,6 +108,12 @@ app.get('/api/users/logout', auth, (req, res) => {
})
})
// test
app
.
get
(
'/api/hello'
,
(
req
,
res
)
=>
{
res
.
send
(
"hello"
);
})
app
.
listen
(
port
,
()
=>
{
console
.
log
(
`Example app listening at http://localhost:
${
port
}
`
)
})
\ No newline at end of file
...
...
boiler-plate/server/models/User.js
View file @
18573b7
...
...
@@ -47,10 +47,10 @@ userSchema.pre('save', function( next ){
if
(
user
.
isModified
(
'password'
))
// password를 변경할 때만 적용되도록..
{
// 비밀번호 암호화 (https://www.npmjs.com/package/bcrypt 에서 가져옴)
bcrypt
.
genSalt
(
saltRounds
,
function
(
err
,
salt
)
// salt를 만드는 함수
bcrypt
.
genSalt
(
saltRounds
,
(
err
,
salt
)
=>
// salt를 만드는 함수
{
if
(
err
)
return
next
(
err
)
// 에러 나면 return err
bcrypt
.
hash
(
user
.
password
,
salt
,
function
(
err
,
hash
)
{
// bcrypt.hash(암호화되지 않은 pw, salt, function(err, 암호화된 비밀번호))
bcrypt
.
hash
(
user
.
password
,
salt
,
(
err
,
hash
)
=>
{
// bcrypt.hash(암호화되지 않은 pw, salt, function(err, 암호화된 비밀번호))
if
(
err
)
return
next
(
err
)
// 에러 나면 return err
user
.
password
=
hash
// 성공하면 user.password를 hash로 교체
next
()
...
...
boiler-plate/package-lock.json
→
boiler-plate/
server/
package-lock.json
View file @
18573b7
File moved
boiler-plate/package.json
→
boiler-plate/
server/
package.json
View file @
18573b7
File moved
Please
register
or
login
to post a comment