안녕하세요! 오늘은 "코인 트래커"라는 웹 애플리케이션을 만들고 배포하는 과정을 공유하려고 합니다.
이 프로젝트는 간단한 HTML, CSS, JavaScript를 사용하여 만든 웹 애플리케이션으로, Upbit API를 활용해 실시간으로 코인 정보를 조회할 수 있습니다.
coin-tracker/
├── index.html # 메인 HTML 파일
├── style.css # 스타일 파일
├── script.js # 주요 JavaScript 로직
├── portfolio.js # 포트폴리오 관련 로직
// 모든 코인 목록 가져오기
async function fetchMarketData() {
const url = "https://api.upbit.com/v1/market/all";
try {
const response = await fetch(url);
const markets = await response.json();
allMarkets = markets.filter((market) => market.market.startsWith("KRW-"));
console.log("모든 코인 목록:", allMarkets);
} catch (error) {
console.error("코인 목록을 가져오는 데 실패했습니다:", error);
}
}
// 실시간 코인 데이터 가져오기
async function fetchCoinData() {
const marketList = allMarkets.map((market) => market.market).join(",");
const url = `https://api.upbit.com/v1/ticker?markets=${marketList}`;
try {
const response = await fetch(url);
coinData = await response.json();
displayCoinList(coinData);
} catch (error) {
console.error("데이터를 가져오는 데 실패했습니다:", error);
}
}
let portfolio = []; // 포트폴리오 데이터 저장
function addPortfolioItem(coinName, quantity, purchasePrice) {
portfolio.push({ coinName, quantity, purchasePrice });
updatePortfolioTable();
}
function updatePortfolioTable() {
const tableBody = document.querySelector("#portfolio-table tbody");
tableBody.innerHTML = portfolio.map((item) => {
const profit = ((item.quantity * currentPrice) - (item.quantity * item.purchasePrice)) / (item.quantity * item.purchasePrice) * 100;
return `
<tr>
<td>${item.coinName}</td>
<td>${item.quantity}</td>
<td>${item.purchasePrice.toFixed(2)}</td>
<td>${(item.quantity * currentPrice).toFixed(2)}</td>
<td>${profit.toFixed(2)}%</td>
</tr>`;
}).join("");
}
이 프로젝트는 실시간 데이터 처리, 광고 배치 등 다양한 기능을 포함하고 있습니다.
코딩 초보자부터 숙련자까지 모두 도전해볼 수 있는 좋은 예제입니다.
더 나은 개선점이나 질문이 있다면 댓글로 남겨주세요!
감사합니다! :)
https://cointracker-topaz.vercel.app/
코인트래커
하단 배너 광고 - 여기에 광고 삽입
cointracker-topaz.vercel.app
자바스크립트 함수(Function) 기초 배우기 (1) | 2025.02.02 |
---|---|
자바스크립트 객체(Object) 기초 배우기 (1) | 2025.02.02 |
자바스크립트 배열(Array) 기초 배우기 (1) | 2025.02.02 |
Google AdSense 연동하기: 웹사이트로 수익 창출하기 (0) | 2025.01.22 |
대출 이자 계산기 웹사이트 개발하기 (2) | 2025.01.22 |