Thuta Learning
ရှာဖွေရန်
ProjectsWeb Developmentintermediate

Mini Project — Part 1: Project Setup

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • Mini Project — Part 1: Project Setup ကို လက်တွေ့ project ထဲမှာ အသုံးချတတ်မယ်
  • ကိုယ်တိုင် code ရေးပြီး run ကြည့်တတ်မယ်
  • Project တစ်ခုလုံးကို အဆင့်လိုက် ဆောက်တတ်မယ်

ခဏလေး ဒီလိုပဲ စဉ်းစားကြည့်

ဒီ project မှာ ကျွန်တော်တို့ Users API ကို ခေါ်ဆိုသုံးမယ့် user-cli ဆိုတဲ့ Node.js command-line tool လေးကို တည်ဆောက်ပါမယ်။ Auth Overview နဲ့ Bearer Token သင်ခန်းစာက Header ထဲမှာ Authorization ဘယ်လို ထည့်ရမလဲဆိုတာ၊ Endpoint Anatomy သင်ခန်းစာက Base URL နဲ့ Path ကို ဘယ်လို ခွဲခြားရမလဲဆိုတာကို အသုံးချထားပါတယ်။ Project တစ်ခုလုံးမှာ Token ကို code ထဲ hardcode မလုပ်ဘဲ config file တစ်ခုတည်းကနေ စီမံအုပ်ချုပ်အောင် ပြင်ဆင်ပါမယ်။ ဒီအပိုင်းက Foundation ဖြစ်တဲ့အတွက် သေချာစွာ ပြင်ဆင်ထားရင် Part 2 နဲ့ Part 3 မှာ အလွယ်တကူ ဆက်တည်ဆောက်နိုင်ပါလိမ့်မယ်။

လက်တွေ့ ဆောက်ကြည့်မယ်

Terminal မှာ mkdir user-cli && cd user-cli လုပ်ပြီး npm init -y နဲ့ package.json ကို ဖန်တီးပါ။ config.js file တစ်ခုဆောက်ပြီး API_BASE_URL နဲ့ API_TOKEN ကို process.env ကနေ ဖတ်အောင် သတ်မှတ်ပါ။ ပြီးရင် api.js ထဲမှာ getUsers(page, limit) ဆိုတဲ့ function ရေးပြီး Authorization: Bearer <token> header ထည့်ကာ /v1/users?page=&limit= ကို GET request လုပ်ပြီး JSON response ကို console.log ထုတ်ကြည့်ပါ။ အဲဒီ response ရဲ့ shape ကို Response Shape သင်ခန်းစာမှာ သင်ခဲ့တဲ့ { data, meta } pattern အတိုင်း စစ်ဆေးပါ။

Code နမူနာ

javascript
// config.js
require('dotenv').config();
module.exports = {
  API_BASE_URL: process.env.API_BASE_URL || 'https://api.example.com/v1',
  API_TOKEN: process.env.API_TOKEN, // .env ထဲမှာသာ ထားပါ
};

// api.js
const { API_BASE_URL, API_TOKEN } = require('./config');

async function getUsers(page = 1, limit = 10) {
  const url = `${API_BASE_URL}/users?page=${page}&limit=${limit}`;
  const res = await fetch(url, {
    headers: {
      Authorization: `Bearer ${API_TOKEN}`,
      Accept: 'application/json',
    },
  });
  if (!res.ok) throw new Error(`Request failed: ${res.status}`);
  return res.json();
}

getUsers(1, 5).then(console.log);
You should see
Terminal ပေါ်မှာ users list ကို { data: [...], meta: { page, limit, total } } ပုံစံနဲ့ ပထမ page အနေနဲ့ JSON output ထွက်လာပါလိမ့်မယ်။

၅ မိနစ် စမ်းကြည့်

5 မိနစ်အတွင်း .env file ဖန်တီးပြီး API_TOKEN=your_test_token လို့ ထည့်ကာ dotenv package ကို install လုပ်ပြီး getUsers() ကို run ကြည့်ပါ။

သတိလေးတစ်ချက်

.env file ကို .gitignore ထဲ မထည့်ဘဲ commit လုပ်မိရင် Token ပေါက်ကြားနိုင်တဲ့အတွက် project စတင်ကတည်းက .gitignore ကို ပြင်ဆင်ထားပါ။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • API_TOKEN ကို code ထဲမှာ string အနေနဲ့ တိုက်ရိုက် hardcode ထည့်တတ်ကြပါတယ်
  • GET request မှာ Content-Type header မလိုအပ်ပါဘဲ ထည့်ပြီး error confuse ဖြစ်တတ်ကြပါတယ်

အခု ကိုယ်တိုင် စမ်းကြည့်

5 မိနစ်အတွင်း .env file ဖန်တီးပြီး API_TOKEN=your_test_token လို့ ထည့်ကာ dotenv package ကို install လုပ်ပြီး getUsers() ကို run ကြည့်ပါ။

You'll know it worked when: Terminal ပေါ်မှာ users list ကို { data: [...], meta: { page, limit, total } } ပုံစံနဲ့ ပထမ page အနေနဲ့ JSON output ထွက်လာပါလိမ့်မယ်။

Mini Project — Part 1: Project Setup | Thuta Learning