1. Main Page - asdfgl98/Project-CodeBuddy GitHub Wiki
- nunjucks ๋ฌธ๋ฒ์ ์ด์ฉํด Session ๊ฐ ์ ๋ฌด์ ๋ฐ๋ผ ์๋น์ค ์ด์ฉ ๊ฐ๋ฅ ๋ฐ Loginํญ ์ ๋ณด ๋ณ๊ฒฝ
- ๋น ๋ก๊ทธ์ธ ์ํ์์ Code Chat ํด๋ฆญ ์, Login ํ์ด์ง๋ก ์ด๋
- ๋น ๋ก๊ทธ์ธ ์ํ์์ Code Arena ํด๋ฆญ ์, Login ํ์ด์ง๋ก ์ด๋
- ๋น ๋ก๊ทธ์ธ ์ํ์์ Login ํด๋ฆญ ์, ๋ก๊ทธ์ธ ๋ฐ ํ์๊ฐ์ ํ์ด์ง๋ก ์ด๋
- ๋ก๊ทธ์ธ ์, DB์์ ์ฌ์ฉ์ ์ ๋ณด ๊ฒ์ ํ Session์ผ๋ก ์ ์ฅ ๋ฐ Login ํญ ์ฌ์ฉ์ ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝ
๋ก๊ทธ์ธ ์ ๋ฌด์ ๋ฐ๋ฅธ ๋ผ์ฐํฐ ์ฒ๋ฆฌ
routes -> page.js (line 37)
//Code Chat ์ฑํ
๋ฐฉ ๋ฆฌ์คํธ http://localhost:3000/page/CodeChat
router.get('/CodeChat',(req,res)=>{
let seName = req.session.userName
let seLevel = req.session.userlevel
let seLogin = req.session.login
// ๋น ๋ก๊ทธ์ธ ์ํ์์ ์ ์ ์์ฒญ์, ๋ก๊ทธ์ธ ํ์ด์ง๋ก ์ด๋
// ๋ก๊ทธ์ธ์ ์ ์์ ์ผ๋ก ์ด๋
if(seLogin){
res.render('codeChatList',{login : seLogin, name : seName, level : seLevel})
}
else{
res.render('join')
}
})
//Code Arena ์ฑํ
๋ฐฉ ๋ฆฌ์คํธ http://localhost:3000/page/CodeArena
router.get('/CodeArena',(req,res)=>{
let seName = req.session.userName
let seLevel = req.session.userlevel
let seLogin = req.session.login
// ๋น ๋ก๊ทธ์ธ ์ํ์์ ์ ์ ์์ฒญ์, ๋ก๊ทธ์ธ ํ์ด์ง๋ก ์ด๋
// ๋ก๊ทธ์ธ์ ์ ์์ ์ผ๋ก ์ด๋
if(seLogin){
res.render('codeArenaList',{login : seLogin, name : seName, level : seLevel})
}
else{
res.render('join')
}
})
Session ์ ๋ฌด์ ๋ฐ๋ฅธ ๋ณด์ฌ์ง๋ html ์์ ๋ณ๊ฒฝ
Main.html (line 147)
<!-- ์ธ์
๋ก๊ทธ์ธ ์คํฌ๋ฆฝํธ -์งํ- -->
<script>
// ๋ก๊ทธ์ธ ํ์ ์ ์ฌ์ฉ์ ์ด๋ฆ ํ์
let login = '{{login}}'
let logout = '{{logout}}'
if (login) {
document.querySelector('#login_btn').style.display = 'none'
document.querySelector('#userInfo_btn').style.display = 'inline'
}
if (logout) {
document.querySelector('#login_btn').style.display = 'inline'
document.querySelector('#userInfo_btn').style.display = 'none'
}