Spaces:
Running
Running
Update index.html
Browse files- index.html +260 -139
index.html
CHANGED
@@ -532,39 +532,6 @@
|
|
532 |
border-bottom: none;
|
533 |
}
|
534 |
|
535 |
-
.timeline-section {
|
536 |
-
background: rgba(255, 255, 255, 0.05);
|
537 |
-
border-radius: 10px;
|
538 |
-
padding: 1.5rem;
|
539 |
-
margin-top: 1.5rem;
|
540 |
-
}
|
541 |
-
|
542 |
-
.timeline-section h4 {
|
543 |
-
margin-bottom: 1rem;
|
544 |
-
font-size: 1.2rem;
|
545 |
-
}
|
546 |
-
|
547 |
-
.timeline-bar {
|
548 |
-
position: relative;
|
549 |
-
height: 40px;
|
550 |
-
background: rgba(255, 255, 255, 0.1);
|
551 |
-
border-radius: 20px;
|
552 |
-
overflow: hidden;
|
553 |
-
margin-bottom: 1rem;
|
554 |
-
}
|
555 |
-
|
556 |
-
.timeline-progress {
|
557 |
-
height: 100%;
|
558 |
-
background: linear-gradient(90deg, #00d2ff, #3a7bd5);
|
559 |
-
border-radius: 20px;
|
560 |
-
display: flex;
|
561 |
-
align-items: center;
|
562 |
-
justify-content: center;
|
563 |
-
color: white;
|
564 |
-
font-weight: 600;
|
565 |
-
transition: width 0.5s ease;
|
566 |
-
}
|
567 |
-
|
568 |
.monthly-breakdown {
|
569 |
display: grid;
|
570 |
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
|
@@ -849,62 +816,229 @@
|
|
849 |
<span>ํ๊น ์๋น์ค ์ ํ (ํ์, ๋ณต์ ์ ํ ๊ฐ๋ฅ)</span>
|
850 |
</div>
|
851 |
<div class="component-options">
|
852 |
-
|
853 |
-
|
|
|
854 |
<div class="option-details">
|
855 |
-
<span
|
856 |
<span>2๊ฐ์</span>
|
857 |
</div>
|
858 |
</div>
|
859 |
-
<div class="option-card" data-category="service" data-id="image-edit" data-cost="
|
860 |
-
<div class="option-name"
|
861 |
<div class="option-details">
|
862 |
-
<span
|
863 |
<span>2.5๊ฐ์</span>
|
864 |
</div>
|
865 |
</div>
|
866 |
-
<div class="option-card" data-category="service" data-id="
|
867 |
-
<div class="option-name"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
868 |
<div class="option-details">
|
869 |
-
<span
|
870 |
<span>3๊ฐ์</span>
|
871 |
</div>
|
872 |
</div>
|
873 |
-
<div class="option-card" data-category="service" data-id="
|
874 |
-
<div class="option-name"
|
875 |
<div class="option-details">
|
876 |
-
<span
|
877 |
<span>2.5๊ฐ์</span>
|
878 |
</div>
|
879 |
</div>
|
880 |
-
<div class="option-card" data-category="service" data-id="
|
881 |
-
<div class="option-name"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
882 |
<div class="option-details">
|
883 |
-
<span
|
884 |
<span>1.5๊ฐ์</span>
|
885 |
</div>
|
886 |
</div>
|
887 |
-
<div class="option-card" data-category="service" data-id="
|
888 |
-
<div class="option-name"
|
889 |
<div class="option-details">
|
890 |
-
<span
|
891 |
<span>2๊ฐ์</span>
|
892 |
</div>
|
893 |
</div>
|
894 |
-
|
895 |
-
|
|
|
|
|
896 |
<div class="option-details">
|
897 |
-
<span
|
898 |
<span>2.5๊ฐ์</span>
|
899 |
</div>
|
900 |
</div>
|
901 |
-
<div class="option-card" data-category="service" data-id="
|
902 |
-
<div class="option-name"
|
903 |
<div class="option-details">
|
904 |
-
<span
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
905 |
<span>2๊ฐ์</span>
|
906 |
</div>
|
907 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
908 |
</div>
|
909 |
</div>
|
910 |
|
@@ -915,24 +1049,24 @@
|
|
915 |
<span>DB ๊ด๋ฆฌ</span>
|
916 |
</div>
|
917 |
<div class="component-options">
|
918 |
-
<div class="option-card" data-category="db" data-id="basic-db" data-cost="
|
919 |
<div class="option-name">๊ธฐ๋ณธ DB</div>
|
920 |
<div class="option-details">
|
921 |
-
<span
|
922 |
<span>0.5๊ฐ์</span>
|
923 |
</div>
|
924 |
</div>
|
925 |
-
<div class="option-card" data-category="db" data-id="advanced-db" data-cost="
|
926 |
<div class="option-name">๊ณ ๊ธ DB + ๋ฐฑ์
</div>
|
927 |
<div class="option-details">
|
928 |
-
<span
|
929 |
<span>1๊ฐ์</span>
|
930 |
</div>
|
931 |
</div>
|
932 |
-
<div class="option-card" data-category="db" data-id="enterprise-db" data-cost="
|
933 |
<div class="option-name">์ํฐํ๋ผ์ด์ฆ DB</div>
|
934 |
<div class="option-details">
|
935 |
-
<span
|
936 |
<span>1.5๊ฐ์</span>
|
937 |
</div>
|
938 |
</div>
|
@@ -946,24 +1080,24 @@
|
|
946 |
<span>ํ์๊ฐ์
๋ฐ ๋ก๊ทธ์ธ</span>
|
947 |
</div>
|
948 |
<div class="component-options">
|
949 |
-
<div class="option-card" data-category="auth" data-id="gmail-only" data-cost="
|
950 |
<div class="option-name">Gmail ์ฐ๋</div>
|
951 |
<div class="option-details">
|
952 |
-
<span
|
953 |
<span>0.3๊ฐ์</span>
|
954 |
</div>
|
955 |
</div>
|
956 |
-
<div class="option-card" data-category="auth" data-id="multi-auth" data-cost="
|
957 |
<div class="option-name">๋ค์ค ์์
๋ก๊ทธ์ธ</div>
|
958 |
<div class="option-details">
|
959 |
-
<span
|
960 |
<span>0.5๊ฐ์</span>
|
961 |
</div>
|
962 |
</div>
|
963 |
-
<div class="option-card" data-category="auth" data-id="custom-auth" data-cost="
|
964 |
<div class="option-name">์ปค์คํ
์ธ์ฆ ์์คํ
</div>
|
965 |
<div class="option-details">
|
966 |
-
<span
|
967 |
<span>1๊ฐ์</span>
|
968 |
</div>
|
969 |
</div>
|
@@ -977,17 +1111,17 @@
|
|
977 |
<span>ํฌ๋ ๋ง ๊ด๋ฆฌ</span>
|
978 |
</div>
|
979 |
<div class="component-options">
|
980 |
-
<div class="option-card" data-category="credit" data-id="basic-credit" data-cost="
|
981 |
<div class="option-name">๊ธฐ๋ณธ ํฌ๋ ๋ง ์์คํ
</div>
|
982 |
<div class="option-details">
|
983 |
-
<span
|
984 |
<span>0.5๊ฐ์</span>
|
985 |
</div>
|
986 |
</div>
|
987 |
-
<div class="option-card" data-category="credit" data-id="advanced-credit" data-cost="
|
988 |
<div class="option-name">๊ณ ๊ธ ํฌ๋ ๋ง + ๊ตฌ๋
</div>
|
989 |
<div class="option-details">
|
990 |
-
<span
|
991 |
<span>1๊ฐ์</span>
|
992 |
</div>
|
993 |
</div>
|
@@ -1001,24 +1135,24 @@
|
|
1001 |
<span>ํ์ด๋จผํธ ์ง์</span>
|
1002 |
</div>
|
1003 |
<div class="component-options">
|
1004 |
-
<div class="option-card" data-category="payment" data-id="basic-payment" data-cost="
|
1005 |
<div class="option-name">๊ธฐ๋ณธ ๊ฒฐ์ (์นด๋)</div>
|
1006 |
<div class="option-details">
|
1007 |
-
<span
|
1008 |
<span>0.5๊ฐ์</span>
|
1009 |
</div>
|
1010 |
</div>
|
1011 |
-
<div class="option-card" data-category="payment" data-id="multi-payment" data-cost="
|
1012 |
<div class="option-name">๋ค์ค ๊ฒฐ์ ์๋จ</div>
|
1013 |
<div class="option-details">
|
1014 |
-
<span
|
1015 |
<span>1๊ฐ์</span>
|
1016 |
</div>
|
1017 |
</div>
|
1018 |
-
<div class="option-card" data-category="payment" data-id="global-payment" data-cost="
|
1019 |
<div class="option-name">๊ธ๋ก๋ฒ ๊ฒฐ์ ์์คํ
</div>
|
1020 |
<div class="option-details">
|
1021 |
-
<span
|
1022 |
<span>1.5๊ฐ์</span>
|
1023 |
</div>
|
1024 |
</div>
|
@@ -1032,17 +1166,17 @@
|
|
1032 |
<span>๋ง์ผํ
์ง์</span>
|
1033 |
</div>
|
1034 |
<div class="component-options">
|
1035 |
-
<div class="option-card" data-category="marketing" data-id="basic-marketing" data-cost="
|
1036 |
<div class="option-name">๊ธฐ๋ณธ ๋ง์ผํ
๋๊ตฌ</div>
|
1037 |
<div class="option-details">
|
1038 |
-
<span
|
1039 |
<span>1๊ฐ์</span>
|
1040 |
</div>
|
1041 |
</div>
|
1042 |
-
<div class="option-card" data-category="marketing" data-id="advanced-marketing" data-cost="
|
1043 |
<div class="option-name">๊ณ ๊ธ ๋ง์ผํ
์๋ํ</div>
|
1044 |
<div class="option-details">
|
1045 |
-
<span
|
1046 |
<span>1.5๊ฐ์</span>
|
1047 |
</div>
|
1048 |
</div>
|
@@ -1056,17 +1190,17 @@
|
|
1056 |
<span>๊ฐ๋ฐ ๋ฐ ๊ธฐ์ ์ธ๋ ฅ ์ง์</span>
|
1057 |
</div>
|
1058 |
<div class="component-options">
|
1059 |
-
<div class="option-card" data-category="support" data-id="basic-support" data-cost="
|
1060 |
<div class="option-name">๊ธฐ๋ณธ ๊ธฐ์ ์ง์</div>
|
1061 |
<div class="option-details">
|
1062 |
-
<span>์
|
1063 |
<span>์ฆ์</span>
|
1064 |
</div>
|
1065 |
</div>
|
1066 |
-
<div class="option-card" data-category="support" data-id="dedicated-support" data-cost="
|
1067 |
<div class="option-name">์ ๋ด ๊ฐ๋ฐ์ ์ง์</div>
|
1068 |
<div class="option-details">
|
1069 |
-
<span>์
|
1070 |
<span>์ฆ์</span>
|
1071 |
</div>
|
1072 |
</div>
|
@@ -1080,17 +1214,17 @@
|
|
1080 |
<span>์๊ฒฉ ๋ชจ๋ํฐ๋ง ์ง์</span>
|
1081 |
</div>
|
1082 |
<div class="component-options">
|
1083 |
-
<div class="option-card" data-category="monitoring" data-id="basic-monitor" data-cost="
|
1084 |
<div class="option-name">๊ธฐ๋ณธ ๋ชจ๋ํฐ๋ง</div>
|
1085 |
<div class="option-details">
|
1086 |
-
<span
|
1087 |
<span>0.3๊ฐ์</span>
|
1088 |
</div>
|
1089 |
</div>
|
1090 |
-
<div class="option-card" data-category="monitoring" data-id="advanced-monitor" data-cost="
|
1091 |
<div class="option-name">๊ณ ๊ธ ๋ถ์ + ์๋ฆผ</div>
|
1092 |
<div class="option-details">
|
1093 |
-
<span
|
1094 |
<span>0.5๊ฐ์</span>
|
1095 |
</div>
|
1096 |
</div>
|
@@ -1104,31 +1238,31 @@
|
|
1104 |
<span>์ถ๊ฐ ๊ธฐ๋ฅ (๋ณต์ ์ ํ ๊ฐ๋ฅ)</span>
|
1105 |
</div>
|
1106 |
<div class="component-options">
|
1107 |
-
<div class="option-card" data-category="additional" data-id="admin-panel" data-cost="
|
1108 |
<div class="option-name">๊ด๋ฆฌ์ ๋์๋ณด๋</div>
|
1109 |
<div class="option-details">
|
1110 |
-
<span
|
1111 |
<span>0.5๊ฐ์</span>
|
1112 |
</div>
|
1113 |
</div>
|
1114 |
-
<div class="option-card" data-category="additional" data-id="api-system" data-cost="
|
1115 |
<div class="option-name">API ์์คํ
</div>
|
1116 |
<div class="option-details">
|
1117 |
-
<span
|
1118 |
<span>1๊ฐ์</span>
|
1119 |
</div>
|
1120 |
</div>
|
1121 |
-
<div class="option-card" data-category="additional" data-id="analytics" data-cost="
|
1122 |
<div class="option-name">๋ถ์ ๋๊ตฌ</div>
|
1123 |
<div class="option-details">
|
1124 |
-
<span
|
1125 |
<span>0.5๊ฐ์</span>
|
1126 |
</div>
|
1127 |
</div>
|
1128 |
-
<div class="option-card" data-category="additional" data-id="multi-language" data-cost="
|
1129 |
<div class="option-name">๋ค๊ตญ์ด ์ง์</div>
|
1130 |
<div class="option-details">
|
1131 |
-
<span
|
1132 |
<span>0.5๊ฐ์</span>
|
1133 |
</div>
|
1134 |
</div>
|
@@ -1142,17 +1276,11 @@
|
|
1142 |
<h3>๋ง์ถค AI SaaS ๊ฒฌ์ ์</h3>
|
1143 |
<p>์ ํํ์ ๊ตฌ์ฑ์ผ๋ก ์ฐ์ถ๋ ์์ธ ๊ฒฌ์ ์
๋๋ค</p>
|
1144 |
</div>
|
1145 |
-
|
1146 |
-
<div class="period-tabs">
|
1147 |
-
<div class="period-tab active" onclick="switchPeriod(3)">3๊ฐ์</div>
|
1148 |
-
<div class="period-tab" onclick="switchPeriod(6)">6๊ฐ์</div>
|
1149 |
-
<div class="period-tab" onclick="switchPeriod(12)">12๊ฐ์</div>
|
1150 |
-
</div>
|
1151 |
|
1152 |
<div class="custom-summary">
|
1153 |
<div class="summary-item">
|
1154 |
<div class="summary-label">์ด๊ธฐ ๊ฐ๋ฐ ๋น์ฉ</div>
|
1155 |
-
<div class="summary-value" id="initialCost"
|
1156 |
</div>
|
1157 |
<div class="summary-item">
|
1158 |
<div class="summary-label">์์ ๊ฐ๋ฐ ๊ธฐ๊ฐ</div>
|
@@ -1160,7 +1288,7 @@
|
|
1160 |
</div>
|
1161 |
<div class="summary-item">
|
1162 |
<div class="summary-label">์ด ๋น์ฉ (<span id="periodText">3</span>๊ฐ์)</div>
|
1163 |
-
<div class="summary-value" id="totalCost"
|
1164 |
</div>
|
1165 |
</div>
|
1166 |
|
@@ -1169,34 +1297,24 @@
|
|
1169 |
<div class="component-list" id="componentList"></div>
|
1170 |
</div>
|
1171 |
|
1172 |
-
|
1173 |
-
<h4>๊ฐ๋ฐ ์ผ์ ๋ฐ ์งํ๋ฅ </h4>
|
1174 |
-
<div class="timeline-bar">
|
1175 |
-
<div class="timeline-progress" id="timelineProgress" style="width: 0%">
|
1176 |
-
<span id="progressText">0%</span>
|
1177 |
-
</div>
|
1178 |
-
</div>
|
1179 |
-
<p style="text-align: center; color: #a8a8b3; margin-top: 0.5rem;">
|
1180 |
-
์์ ๊ฐ๋ฐ ๊ธฐ๊ฐ: <span id="timelineText">0๊ฐ์</span>
|
1181 |
-
</p>
|
1182 |
-
</div>
|
1183 |
|
1184 |
<div class="monthly-breakdown">
|
1185 |
<div class="monthly-item">
|
1186 |
<div class="monthly-label">์ ์๋ฒ ๋น์ฉ</div>
|
1187 |
-
<div class="monthly-value" id="serverCost"
|
1188 |
</div>
|
1189 |
<div class="monthly-item">
|
1190 |
<div class="monthly-label">์ API ๋น์ฉ</div>
|
1191 |
-
<div class="monthly-value" id="apiCost"
|
1192 |
</div>
|
1193 |
<div class="monthly-item">
|
1194 |
<div class="monthly-label">์ ์ ์ง๋ณด์</div>
|
1195 |
-
<div class="monthly-value" id="maintenanceCost"
|
1196 |
</div>
|
1197 |
<div class="monthly-item">
|
1198 |
<div class="monthly-label">์ ์ด ์ด์๋น</div>
|
1199 |
-
<div class="monthly-value" id="totalMonthlyCost"
|
1200 |
</div>
|
1201 |
</div>
|
1202 |
</div>
|
@@ -1343,7 +1461,7 @@
|
|
1343 |
componentListHTML += `
|
1344 |
<div class="component-list-item">
|
1345 |
<span><strong>${categoryNames[category]}</strong>: ${value.name}</span>
|
1346 |
-
<span>${category === 'support' ? '์ ' : ''}
|
1347 |
</div>
|
1348 |
`;
|
1349 |
} else {
|
@@ -1355,7 +1473,7 @@
|
|
1355 |
componentListHTML += `
|
1356 |
<div class="component-list-item">
|
1357 |
<span><strong>${categoryNames[category]}</strong>: ${item.name}</span>
|
1358 |
-
<span
|
1359 |
</div>
|
1360 |
`;
|
1361 |
});
|
@@ -1368,30 +1486,33 @@
|
|
1368 |
const maintenanceCost = Math.round(initialCost * 0.01); // ์ด๊ธฐ ๋น์ฉ์ 1%
|
1369 |
const totalMonthly = serverCost + apiCost + maintenanceCost + monthlySupport;
|
1370 |
|
1371 |
-
// ์ด ๋น์ฉ ๊ณ์ฐ (๊ธฐ๊ฐ๋ณ)
|
1372 |
-
const totalCost = initialCost + (totalMonthly * currentPeriod);
|
1373 |
-
|
1374 |
// ๊ฐ๋ฐ ๊ธฐ๊ฐ ์กฐ์ (์ต์ 3๊ฐ์)
|
1375 |
const adjustedTime = Math.max(3, Math.ceil(maxTime));
|
1376 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1377 |
// ๊ฒฐ๊ณผ ํ์
|
1378 |
-
document.getElementById('initialCost').textContent =
|
1379 |
document.getElementById('devTime').textContent = `${adjustedTime}๊ฐ์`;
|
1380 |
-
document.getElementById('totalCost').textContent =
|
1381 |
document.getElementById('periodText').textContent = currentPeriod;
|
1382 |
document.getElementById('componentList').innerHTML = componentListHTML;
|
1383 |
|
1384 |
-
// ํ์๋ผ์ธ ์
๋ฐ์ดํธ
|
1385 |
-
const progressPercent = Math.min(100, (adjustedTime / 12) * 100);
|
1386 |
-
document.getElementById('timelineProgress').style.width = `${progressPercent}%`;
|
1387 |
-
document.getElementById('progressText').textContent = `${Math.round(progressPercent)}%`;
|
1388 |
-
document.getElementById('timelineText').textContent = `${adjustedTime}๊ฐ์`;
|
1389 |
-
|
1390 |
// ์๋ณ ๋น์ฉ ํ์
|
1391 |
-
document.getElementById('serverCost').textContent =
|
1392 |
-
document.getElementById('apiCost').textContent =
|
1393 |
-
document.getElementById('maintenanceCost').textContent =
|
1394 |
-
document.getElementById('totalMonthlyCost').textContent =
|
1395 |
}
|
1396 |
|
1397 |
// ๊ธฐ์กด ๋น์ฉ ๊ณ์ฐ ํจ์
|
|
|
532 |
border-bottom: none;
|
533 |
}
|
534 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
535 |
.monthly-breakdown {
|
536 |
display: grid;
|
537 |
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
|
|
|
816 |
<span>ํ๊น ์๋น์ค ์ ํ (ํ์, ๋ณต์ ์ ํ ๊ฐ๋ฅ)</span>
|
817 |
</div>
|
818 |
<div class="component-options">
|
819 |
+
<!-- AI ์ด๋ฏธ์ง ๊ด๋ จ -->
|
820 |
+
<div class="option-card" data-category="service" data-id="image-gen" data-cost="15" data-time="2">
|
821 |
+
<div class="option-name">AI ์ด๋ฏธ์ง ์์ฑ</div>
|
822 |
<div class="option-details">
|
823 |
+
<span>$15K</span>
|
824 |
<span>2๊ฐ์</span>
|
825 |
</div>
|
826 |
</div>
|
827 |
+
<div class="option-card" data-category="service" data-id="image-edit" data-cost="18" data-time="2.5">
|
828 |
+
<div class="option-name">AI ์ด๋ฏธ์ง ํธ์ง/ํฅ์</div>
|
829 |
<div class="option-details">
|
830 |
+
<span>$18K</span>
|
831 |
<span>2.5๊ฐ์</span>
|
832 |
</div>
|
833 |
</div>
|
834 |
+
<div class="option-card" data-category="service" data-id="bg-removal" data-cost="10" data-time="1.5">
|
835 |
+
<div class="option-name">๋ฐฐ๊ฒฝ ์ ๊ฑฐ/๊ต์ฒด</div>
|
836 |
+
<div class="option-details">
|
837 |
+
<span>$10K</span>
|
838 |
+
<span>1.5๊ฐ์</span>
|
839 |
+
</div>
|
840 |
+
</div>
|
841 |
+
<div class="option-card" data-category="service" data-id="image-upscale" data-cost="12" data-time="1.5">
|
842 |
+
<div class="option-name">์ด๋ฏธ์ง ์
์ค์ผ์ผ๋ง</div>
|
843 |
+
<div class="option-details">
|
844 |
+
<span>$12K</span>
|
845 |
+
<span>1.5๊ฐ์</span>
|
846 |
+
</div>
|
847 |
+
</div>
|
848 |
+
|
849 |
+
<!-- AI ๋น๋์ค ๊ด๋ จ -->
|
850 |
+
<div class="option-card" data-category="service" data-id="video-gen" data-cost="25" data-time="3">
|
851 |
+
<div class="option-name">AI ๋น๋์ค ์์ฑ</div>
|
852 |
<div class="option-details">
|
853 |
+
<span>$25K</span>
|
854 |
<span>3๊ฐ์</span>
|
855 |
</div>
|
856 |
</div>
|
857 |
+
<div class="option-card" data-category="service" data-id="video-edit" data-cost="22" data-time="2.5">
|
858 |
+
<div class="option-name">AI ๋น๋์ค ํธ์ง</div>
|
859 |
<div class="option-details">
|
860 |
+
<span>$22K</span>
|
861 |
<span>2.5๊ฐ์</span>
|
862 |
</div>
|
863 |
</div>
|
864 |
+
<div class="option-card" data-category="service" data-id="avatar-video" data-cost="20" data-time="2.5">
|
865 |
+
<div class="option-name">AI ์๋ฐํ ๋น๋์ค</div>
|
866 |
+
<div class="option-details">
|
867 |
+
<span>$20K</span>
|
868 |
+
<span>2.5๊ฐ์</span>
|
869 |
+
</div>
|
870 |
+
</div>
|
871 |
+
<div class="option-card" data-category="service" data-id="video-caption" data-cost="12" data-time="1.5">
|
872 |
+
<div class="option-name">์๋ ์๋ง ์์ฑ</div>
|
873 |
+
<div class="option-details">
|
874 |
+
<span>$12K</span>
|
875 |
+
<span>1.5๊ฐ์</span>
|
876 |
+
</div>
|
877 |
+
</div>
|
878 |
+
|
879 |
+
<!-- AI ์ค๋์ค ๊ด๋ จ -->
|
880 |
+
<div class="option-card" data-category="service" data-id="music-gen" data-cost="20" data-time="2.5">
|
881 |
+
<div class="option-name">AI ์์
์์ฑ</div>
|
882 |
+
<div class="option-details">
|
883 |
+
<span>$20K</span>
|
884 |
+
<span>2.5๊ฐ์</span>
|
885 |
+
</div>
|
886 |
+
</div>
|
887 |
+
<div class="option-card" data-category="service" data-id="voice-clone" data-cost="22" data-time="2.5">
|
888 |
+
<div class="option-name">์์ฑ ๋ณต์ /ํฉ์ฑ</div>
|
889 |
+
<div class="option-details">
|
890 |
+
<span>$22K</span>
|
891 |
+
<span>2.5๊ฐ์</span>
|
892 |
+
</div>
|
893 |
+
</div>
|
894 |
+
<div class="option-card" data-category="service" data-id="tts" data-cost="10" data-time="1.5">
|
895 |
+
<div class="option-name">ํ
์คํธ ์์ฑ ๋ณํ</div>
|
896 |
+
<div class="option-details">
|
897 |
+
<span>$10K</span>
|
898 |
+
<span>1.5๊ฐ์</span>
|
899 |
+
</div>
|
900 |
+
</div>
|
901 |
+
<div class="option-card" data-category="service" data-id="podcast-gen" data-cost="18" data-time="2">
|
902 |
+
<div class="option-name">AI ํ์บ์คํธ ์ ์</div>
|
903 |
+
<div class="option-details">
|
904 |
+
<span>$18K</span>
|
905 |
+
<span>2๊ฐ์</span>
|
906 |
+
</div>
|
907 |
+
</div>
|
908 |
+
|
909 |
+
<!-- AI ํ
์คํธ ๊ด๋ จ -->
|
910 |
+
<div class="option-card" data-category="service" data-id="chatbot" data-cost="10" data-time="1.5">
|
911 |
+
<div class="option-name">AI ์ฑ๋ด</div>
|
912 |
+
<div class="option-details">
|
913 |
+
<span>$10K</span>
|
914 |
+
<span>1.5๊ฐ์</span>
|
915 |
+
</div>
|
916 |
+
</div>
|
917 |
+
<div class="option-card" data-category="service" data-id="content-gen" data-cost="12" data-time="1.5">
|
918 |
+
<div class="option-name">์ฝํ
์ธ ์์ฑ AI</div>
|
919 |
+
<div class="option-details">
|
920 |
+
<span>$12K</span>
|
921 |
+
<span>1.5๊ฐ์</span>
|
922 |
+
</div>
|
923 |
+
</div>
|
924 |
+
<div class="option-card" data-category="service" data-id="copywriting" data-cost="10" data-time="1.5">
|
925 |
+
<div class="option-name">AI ์นดํผ๋ผ์ดํ
</div>
|
926 |
+
<div class="option-details">
|
927 |
+
<span>$10K</span>
|
928 |
+
<span>1.5๊ฐ์</span>
|
929 |
+
</div>
|
930 |
+
</div>
|
931 |
+
<div class="option-card" data-category="service" data-id="translation" data-cost="15" data-time="2">
|
932 |
+
<div class="option-name">AI ๋ฒ์ญ ์๋น์ค</div>
|
933 |
+
<div class="option-details">
|
934 |
+
<span>$15K</span>
|
935 |
+
<span>2๊ฐ์</span>
|
936 |
+
</div>
|
937 |
+
</div>
|
938 |
+
|
939 |
+
<!-- AI ๋น์ฆ๋์ค ๋๊ตฌ -->
|
940 |
+
<div class="option-card" data-category="service" data-id="email-assistant" data-cost="8" data-time="1">
|
941 |
+
<div class="option-name">AI ์ด๋ฉ์ผ ์ด์์คํดํธ</div>
|
942 |
+
<div class="option-details">
|
943 |
+
<span>$8K</span>
|
944 |
+
<span>1๊ฐ์</span>
|
945 |
+
</div>
|
946 |
+
</div>
|
947 |
+
<div class="option-card" data-category="service" data-id="presentation" data-cost="15" data-time="2">
|
948 |
+
<div class="option-name">AI ํ๋ ์ ํ
์ด์
์ ์</div>
|
949 |
+
<div class="option-details">
|
950 |
+
<span>$15K</span>
|
951 |
+
<span>2๊ฐ์</span>
|
952 |
+
</div>
|
953 |
+
</div>
|
954 |
+
<div class="option-card" data-category="service" data-id="doc-summary" data-cost="10" data-time="1.5">
|
955 |
+
<div class="option-name">๋ฌธ์ ์์ฝ AI</div>
|
956 |
<div class="option-details">
|
957 |
+
<span>$10K</span>
|
958 |
<span>1.5๊ฐ์</span>
|
959 |
</div>
|
960 |
</div>
|
961 |
+
<div class="option-card" data-category="service" data-id="meeting-assistant" data-cost="18" data-time="2">
|
962 |
+
<div class="option-name">AI ํ์ ์ด์์คํดํธ</div>
|
963 |
<div class="option-details">
|
964 |
+
<span>$18K</span>
|
965 |
<span>2๊ฐ์</span>
|
966 |
</div>
|
967 |
</div>
|
968 |
+
|
969 |
+
<!-- AI ๋ถ์ ๋๊ตฌ -->
|
970 |
+
<div class="option-card" data-category="service" data-id="data-analysis" data-cost="20" data-time="2.5">
|
971 |
+
<div class="option-name">AI ๋ฐ์ดํฐ ๋ถ์</div>
|
972 |
<div class="option-details">
|
973 |
+
<span>$20K</span>
|
974 |
<span>2.5๊ฐ์</span>
|
975 |
</div>
|
976 |
</div>
|
977 |
+
<div class="option-card" data-category="service" data-id="sentiment" data-cost="12" data-time="1.5">
|
978 |
+
<div class="option-name">๊ฐ์ ๋ถ์ AI</div>
|
979 |
<div class="option-details">
|
980 |
+
<span>$12K</span>
|
981 |
+
<span>1.5๊ฐ์</span>
|
982 |
+
</div>
|
983 |
+
</div>
|
984 |
+
<div class="option-card" data-category="service" data-id="ocr" data-cost="10" data-time="1.5">
|
985 |
+
<div class="option-name">AI OCR ์๋น์ค</div>
|
986 |
+
<div class="option-details">
|
987 |
+
<span>$10K</span>
|
988 |
+
<span>1.5๊ฐ์</span>
|
989 |
+
</div>
|
990 |
+
</div>
|
991 |
+
<div class="option-card" data-category="service" data-id="vision-api" data-cost="18" data-time="2">
|
992 |
+
<div class="option-name">์ปดํจํฐ ๋น์ API</div>
|
993 |
+
<div class="option-details">
|
994 |
+
<span>$18K</span>
|
995 |
+
<span>2๊ฐ์</span>
|
996 |
+
</div>
|
997 |
+
</div>
|
998 |
+
|
999 |
+
<!-- AI ํนํ ์๋น์ค -->
|
1000 |
+
<div class="option-card" data-category="service" data-id="code-assistant" data-cost="15" data-time="2">
|
1001 |
+
<div class="option-name">AI ์ฝ๋ ์ด์์คํดํธ</div>
|
1002 |
+
<div class="option-details">
|
1003 |
+
<span>$15K</span>
|
1004 |
<span>2๊ฐ์</span>
|
1005 |
</div>
|
1006 |
</div>
|
1007 |
+
<div class="option-card" data-category="service" data-id="design-gen" data-cost="18" data-time="2">
|
1008 |
+
<div class="option-name">AI ๋์์ธ ์์ฑ</div>
|
1009 |
+
<div class="option-details">
|
1010 |
+
<span>$18K</span>
|
1011 |
+
<span>2๊ฐ์</span>
|
1012 |
+
</div>
|
1013 |
+
</div>
|
1014 |
+
<div class="option-card" data-category="service" data-id="3d-gen" data-cost="25" data-time="3">
|
1015 |
+
<div class="option-name">AI 3D ๋ชจ๋ธ ์์ฑ</div>
|
1016 |
+
<div class="option-details">
|
1017 |
+
<span>$25K</span>
|
1018 |
+
<span>3๊ฐ์</span>
|
1019 |
+
</div>
|
1020 |
+
</div>
|
1021 |
+
<div class="option-card" data-category="service" data-id="resume-builder" data-cost="8" data-time="1">
|
1022 |
+
<div class="option-name">AI ์ด๋ ฅ์ ๋น๋</div>
|
1023 |
+
<div class="option-details">
|
1024 |
+
<span>$8K</span>
|
1025 |
+
<span>1๊ฐ์</span>
|
1026 |
+
</div>
|
1027 |
+
</div>
|
1028 |
+
<div class="option-card" data-category="service" data-id="education-ai" data-cost="20" data-time="2.5">
|
1029 |
+
<div class="option-name">AI ๊ต์ก ํ๋ซํผ</div>
|
1030 |
+
<div class="option-details">
|
1031 |
+
<span>$20K</span>
|
1032 |
+
<span>2.5๊ฐ์</span>
|
1033 |
+
</div>
|
1034 |
+
</div>
|
1035 |
+
<div class="option-card" data-category="service" data-id="legal-ai" data-cost="22" data-time="2.5">
|
1036 |
+
<div class="option-name">AI ๋ฒ๋ฅ ์ด์์คํดํธ</div>
|
1037 |
+
<div class="option-details">
|
1038 |
+
<span>$22K</span>
|
1039 |
+
<span>2.5๊ฐ์</span>
|
1040 |
+
</div>
|
1041 |
+
</div>
|
1042 |
</div>
|
1043 |
</div>
|
1044 |
|
|
|
1049 |
<span>DB ๊ด๋ฆฌ</span>
|
1050 |
</div>
|
1051 |
<div class="component-options">
|
1052 |
+
<div class="option-card" data-category="db" data-id="basic-db" data-cost="3" data-time="0.5">
|
1053 |
<div class="option-name">๊ธฐ๋ณธ DB</div>
|
1054 |
<div class="option-details">
|
1055 |
+
<span>$3K</span>
|
1056 |
<span>0.5๊ฐ์</span>
|
1057 |
</div>
|
1058 |
</div>
|
1059 |
+
<div class="option-card" data-category="db" data-id="advanced-db" data-cost="8" data-time="1">
|
1060 |
<div class="option-name">๊ณ ๊ธ DB + ๋ฐฑ์
</div>
|
1061 |
<div class="option-details">
|
1062 |
+
<span>$8K</span>
|
1063 |
<span>1๊ฐ์</span>
|
1064 |
</div>
|
1065 |
</div>
|
1066 |
+
<div class="option-card" data-category="db" data-id="enterprise-db" data-cost="12" data-time="1.5">
|
1067 |
<div class="option-name">์ํฐํ๋ผ์ด์ฆ DB</div>
|
1068 |
<div class="option-details">
|
1069 |
+
<span>$12K</span>
|
1070 |
<span>1.5๊ฐ์</span>
|
1071 |
</div>
|
1072 |
</div>
|
|
|
1080 |
<span>ํ์๊ฐ์
๋ฐ ๋ก๊ทธ์ธ</span>
|
1081 |
</div>
|
1082 |
<div class="component-options">
|
1083 |
+
<div class="option-card" data-category="auth" data-id="gmail-only" data-cost="2" data-time="0.3">
|
1084 |
<div class="option-name">Gmail ์ฐ๋</div>
|
1085 |
<div class="option-details">
|
1086 |
+
<span>$2K</span>
|
1087 |
<span>0.3๊ฐ์</span>
|
1088 |
</div>
|
1089 |
</div>
|
1090 |
+
<div class="option-card" data-category="auth" data-id="multi-auth" data-cost="4" data-time="0.5">
|
1091 |
<div class="option-name">๋ค์ค ์์
๋ก๊ทธ์ธ</div>
|
1092 |
<div class="option-details">
|
1093 |
+
<span>$4K</span>
|
1094 |
<span>0.5๊ฐ์</span>
|
1095 |
</div>
|
1096 |
</div>
|
1097 |
+
<div class="option-card" data-category="auth" data-id="custom-auth" data-cost="6" data-time="1">
|
1098 |
<div class="option-name">์ปค์คํ
์ธ์ฆ ์์คํ
</div>
|
1099 |
<div class="option-details">
|
1100 |
+
<span>$6K</span>
|
1101 |
<span>1๊ฐ์</span>
|
1102 |
</div>
|
1103 |
</div>
|
|
|
1111 |
<span>ํฌ๋ ๋ง ๊ด๋ฆฌ</span>
|
1112 |
</div>
|
1113 |
<div class="component-options">
|
1114 |
+
<div class="option-card" data-category="credit" data-id="basic-credit" data-cost="3" data-time="0.5">
|
1115 |
<div class="option-name">๊ธฐ๋ณธ ํฌ๋ ๋ง ์์คํ
</div>
|
1116 |
<div class="option-details">
|
1117 |
+
<span>$3K</span>
|
1118 |
<span>0.5๊ฐ์</span>
|
1119 |
</div>
|
1120 |
</div>
|
1121 |
+
<div class="option-card" data-category="credit" data-id="advanced-credit" data-cost="6" data-time="1">
|
1122 |
<div class="option-name">๊ณ ๊ธ ํฌ๋ ๋ง + ๊ตฌ๋
</div>
|
1123 |
<div class="option-details">
|
1124 |
+
<span>$6K</span>
|
1125 |
<span>1๊ฐ์</span>
|
1126 |
</div>
|
1127 |
</div>
|
|
|
1135 |
<span>ํ์ด๋จผํธ ์ง์</span>
|
1136 |
</div>
|
1137 |
<div class="component-options">
|
1138 |
+
<div class="option-card" data-category="payment" data-id="basic-payment" data-cost="4" data-time="0.5">
|
1139 |
<div class="option-name">๊ธฐ๋ณธ ๊ฒฐ์ (์นด๋)</div>
|
1140 |
<div class="option-details">
|
1141 |
+
<span>$4K</span>
|
1142 |
<span>0.5๊ฐ์</span>
|
1143 |
</div>
|
1144 |
</div>
|
1145 |
+
<div class="option-card" data-category="payment" data-id="multi-payment" data-cost="8" data-time="1">
|
1146 |
<div class="option-name">๋ค์ค ๊ฒฐ์ ์๋จ</div>
|
1147 |
<div class="option-details">
|
1148 |
+
<span>$8K</span>
|
1149 |
<span>1๊ฐ์</span>
|
1150 |
</div>
|
1151 |
</div>
|
1152 |
+
<div class="option-card" data-category="payment" data-id="global-payment" data-cost="10" data-time="1.5">
|
1153 |
<div class="option-name">๊ธ๋ก๋ฒ ๊ฒฐ์ ์์คํ
</div>
|
1154 |
<div class="option-details">
|
1155 |
+
<span>$10K</span>
|
1156 |
<span>1.5๊ฐ์</span>
|
1157 |
</div>
|
1158 |
</div>
|
|
|
1166 |
<span>๋ง์ผํ
์ง์</span>
|
1167 |
</div>
|
1168 |
<div class="component-options">
|
1169 |
+
<div class="option-card" data-category="marketing" data-id="basic-marketing" data-cost="5" data-time="1">
|
1170 |
<div class="option-name">๊ธฐ๋ณธ ๋ง์ผํ
๋๊ตฌ</div>
|
1171 |
<div class="option-details">
|
1172 |
+
<span>$5K</span>
|
1173 |
<span>1๊ฐ์</span>
|
1174 |
</div>
|
1175 |
</div>
|
1176 |
+
<div class="option-card" data-category="marketing" data-id="advanced-marketing" data-cost="10" data-time="1.5">
|
1177 |
<div class="option-name">๊ณ ๊ธ ๋ง์ผํ
์๋ํ</div>
|
1178 |
<div class="option-details">
|
1179 |
+
<span>$10K</span>
|
1180 |
<span>1.5๊ฐ์</span>
|
1181 |
</div>
|
1182 |
</div>
|
|
|
1190 |
<span>๊ฐ๋ฐ ๋ฐ ๊ธฐ์ ์ธ๋ ฅ ์ง์</span>
|
1191 |
</div>
|
1192 |
<div class="component-options">
|
1193 |
+
<div class="option-card" data-category="support" data-id="basic-support" data-cost="3" data-time="0">
|
1194 |
<div class="option-name">๊ธฐ๋ณธ ๊ธฐ์ ์ง์</div>
|
1195 |
<div class="option-details">
|
1196 |
+
<span>์ $3K</span>
|
1197 |
<span>์ฆ์</span>
|
1198 |
</div>
|
1199 |
</div>
|
1200 |
+
<div class="option-card" data-category="support" data-id="dedicated-support" data-cost="8" data-time="0">
|
1201 |
<div class="option-name">์ ๋ด ๊ฐ๋ฐ์ ์ง์</div>
|
1202 |
<div class="option-details">
|
1203 |
+
<span>์ $8K</span>
|
1204 |
<span>์ฆ์</span>
|
1205 |
</div>
|
1206 |
</div>
|
|
|
1214 |
<span>์๊ฒฉ ๋ชจ๋ํฐ๋ง ์ง์</span>
|
1215 |
</div>
|
1216 |
<div class="component-options">
|
1217 |
+
<div class="option-card" data-category="monitoring" data-id="basic-monitor" data-cost="2" data-time="0.3">
|
1218 |
<div class="option-name">๊ธฐ๋ณธ ๋ชจ๋ํฐ๋ง</div>
|
1219 |
<div class="option-details">
|
1220 |
+
<span>$2K</span>
|
1221 |
<span>0.3๊ฐ์</span>
|
1222 |
</div>
|
1223 |
</div>
|
1224 |
+
<div class="option-card" data-category="monitoring" data-id="advanced-monitor" data-cost="4" data-time="0.5">
|
1225 |
<div class="option-name">๊ณ ๊ธ ๋ถ์ + ์๋ฆผ</div>
|
1226 |
<div class="option-details">
|
1227 |
+
<span>$4K</span>
|
1228 |
<span>0.5๊ฐ์</span>
|
1229 |
</div>
|
1230 |
</div>
|
|
|
1238 |
<span>์ถ๊ฐ ๊ธฐ๋ฅ (๋ณต์ ์ ํ ๊ฐ๋ฅ)</span>
|
1239 |
</div>
|
1240 |
<div class="component-options">
|
1241 |
+
<div class="option-card" data-category="additional" data-id="admin-panel" data-cost="5" data-time="0.5">
|
1242 |
<div class="option-name">๊ด๋ฆฌ์ ๋์๋ณด๋</div>
|
1243 |
<div class="option-details">
|
1244 |
+
<span>$5K</span>
|
1245 |
<span>0.5๊ฐ์</span>
|
1246 |
</div>
|
1247 |
</div>
|
1248 |
+
<div class="option-card" data-category="additional" data-id="api-system" data-cost="8" data-time="1">
|
1249 |
<div class="option-name">API ์์คํ
</div>
|
1250 |
<div class="option-details">
|
1251 |
+
<span>$8K</span>
|
1252 |
<span>1๊ฐ์</span>
|
1253 |
</div>
|
1254 |
</div>
|
1255 |
+
<div class="option-card" data-category="additional" data-id="analytics" data-cost="6" data-time="0.5">
|
1256 |
<div class="option-name">๋ถ์ ๋๊ตฌ</div>
|
1257 |
<div class="option-details">
|
1258 |
+
<span>$6K</span>
|
1259 |
<span>0.5๊ฐ์</span>
|
1260 |
</div>
|
1261 |
</div>
|
1262 |
+
<div class="option-card" data-category="additional" data-id="multi-language" data-cost="4" data-time="0.5">
|
1263 |
<div class="option-name">๋ค๊ตญ์ด ์ง์</div>
|
1264 |
<div class="option-details">
|
1265 |
+
<span>$4K</span>
|
1266 |
<span>0.5๊ฐ์</span>
|
1267 |
</div>
|
1268 |
</div>
|
|
|
1276 |
<h3>๋ง์ถค AI SaaS ๊ฒฌ์ ์</h3>
|
1277 |
<p>์ ํํ์ ๊ตฌ์ฑ์ผ๋ก ์ฐ์ถ๋ ์์ธ ๊ฒฌ์ ์
๋๋ค</p>
|
1278 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
1279 |
|
1280 |
<div class="custom-summary">
|
1281 |
<div class="summary-item">
|
1282 |
<div class="summary-label">์ด๊ธฐ ๊ฐ๋ฐ ๋น์ฉ</div>
|
1283 |
+
<div class="summary-value" id="initialCost">$0K</div>
|
1284 |
</div>
|
1285 |
<div class="summary-item">
|
1286 |
<div class="summary-label">์์ ๊ฐ๋ฐ ๊ธฐ๊ฐ</div>
|
|
|
1288 |
</div>
|
1289 |
<div class="summary-item">
|
1290 |
<div class="summary-label">์ด ๋น์ฉ (<span id="periodText">3</span>๊ฐ์)</div>
|
1291 |
+
<div class="summary-value" id="totalCost">$0K</div>
|
1292 |
</div>
|
1293 |
</div>
|
1294 |
|
|
|
1297 |
<div class="component-list" id="componentList"></div>
|
1298 |
</div>
|
1299 |
|
1300 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1301 |
|
1302 |
<div class="monthly-breakdown">
|
1303 |
<div class="monthly-item">
|
1304 |
<div class="monthly-label">์ ์๋ฒ ๋น์ฉ</div>
|
1305 |
+
<div class="monthly-value" id="serverCost">$0K</div>
|
1306 |
</div>
|
1307 |
<div class="monthly-item">
|
1308 |
<div class="monthly-label">์ API ๋น์ฉ</div>
|
1309 |
+
<div class="monthly-value" id="apiCost">$0K</div>
|
1310 |
</div>
|
1311 |
<div class="monthly-item">
|
1312 |
<div class="monthly-label">์ ์ ์ง๋ณด์</div>
|
1313 |
+
<div class="monthly-value" id="maintenanceCost">$0K</div>
|
1314 |
</div>
|
1315 |
<div class="monthly-item">
|
1316 |
<div class="monthly-label">์ ์ด ์ด์๋น</div>
|
1317 |
+
<div class="monthly-value" id="totalMonthlyCost">$0K</div>
|
1318 |
</div>
|
1319 |
</div>
|
1320 |
</div>
|
|
|
1461 |
componentListHTML += `
|
1462 |
<div class="component-list-item">
|
1463 |
<span><strong>${categoryNames[category]}</strong>: ${value.name}</span>
|
1464 |
+
<span>${category === 'support' ? '์ ' : ''}${value.cost}K</span>
|
1465 |
</div>
|
1466 |
`;
|
1467 |
} else {
|
|
|
1473 |
componentListHTML += `
|
1474 |
<div class="component-list-item">
|
1475 |
<span><strong>${categoryNames[category]}</strong>: ${item.name}</span>
|
1476 |
+
<span>${item.cost}K</span>
|
1477 |
</div>
|
1478 |
`;
|
1479 |
});
|
|
|
1486 |
const maintenanceCost = Math.round(initialCost * 0.01); // ์ด๊ธฐ ๋น์ฉ์ 1%
|
1487 |
const totalMonthly = serverCost + apiCost + maintenanceCost + monthlySupport;
|
1488 |
|
|
|
|
|
|
|
1489 |
// ๊ฐ๋ฐ ๊ธฐ๊ฐ ์กฐ์ (์ต์ 3๊ฐ์)
|
1490 |
const adjustedTime = Math.max(3, Math.ceil(maxTime));
|
1491 |
|
1492 |
+
// ๋น์ฉ ๊ท๋ชจ์ ๋ฐ๋ผ ์๋์ผ๋ก ๊ธฐ๊ฐ ์ ํ
|
1493 |
+
if (initialCost < 50) {
|
1494 |
+
currentPeriod = 3;
|
1495 |
+
} else if (initialCost < 100) {
|
1496 |
+
currentPeriod = 6;
|
1497 |
+
} else {
|
1498 |
+
currentPeriod = 12;
|
1499 |
+
}
|
1500 |
+
|
1501 |
+
// ์ด ๋น์ฉ ๊ณ์ฐ (๊ธฐ๊ฐ๋ณ)
|
1502 |
+
const totalCost = initialCost + (totalMonthly * currentPeriod);
|
1503 |
+
|
1504 |
// ๊ฒฐ๊ณผ ํ์
|
1505 |
+
document.getElementById('initialCost').textContent = `${initialCost}K`;
|
1506 |
document.getElementById('devTime').textContent = `${adjustedTime}๊ฐ์`;
|
1507 |
+
document.getElementById('totalCost').textContent = `${totalCost}K`;
|
1508 |
document.getElementById('periodText').textContent = currentPeriod;
|
1509 |
document.getElementById('componentList').innerHTML = componentListHTML;
|
1510 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1511 |
// ์๋ณ ๋น์ฉ ํ์
|
1512 |
+
document.getElementById('serverCost').textContent = `${serverCost}K`;
|
1513 |
+
document.getElementById('apiCost').textContent = `${apiCost}K`;
|
1514 |
+
document.getElementById('maintenanceCost').textContent = `${maintenanceCost}K`;
|
1515 |
+
document.getElementById('totalMonthlyCost').textContent = `${totalMonthly}K`;
|
1516 |
}
|
1517 |
|
1518 |
// ๊ธฐ์กด ๋น์ฉ ๊ณ์ฐ ํจ์
|