๋ด๊ฐ ์ํ๋ ์ฐจํธ ๋ชจ์์ ๋ง๋ค์ด๋ณด๊ณ , ํด๋น ์ฐจํธ์ ์ต์ ๋ค์ ๋ณต์ฌํ์ฌ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ.
echart๋ ์ํ๋๋๋ก ์ปค์คํ ํ๊ธฐ์ ์ข์ง๋ง, ์์ ๋๊ฐ ๋๋ค๋ณด๋ ์ฌ์ฉํ๊ธฐ์ ์ข ์ด๋ ค์ธ ์ ์๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๊ฐ ์ค์ ๋ก UI๋ฅผ ํด๋ฆญํด์ ๋ง๋ค์ด๋ณด๊ณ ์ํ๋ ๋ชจ์์ด ๋์์ ๊ฒฝ์ฐ์ ๊ทธ ์ต์ ์ ๊ฐ์ ธ๋ค๊ฐ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ค๋ฉด, ํธ๋ฆฌํ๊ฒ echart๋ฅผ ์์ฉํ ์ ์๊ฒ ๋๋ค.
- ์ํฌ ์คํ์ด์ค๋ฅผ ์์ฑํ๋ค.
- ์ฐจํธ๋ฅผ ์์ฑํ๋ค.
- ์ฐจํธ ์์ฑ ์ ๋ชจ๋ฌ ์ฐฝ ๋ด์์ ์ฌ๋ฌ๊ฐ์ง ์ค์ ์ด ๊ฐ๋ฅํ๋ค.
- ์ฐจํธ ํ์
- ์ฐจํธ ๋ช
- ๋ฐ์ดํฐ ์ ํ (Excel๋ก ์ง์ ์ ๋ ฅ, ์์ ๋ฐ์ดํฐ ์ ํ ๊ฐ๋ฅ)
- ๊ฐ์ข ์ต์ (์ถํ ์ ๋ฆฌ)
๊ฐ์ธ์ด ์ฌ๋ฌ ์ฐจํธ๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํ ์ ์๋ ์์ ๊ณต๊ฐ
const workspaceSchema = mongoose.Schema({
name: {
type: String,
maxlength: 30,
},
...
})
๊ฐ์ธ์ด UI ์ค์ ๊ฐ๋ค์ ์ฌ์ฉํ์ฌ ๋ณด์ฌ์ง๋ ์ฐจํธ
const chartSchema = mongoose.Schema({
name: {
type: String,
maxlength: 20,
},
description: {
type: String,
maxlength: 30,
},
...
});
๋ณธ์ธ์ ์ํฌ์คํ์ด์ค๋ฅผ ๋ง๋ค๊ณ ์ฐจํธ๋ฅผ ํ ์คํธํด๋ณผ ์ ์๋ ๊ถํ์ ๊ฐ์ง ๊ฐ์ธ
const userSchema = mongoose.Schema({
name: {
type: String,
maxlength: 30,
},
email: {
type: String,
trim: true,
unique: 1,
},
password: {
type: String,
maxlength: 10,
},
role: {
type: Number,
default: 0,
},
token: {
type: String,
},
...
});
- ์ฐจํธ ๊ด๋ฆฌ ํ์ด์ง
- ์ฐจํธ ์์ฑ ํ์ด์ง
- echart ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฒํ
- ...
- ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋ฐ ์คํค๋ง ์ ์
- ์์ ๋ฐ์ดํฐ ๊ตฌ์ถ (์ํฌ์คํ์ด์ค, ์ฐจํธ)
- ์นด์นด์คํก ๋ก๊ทธ์ธ
- ...