- jquery์ javascript async/await๋ฅผ ํ์ฉํ Client Side Rendering ๊ตฌํ
- ์ ์ฒด Calendar๋ฅผ ๋ง๋ ํ ์ผ์ ๋ฑ๋กํ๊ธฐ
- ํ๋ฃจ ์ผ์ - ํ๋ฃจ์ข ์ผ ์ ํ ๊ฐ๋ฅ
- ์ฐ์ ์ผ์
- ๋ฐ๋ณต ์ผ์
- ์ผ์ ์์ธ๋ณด๊ธฐ ๊ตฌํ
- ์ / ์ผ ๊ธฐ์ค ๋ฌ๋ ฅ๊ณผ ์ผ์ ๊ณผ ๋ฌ๋ ฅ ๊ตฌํ
-
Node.js + express.js + sequelize.js + mysql + javascript +jquery
-
Node.js์ ORM๋ชจ๋์ธ sequelize.js๋ฅผ ์ฌ์ฉ
- ์ฝ๋ฉ์ ๋ฐ๋ณต์ ์ธ ๋ถ๋ถ์ ์ค์ผ ์ ์๊ณ SQL์ ์์กด์ ์ธ ์ฝ๋ฉ์์ ๋ฒ์ด๋ ์์ฐ์ ์ธ ์ฝ๋ฉ์ด ๊ฐ๋ฅํ๋ฉฐ ์ ์ง๋ณด์๊ฐ ํธ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํจ
- ์ผ์ ์ ๋ฑ๋กํ๊ธฐ ์ํ calendars table ์์ฑ
- ์ ๋ชฉ/๋ด์ฉ, ์์/์ข ๋ฃ ๋ ์ง, ์์/์ข ๋ฃ ์๊ฐ, ๋ฐ๋ณต ์ ๋ฌด, ํ๋ฃจ์ข ์ผ ์ ๋ฌด, ์์ฑ/์์ ์๊ฐ
- sequelize๋ฅผ ํ์ฉํ์ฌ table ์์ฑ
public/javascripts/calendar.js file์ calendar ๊ธฐ๋ฅ์ ์ํ ๊ฑฐ์ ๋ชจ๋ code๊ฐ ์์ฑ๋์ด์์ต๋๋ค.
-
- ์ ์ฒด Calendar๋ฅผ ๋ง๋ค๊ธฐ ์ํ์ฌ generateCalendar ํจ์๋ฅผ ์์ฑํ์๊ณ , ๋น๋๊ธฐ๋ฅผ ๋๊ธฐ ์ฒ๋ฆฌ ํ๊ธฐ ์ํ์ฌ async/await๋ฅผ ์ฌ์ฉํ์๋ค.
// public/javascripts/calendar.js async function generateCalendar(date)
* `<`๋ฅผ ํด๋ฆญํ๋ฉด ์ด์ ๋ฌ๋ก ์ด๋ํ๋ฉฐ, `>`๋ฅผ ํด๋ฆญํ๋ฉด ๋ค์ ๋ฌ๋ก ์ด๋ํ๋ค.
```javascript
// '<' ํด๋ฆญ์, ์ด์ calendar๋ก ์ด๋
$('#previous').click(function() {
...
});
// '>' ํด๋ฆญ์, ๋ค์ calendar๋ก ์ด๋
$('#next').click(function() {
...
});
-
- ์ผ์ ๋ฑ๋ก์ ์ํ Modal ์์ฑ
- ๋ฑ๋กํ๊ณ ์ถ์ ๋ ์ง๋ฅผ ๋๋ฅด๋ฉด Modal Open
$('.week, .daily-calendar').click(function(e) { ... $('#start-date-picker').val(todayId) $('#registerSchedule').modal('show') });
-
- popover๋ฅผ ์ฌ์ฉํ์ฌ ์ผ์ ์ ํด๋ฆญํ๋ฉด ์ผ์ ์ ์์ธ๋ณด๊ธฐ ํ ์ ์์










