7 Commits

Author SHA1 Message Date
abfaf397ee update2
Some checks failed
Build and Push Docker Image on Tag / build (push) Failing after 11m8s
2026-04-21 14:33:08 +07:00
3767fc92d9 update
Some checks failed
Build and Push Docker Image on Tag / build (push) Failing after 10m0s
2026-04-21 13:54:15 +07:00
f233652acd add cicd
Some checks failed
Build and Push Docker Image on Tag / build (push) Failing after 14m28s
2026-04-21 11:59:45 +07:00
285ab987fd fix 2026-04-21 11:44:29 +07:00
309609fccb update 2026-04-18 23:16:52 +07:00
3e0b3f6a6d imported flash card 2026-04-16 15:08:05 +07:00
088c555515 update flash card, test 2026-04-15 00:41:02 +07:00
146 changed files with 221341 additions and 1091 deletions

View File

@@ -0,0 +1,45 @@
name: Build and Push Docker Image on Tag
on:
push:
tags:
- 'v*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Extract tag name
id: tag
run: echo "TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
- name: Set up QEMU (for multi-platform)
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: docker-container
bootstrap: true
- name: Log in to Gitea Registry
uses: docker/login-action@v3
with:
registry: ${{ secrets.REGISTRY_URL }}
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Build and Push multi-platform image
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
${{ secrets.REGISTRY_URL }}/renolation/english-toeic:${{ steps.tag.outputs.TAG }}
${{ secrets.REGISTRY_URL }}/renolation/english-toeic:latest

1
.gitignore vendored
View File

@@ -33,7 +33,6 @@ yarn-error.log*
.pnpm-debug.log*
# package manager
package-lock.json
yarn.lock
pnpm-lock.yaml

View File

@@ -10,6 +10,7 @@
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap" rel="stylesheet" />
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap" rel="stylesheet" />
<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght,SOFT,WONK@0,9..144,300..700,0..100,0..1;1,9..144,300..700,0..100,0..1&family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&display=swap" rel="stylesheet" />
</head>
<body>
<div id="root"></div>

8105
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -2,30 +2,79 @@ import { useRouterState } from '@tanstack/react-router'
import { useTestStore } from '@/store/test-store'
import { UserMenu } from '@/components/UserMenu'
const ROUTE_TITLES: Record<string, string> = {
'/': 'Trang chủ',
'/writing': 'AI Chấm Writing',
'/vocab': 'Từ vựng TOEIC',
'/toeic': 'Luyện đề TOEIC',
'/toeic/session': '', // dynamic — filled below
'/toeic/result': 'Kết quả bài thi',
const ROUTE_TITLES: Record<string, { eyebrow: string; title: string; accent?: string }> = {
'/': { eyebrow: 'Học TOEIC cùng AI', title: 'Trang chủ' },
'/archivement': { eyebrow: 'Thành tích của bạn', title: 'Tôi học', accent: 'học' },
'/toeic': { eyebrow: 'Luyện đề', title: 'TOEIC Mock Tests', accent: 'Mock' },
'/writing': { eyebrow: 'AI Coach', title: 'Chấm Writing', accent: 'Writing' },
'/flash-card': { eyebrow: 'Từ vựng TOEIC', title: 'Flash Card', accent: 'Card' },
'/settings': { eyebrow: 'Tuỳ chỉnh', title: 'Cài đặt' },
}
function matchRouteLabel(pathname: string) {
if (ROUTE_TITLES[pathname]) return ROUTE_TITLES[pathname]
const keys = Object.keys(ROUTE_TITLES).sort((a, b) => b.length - a.length)
for (const k of keys) {
if (k !== '/' && pathname.startsWith(k)) return ROUTE_TITLES[k]
}
return { eyebrow: 'EnglishAI', title: 'EnglishAI' }
}
export function AppHeader() {
const { location } = useRouterState()
const { partId, partName, answers, questions } = useTestStore()
const { testName, parts, answers } = useTestStore()
const pathname = location.pathname
let title = ROUTE_TITLES[pathname] ?? 'EnglishAI'
// In-session mode: show test progress instead of route title
if (pathname === '/toeic/session') {
const answered = answers.filter((a) => a !== null).length
title = `Part ${partId}${partName} · ${answered}/${questions.length} câu`
const totalQuestions = parts.reduce((sum, p) => sum + p.questions.length, 0)
const answered = Object.values(answers).filter((a) => a !== null).length
return (
<header
className="fixed top-0 right-0 left-0 lg:left-60 h-16 z-40 flex items-center justify-between px-6 backdrop-blur-md"
style={{
background: 'color-mix(in oklab, var(--at-paper) 88%, transparent)',
borderBottom: '1px solid var(--at-line)',
}}
>
<div>
<div className="at-eyebrow" style={{ fontSize: 10, marginBottom: 2 }}>Phiên thi</div>
<div className="at-serif text-[15px]" style={{ color: 'var(--at-ink)', fontWeight: 500, letterSpacing: '-0.01em' }}>
{testName} · <i className="italic" style={{ color: 'var(--at-brand)' }}>{answered}/{totalQuestions}</i> câu
</div>
</div>
<UserMenu />
</header>
)
}
const { eyebrow, title, accent } = matchRouteLabel(pathname)
const renderTitle = () => {
if (!accent || !title.includes(accent)) return title
const [before, after] = title.split(accent)
return (
<>
{before}
<i className="italic" style={{ color: 'var(--at-brand)' }}>{accent}</i>
{after}
</>
)
}
return (
<header className="fixed top-0 right-0 left-0 lg:left-60 h-16 bg-white/90 backdrop-blur-md border-b border-slate-200 z-40 flex items-center justify-between px-6">
<span className="text-sm font-semibold text-slate-700">{title}</span>
<header
className="fixed top-0 right-0 left-0 lg:left-60 h-16 z-40 flex items-center justify-between px-6 backdrop-blur-md"
style={{
background: 'color-mix(in oklab, var(--at-paper) 88%, transparent)',
borderBottom: '1px solid var(--at-line)',
}}
>
<div>
<div className="at-eyebrow" style={{ fontSize: 10, marginBottom: 2 }}>{eyebrow}</div>
<div className="at-serif text-[15px]" style={{ color: 'var(--at-ink)', fontWeight: 500, letterSpacing: '-0.01em' }}>
{renderTitle()}
</div>
</div>
<UserMenu />
</header>
)

View File

@@ -3,7 +3,7 @@ import { cn } from '@/lib/utils'
const NAV_ITEMS = [
{ to: '/', label: 'Home', icon: 'home', matchPrefix: '/', exact: true },
{ to: '/dashboard', label: 'Thành tích', icon: 'emoji_events', matchPrefix: '/dashboard', exact: false },
{ to: '/archivement', label: 'Thành tích', icon: 'emoji_events', matchPrefix: '/archivement', exact: false },
{ to: '/toeic', label: 'Luyện đề', icon: 'assignment', matchPrefix: '/toeic', exact: false },
{ to: '/writing', label: 'Writing', icon: 'edit_note', matchPrefix: '/writing', exact: false },
{ to: '/settings', label: 'Cài đặt', icon: 'settings', matchPrefix: '/settings', exact: false },

View File

@@ -5,10 +5,10 @@ import { useAuthModalStore } from '@/store/auth-modal-store'
const NAV_ITEMS = [
{ to: '/', label: 'Trang chủ', icon: 'home', matchPrefix: '/', exact: true },
{ to: '/dashboard', label: 'Thành tích', icon: 'emoji_events', matchPrefix: '/dashboard', exact: false },
{ to: '/archivement', label: 'Thành tích', icon: 'emoji_events', matchPrefix: '/archivement', exact: false },
{ to: '/toeic', label: 'Luyện đề TOEIC', icon: 'assignment', matchPrefix: '/toeic', exact: false },
{ to: '/writing', label: 'AI Writing', icon: 'edit_note', matchPrefix: '/writing', exact: false },
{ to: '/vocab', label: 'Từ vựng', icon: 'menu_book', matchPrefix: '/vocab', exact: false },
{ to: '/flash-card', label: 'Flash Card', icon: 'menu_book', matchPrefix: '/flash-card', exact: false },
{ to: '/settings', label: 'Cài đặt', icon: 'settings', matchPrefix: '/settings', exact: false },
]
@@ -23,60 +23,111 @@ export function Sidebar() {
const openModal = useAuthModalStore((s) => s.open)
return (
<aside className="hidden lg:flex fixed inset-y-0 left-0 w-60 flex-col bg-slate-50 border-r border-slate-200 z-50">
<aside
className="hidden lg:flex fixed inset-y-0 left-0 w-60 flex-col z-50"
style={{
background: 'var(--at-paper)',
borderRight: '1px solid var(--at-line)',
}}
>
{/* Brand */}
<div className="px-6 py-5 border-b border-slate-200">
<div className="text-xl font-extrabold text-blue-600 tracking-tight">EnglishAI</div>
<div className="text-xs text-slate-400 mt-0.5">Học tập thông minh</div>
<div className="px-5 pt-7 pb-9 flex items-start gap-2.5">
<div
className="w-[34px] h-[34px] rounded-[10px] grid place-items-center flex-shrink-0 at-serif italic"
style={{
background: 'var(--at-ink)',
color: 'var(--at-paper)',
fontSize: 20,
fontWeight: 500,
letterSpacing: '-0.02em',
}}
>
E
</div>
<div>
<div className="at-serif" style={{ fontSize: 18, fontWeight: 500, letterSpacing: '-0.02em', lineHeight: 1.1, color: 'var(--at-ink)' }}>
EnglishAI
</div>
<div style={{ fontSize: 10, fontWeight: 500, color: 'var(--at-mute)', letterSpacing: '0.14em', textTransform: 'uppercase', marginTop: 2 }}>
TOEIC Curator
</div>
</div>
</div>
{/* Nav */}
<nav className="flex-1 py-3 overflow-y-auto">
{NAV_ITEMS.map((item) => {
const active = isActive(pathname, item.matchPrefix, item.exact)
return (
<Link
key={item.to}
to={item.to}
className={cn(
'flex items-center gap-3 mx-2 px-3 py-2.5 rounded-xl text-sm font-medium transition-all duration-150',
active
? 'bg-white text-blue-600 font-semibold shadow-sm'
: 'text-slate-500 hover:bg-white/70 hover:text-slate-800',
)}
>
<span className="material-symbols-outlined" style={{ fontSize: 20 }}>
{item.icon}
</span>
{item.label}
</Link>
)
})}
<nav className="flex-1 px-4 overflow-y-auto">
<div className="px-3 pb-2" style={{ fontSize: 10, letterSpacing: '0.16em', textTransform: 'uppercase', color: 'var(--at-mute-2)', fontWeight: 600 }}>
Học tập
</div>
<div className="flex flex-col gap-0.5">
{NAV_ITEMS.map((item) => {
const active = isActive(pathname, item.matchPrefix, item.exact)
return (
<Link
key={item.to}
to={item.to}
className={cn(
'relative flex items-center gap-3 px-3 py-2.5 rounded-[10px] text-[13.5px] font-medium transition-colors',
)}
style={{
background: active ? 'var(--at-line-2)' : 'transparent',
color: active ? 'var(--at-ink)' : 'var(--at-ink-2)',
}}
>
{active && (
<span
className="absolute top-2 bottom-2 rounded-full"
style={{ left: -18, width: 2, background: 'var(--at-brand)' }}
/>
)}
<span
className="material-symbols-outlined"
style={{ fontSize: 20, color: active ? 'var(--at-brand)' : 'var(--at-mute)' }}
>
{item.icon}
</span>
{item.label}
</Link>
)
})}
</div>
</nav>
{/* User */}
<div className="px-3 py-4 border-t border-slate-200">
<div className="px-3 py-4">
{user ? (
<div className="flex items-center gap-3 bg-white rounded-xl px-3 py-2.5">
<div className="w-8 h-8 rounded-full bg-blue-600 flex items-center justify-center text-white text-sm font-bold flex-shrink-0">
<div
className="flex items-center gap-2.5 px-2.5 py-2.5 rounded-xl"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
>
<div
className="w-9 h-9 rounded-[10px] grid place-items-center flex-shrink-0 at-serif italic"
style={{
background: 'linear-gradient(135deg, #F0E6D8, #E5D4B7)',
color: 'var(--at-ink)',
fontSize: 16,
fontWeight: 500,
}}
>
{user.name.charAt(0).toUpperCase()}
</div>
<div className="min-w-0">
<div className="text-sm font-semibold truncate">{user.name}</div>
<div className="text-xs text-slate-400 truncate">{user.email}</div>
<div className="text-[13px] font-semibold truncate" style={{ color: 'var(--at-ink)' }}>{user.name}</div>
<div className="text-[11px] truncate" style={{ color: 'var(--at-mute)' }}>{user.email}</div>
</div>
</div>
) : (
<button
onClick={() => openModal('login')}
className="w-full flex items-center gap-3 bg-white rounded-xl px-3 py-2.5 hover:bg-blue-50 transition-colors group"
className="w-full flex items-center gap-2.5 px-2.5 py-2.5 rounded-xl hover:bg-[var(--at-line-2)] transition-colors"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
>
<div className="w-8 h-8 rounded-full bg-slate-200 flex items-center justify-center flex-shrink-0 group-hover:bg-blue-100 transition-colors">
<span className="material-symbols-outlined text-slate-400 group-hover:text-blue-600 transition-colors" style={{ fontSize: 18 }}>person</span>
<div className="w-9 h-9 rounded-[10px] grid place-items-center flex-shrink-0" style={{ background: 'var(--at-line-2)' }}>
<span className="material-symbols-outlined" style={{ fontSize: 18, color: 'var(--at-mute)' }}>person</span>
</div>
<div className="min-w-0 text-left">
<div className="text-sm font-semibold text-slate-600">Khách</div>
<div className="text-xs text-blue-600 font-medium">Đăng nhập </div>
<div className="text-[13px] font-semibold" style={{ color: 'var(--at-ink-2)' }}>Khách</div>
<div className="text-[11px] font-medium at-serif italic" style={{ color: 'var(--at-brand)' }}>Đăng nhập </div>
</div>
</button>
)}

View File

@@ -3,22 +3,59 @@ import { useAuthStore } from '@/store/auth-store'
import { useAuthModalStore } from '@/store/auth-modal-store'
import { useGamification, useLeaderboard } from '@/hooks/use-gamification'
import { XP_REWARDS } from '@/lib/gamification-service'
import { StatsRow } from './StatsRow'
import { XpProgressCard } from './XpProgressCard'
import { WeeklySection } from './WeeklySection'
import { XuEconomyCard } from './XuEconomyCard'
import { LeaderboardCard } from './LeaderboardCard'
// Numeric level from XP (1 per 100 XP, min 1)
export function calcNumericLevel(xp: number) {
return Math.max(1, Math.floor(xp / 100))
const LEVEL_LABEL: Record<string, string> = {
beginner: 'Beginner',
bronze: 'Bronze',
silver: 'Silver',
gold: 'Gold',
master: 'Master',
}
// XP needed for next numeric level
export function calcXpNextLevel(xp: number) {
function calcNumericLevel(xp: number) {
return Math.max(1, Math.floor(xp / 100))
}
function xpForNext(xp: number) {
return (Math.floor(xp / 100) + 1) * 100
}
const EARN_ITEMS = [
{ label: 'Hoàn thành mục tiêu ngày', amt: 10 },
{ label: 'Mốc chuỗi (Streak)', amt: 20 },
{ label: 'Xem quảng cáo', amt: 5 },
{ label: 'Chia sẻ với bạn bè', amt: 15 },
]
const SPEND_ITEMS = [
{ label: 'Streak Freeze', amt: 20, desc: 'Giữ streak 1 ngày nghỉ' },
{ label: 'AI Writing Feedback', amt: 30, desc: 'Phân tích bài viết sâu' },
{ label: 'Bộ thẻ Premium', amt: 50, desc: 'Mở khoá toàn bộ chủ đề' },
{ label: 'Đổi theme hiếm', amt: 40, desc: 'Giao diện Atelier Noir' },
]
type Badge = { id: string; name: string; desc: string; earned: boolean; progress?: number; icon: string; color: string }
const BADGES: Badge[] = [
{ id: 'b1', name: 'Khởi hành', desc: 'Học ngày đầu tiên', earned: true, icon: 'auto_awesome', color: 'var(--at-brand)' },
{ id: 'b2', name: 'Một tuần', desc: '7 ngày liên tiếp', earned: false, progress: 40, icon: 'local_fire_department', color: 'var(--at-streak)' },
{ id: 'b3', name: 'Bền bỉ', desc: '30 ngày liên tiếp', earned: false, progress: 10, icon: 'local_fire_department', color: 'var(--at-warm)' },
{ id: 'b4', name: 'Mọt sách', desc: 'Thuộc 100 từ vựng', earned: false, progress: 30, icon: 'style', color: '#8B5CF6' },
{ id: 'b5', name: 'Nhà ngôn ngữ', desc: 'Thuộc 500 từ vựng', earned: false, progress: 10, icon: 'style', color: '#8B5CF6' },
{ id: 'b6', name: 'Điểm số vàng', desc: 'Đạt 800+ TOEIC', earned: false, progress: 20, icon: 'emoji_events', color: 'var(--at-good)' },
{ id: 'b7', name: 'Thí sinh', desc: 'Hoàn thành 10 đề full', earned: false, progress: 0, icon: 'fact_check', color: 'var(--at-brand)' },
{ id: 'b8', name: 'Cây viết', desc: 'Gửi 20 bài AI Writing', earned: false, progress: 10, icon: 'edit_note', color: 'var(--at-good)' },
]
function Coin({ size = 14 }: { size?: number }) {
return (
<svg width={size} height={size} viewBox="0 0 24 24" style={{ display: 'inline-block', verticalAlign: '-2px' }}>
<circle cx="12" cy="12" r="10" fill="#F5B94A" stroke="#C9902F" strokeWidth="1.2" />
<circle cx="12" cy="12" r="7" fill="none" stroke="#C9902F" strokeWidth="0.8" opacity="0.6" />
<text x="12" y="15.5" textAnchor="middle" fontFamily="var(--at-serif)" fontSize="9.5" fontWeight="700" fill="#7B5210">XU</text>
</svg>
)
}
export function Dashboard() {
const user = useAuthStore((s) => s.user)
const openModal = useAuthModalStore((s) => s.open)
@@ -27,15 +64,15 @@ export function Dashboard() {
if (!user) {
return (
<div className="px-4 lg:px-6 py-12 max-w-6xl mx-auto flex flex-col items-center text-center gap-4">
<span className="material-symbols-outlined text-slate-300" style={{ fontSize: 64 }}>emoji_events</span>
<h1 className="text-xl font-bold text-slate-700">Bảng thành tích</h1>
<p className="text-slate-400 text-sm max-w-xs">
<div className="px-4 lg:px-6 py-20 max-w-6xl mx-auto flex flex-col items-center text-center gap-4">
<div className="at-serif italic text-5xl" style={{ color: 'var(--at-mute-2)' }}>Thành tích</div>
<p className="max-w-sm" style={{ color: 'var(--at-mute)' }}>
Đăng nhập đ xem streak, XP, Xu bảng xếp hạng của bạn.
</p>
<button
onClick={() => openModal('login')}
className="mt-2 px-6 py-2.5 bg-blue-600 text-white rounded-full font-bold text-sm hover:bg-blue-700 transition-colors"
className="mt-2 px-6 py-2.5 rounded-xl font-semibold text-sm hover:opacity-90 transition"
style={{ background: 'var(--at-ink)', color: 'var(--at-paper)' }}
>
Đăng nhập
</button>
@@ -43,53 +80,524 @@ export function Dashboard() {
)
}
// Derive weekly completed from leaderboard XP
const userLbRow = leaderboard?.find((r) => r.userId === user.id)
const weeklyXp = userLbRow?.xpEarned ?? 0
const weeklyCompleted = Math.min(Math.floor(weeklyXp / XP_REWARDS.test), 5)
const xu = gam?.xu ?? 50
const streak = gam?.streak ?? 0
const xp = gam?.xp ?? 0
const level = gam?.level ?? 'beginner'
const lastActive = gam?.lastActive ?? null
const levelLabel = LEVEL_LABEL[gam?.level ?? 'beginner']
const numericLevel = calcNumericLevel(xp)
const nextLevelXp = xpForNext(xp)
const xpIntoLevel = xp - numericLevel * 100
const levelPct = Math.round((xpIntoLevel / 100) * 100)
const xpLeft = nextLevelXp - xp
// Week metrics
const userLbRow = leaderboard?.find((r) => r.userId === user.id)
const weeklyXp = userLbRow?.xpEarned ?? 0
const weeklyCompleted = Math.min(Math.floor(weeklyXp / XP_REWARDS.test), 5)
const weekGoalTotal = 5
// 7-day history mock pattern — actual tracking would need daily_activity table
const todayDayIdx = (new Date().getDay() + 6) % 7 // Mon=0..Sun=6
const history = ['T2', 'T3', 'T4', 'T5', 'T6', 'T7', 'CN'].map((d, i) => {
if (i === todayDayIdx) return { d, state: 'today' as const }
if (i < todayDayIdx) return { d, state: i < weeklyCompleted ? 'done' as const : 'empty' as const }
return { d, state: 'future' as const }
})
// Leaderboard display (top 5, highlight self)
const board = (leaderboard ?? []).slice(0, 5).map((row, idx) => ({
rank: idx + 1,
name: row.userId === user.id ? `${user.name} (Bạn)` : `User ${row.userId.slice(0, 6)}`,
xp: row.xpEarned,
you: row.userId === user.id,
avatar: (row.userId === user.id ? user.name : 'U').charAt(0).toUpperCase(),
}))
return (
<div className="px-4 lg:px-6 py-6 max-w-6xl mx-auto">
<div className="mb-6">
<h1 className="text-2xl font-extrabold text-slate-800 mb-1">Bảng thành tích</h1>
<p className="text-slate-400 text-sm">
Xin chào, <span className="font-semibold text-slate-600">{user.name}</span> tiếp tục chuỗi học tập nhé!
</p>
<div className="px-6 lg:px-10 py-10 max-w-6xl mx-auto page-enter">
{/* Editorial head */}
<div className="flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-10">
<div>
<div className="at-eyebrow mb-3">Thành tích</div>
<h1 className="at-title text-4xl lg:text-[44px]">
Bảng <i>thành tích</i>
</h1>
<p className="mt-4 text-sm" style={{ color: 'var(--at-mute)' }}>
Xin chào, <b style={{ color: 'var(--at-ink)' }}>{user.name}</b> tiếp tục chuỗi học tập nhé!
</p>
</div>
<div className="flex gap-2.5 flex-shrink-0">
<button
className="inline-flex items-center gap-2 px-4 py-2.5 rounded-xl text-[13.5px] font-semibold hover:bg-[var(--at-line-2)] transition-colors"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)', color: 'var(--at-ink-2)' }}
>
<span className="material-symbols-outlined" style={{ fontSize: 15 }}>share</span>
Chia sẻ
</button>
<Link
to="/toeic"
className="inline-flex items-center gap-2 px-5 py-2.5 rounded-xl text-[13.5px] font-semibold hover:opacity-90 transition-opacity"
style={{ background: 'var(--at-ink)', color: 'var(--at-paper)' }}
>
<span className="material-symbols-outlined" style={{ fontSize: 15 }}>play_arrow</span>
Học tiếp
</Link>
</div>
</div>
{isLoading ? (
<div className="grid grid-cols-1 md:grid-cols-3 gap-5 mb-6">
<div className="grid grid-cols-1 md:grid-cols-3 gap-5 mb-5">
{[1, 2, 3].map((i) => (
<div key={i} className="bg-white rounded-xl p-6 shadow-sm h-32 animate-pulse bg-slate-100" />
<div key={i} className="rounded-2xl h-32 animate-pulse" style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }} />
))}
</div>
) : (
<StatsRow xu={xu} streak={streak} xp={xp} level={level} />
<div className="grid grid-cols-1 md:grid-cols-3 gap-5 mb-5" style={{ gridTemplateColumns: '1fr 1.2fr 1fr' }}>
{/* XU */}
<div
className="rounded-2xl p-5 relative overflow-hidden"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
>
<div
className="absolute inset-0 pointer-events-none"
style={{ background: 'radial-gradient(120% 80% at 100% 0%, color-mix(in oklab, #F5B94A 18%, transparent) 0%, transparent 55%)' }}
/>
<div className="relative">
<div className="at-eyebrow" style={{ color: '#B88432' }}>Số Xu</div>
<div className="flex items-baseline gap-2.5 mt-2">
<div className="at-serif" style={{ fontSize: 54, fontWeight: 400, letterSpacing: '-0.03em', lineHeight: 0.95 }}>
{xu}
</div>
<Coin size={26} />
</div>
<div className="text-[12.5px] mt-2.5 max-w-[200px]" style={{ color: 'var(--at-mute)' }}>
Dùng đ mở tính năng premium, freeze streak hoặc đi giao diện.
</div>
</div>
</div>
{/* STREAK (featured, ink) */}
<div
className="rounded-2xl p-5 relative overflow-hidden"
style={{
background: 'linear-gradient(135deg, var(--at-ink) 0%, color-mix(in oklab, var(--at-ink) 88%, var(--at-brand)) 100%)',
color: 'var(--at-paper)',
}}
>
<div
className="absolute at-serif italic"
style={{ top: -20, right: -20, fontSize: 160, opacity: 0.08, lineHeight: 1 }}
>
</div>
<div className="at-eyebrow" style={{ color: 'color-mix(in oklab, var(--at-paper) 70%, transparent)' }}>
Chuỗi học tập
</div>
<div className="flex items-baseline gap-2.5 mt-2">
<div className="at-serif" style={{ fontSize: 54, fontWeight: 400, letterSpacing: '-0.03em', lineHeight: 0.95 }}>
{streak}
</div>
<div className="at-serif italic" style={{ fontSize: 26, fontWeight: 300 }}>ngày</div>
<span className="material-symbols-outlined" style={{ fontSize: 28, color: '#F5B94A', fontVariationSettings: "'FILL' 1" }}>
local_fire_department
</span>
</div>
<div className="text-[12.5px] opacity-75 mt-2.5">Giữ vững chuỗi học mỗi ngày nhé!</div>
</div>
{/* LEVEL */}
<div className="rounded-2xl p-5" style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}>
<div className="at-eyebrow">Cấp đ</div>
<div className="flex items-baseline justify-between mt-2">
<div className="flex items-baseline gap-2.5">
<div className="at-serif" style={{ fontSize: 54, fontWeight: 400, letterSpacing: '-0.03em', lineHeight: 0.95 }}>
{numericLevel}
</div>
<div className="at-serif italic" style={{ fontSize: 20, color: 'var(--at-mute)' }}>Level</div>
</div>
<div
className="w-11 h-11 rounded-xl grid place-items-center"
style={{ background: 'var(--at-paper-2)', color: 'var(--at-brand)' }}
>
<span className="material-symbols-outlined" style={{ fontSize: 22 }}>emoji_events</span>
</div>
</div>
<div className="mt-2.5">
<span className="at-chip at-chip-warm" style={{ fontSize: 10.5 }}>
<span className="at-chip-dot" />
Hạng {levelLabel}
</span>
</div>
</div>
</div>
)}
<div className="grid grid-cols-1 lg:grid-cols-12 gap-5 mb-5">
<XpProgressCard xp={xp} />
<WeeklySection streak={streak} lastActive={lastActive} weeklyCompleted={weeklyCompleted} />
{/* Row 2 — level ring + week goal + history */}
<div className="grid grid-cols-1 gap-5 mb-5" style={{ gridTemplateColumns: 'minmax(0, 1fr) minmax(0, 1.4fr)' }}>
{/* Level progress ring */}
<div className="rounded-2xl p-5" style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}>
<div className="flex justify-between items-baseline">
<div className="at-serif text-[20px] tracking-tight" style={{ color: 'var(--at-ink)', fontWeight: 500 }}>
Tiến đ <i style={{ color: 'var(--at-brand)', fontStyle: 'italic' }}>cấp đ</i>
</div>
<span className="at-serif italic text-[11px]" style={{ color: 'var(--at-mute)' }}>
Lv.{numericLevel} Lv.{numericLevel + 1}
</span>
</div>
<div className="flex justify-center py-5">
<LevelRing value={levelPct} xpInto={xpIntoLevel} xpGoal={100} />
</div>
<div className="text-center text-[12.5px] mb-3" style={{ color: 'var(--at-mute)' }}>
Chỉ còn <b style={{ color: 'var(--at-brand)' }}>{xpLeft} XP</b> nữa đ đt Level {numericLevel + 1}!
</div>
<button
className="w-full py-2.5 rounded-xl text-[13px] font-semibold transition-colors hover:bg-[var(--at-line-2)]"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)', color: 'var(--at-ink-2)' }}
>
<span className="material-symbols-outlined inline-block align-middle mr-1" style={{ fontSize: 15 }}>target</span>
Xem nhiệm vụ XP
</button>
</div>
{/* Week goal + history */}
<div className="flex flex-col gap-5">
<div className="rounded-2xl p-5" style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}>
<div className="flex justify-between items-start mb-3">
<div>
<div className="at-serif text-[20px] tracking-tight" style={{ color: 'var(--at-ink)', fontWeight: 500 }}>
Mục tiêu <i style={{ color: 'var(--at-good)', fontStyle: 'italic' }}>tuần</i>
</div>
<div className="text-xs mt-1" style={{ color: 'var(--at-mute)' }}>
Hoàn thành {weekGoalTotal} bài học mỗi tuần
</div>
</div>
<div
className="at-serif"
style={{ fontSize: 36, fontWeight: 400, letterSpacing: '-0.02em', lineHeight: 1, color: 'var(--at-good)' }}
>
{weeklyCompleted}
<span className="italic" style={{ color: 'var(--at-mute-2)' }}>/{weekGoalTotal}</span>
</div>
</div>
<div className="at-bar" style={{ height: 8 }}>
<span style={{ width: `${(weeklyCompleted / weekGoalTotal) * 100}%`, background: 'var(--at-good)' }} />
</div>
<div className="flex justify-between mt-2.5 text-[11.5px]" style={{ color: 'var(--at-mute)' }}>
<span>Đã hoàn thành</span>
{weeklyCompleted >= weekGoalTotal ? (
<span>
<b style={{ color: 'var(--at-good)' }}>Đt mục tiêu!</b> · +50 XP thưởng
</span>
) : (
<span>
Còn <b style={{ color: 'var(--at-good)' }}>{weekGoalTotal - weeklyCompleted} bài</b>
</span>
)}
</div>
</div>
<div className="rounded-2xl p-5" style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}>
<div className="flex justify-between items-baseline mb-4">
<div className="at-serif text-[20px] tracking-tight" style={{ color: 'var(--at-ink)', fontWeight: 500 }}>
Lịch sử <i style={{ color: 'var(--at-streak)', fontStyle: 'italic' }}>rèn luyện</i>
</div>
<span className="at-serif italic text-[11px]" style={{ color: 'var(--at-mute)' }}>7 ngày qua</span>
</div>
<div className="grid grid-cols-7 gap-2">
{history.map((h, i) => {
const isDone = h.state === 'done'
const isToday = h.state === 'today'
return (
<div key={i} className="flex flex-col items-center gap-2">
<div
style={{
fontSize: 10,
fontWeight: 700,
letterSpacing: '0.1em',
textTransform: 'uppercase',
color: isToday ? 'var(--at-brand)' : 'var(--at-mute)',
}}
>
{isToday ? 'H.NAY' : h.d}
</div>
<div
className="grid place-items-center"
style={{
width: 44,
height: 44,
borderRadius: 12,
background: isDone ? 'color-mix(in oklab, var(--at-good) 18%, transparent)' : 'transparent',
border: isToday
? '2px dashed var(--at-brand)'
: isDone
? '1px solid color-mix(in oklab, var(--at-good) 30%, transparent)'
: '1px solid var(--at-line)',
color: isDone ? 'var(--at-good)' : isToday ? 'var(--at-brand)' : 'var(--at-mute-2)',
}}
>
{isDone && <span className="material-symbols-outlined" style={{ fontSize: 18 }}>check</span>}
{isToday && <span className="material-symbols-outlined" style={{ fontSize: 14 }}>play_arrow</span>}
</div>
</div>
)
})}
</div>
</div>
</div>
</div>
<div className="grid grid-cols-1 lg:grid-cols-12 gap-5">
<XuEconomyCard />
<LeaderboardCard />
{/* Row 3 — Xu shop + leaderboard */}
<div className="grid grid-cols-1 gap-5 mb-5" style={{ gridTemplateColumns: 'minmax(0, 1fr) minmax(0, 1.4fr)' }}>
{/* Xu shop */}
<div className="rounded-2xl p-5" style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}>
<div className="flex justify-between items-baseline mb-3.5">
<div className="at-serif text-[20px] tracking-tight" style={{ color: 'var(--at-ink)', fontWeight: 500 }}>
Cửa hàng <i style={{ color: '#B88432', fontStyle: 'italic' }}>Xu</i>
</div>
<span className="at-chip" style={{ fontSize: 10.5 }}>
<Coin size={11} /> {xu} xu
</span>
</div>
<div
style={{ fontSize: 10, fontWeight: 700, letterSpacing: '0.14em', textTransform: 'uppercase', color: 'var(--at-good)', marginBottom: 8 }}
>
Kiếm xu
</div>
{EARN_ITEMS.map((e, i) => (
<div
key={i}
className="flex justify-between items-center py-2.5"
style={{ borderTop: i === 0 ? 'none' : '1px solid var(--at-line)' }}
>
<span className="text-[13px]" style={{ color: 'var(--at-ink-2)' }}>{e.label}</span>
<span
className="inline-flex items-center gap-1 text-xs font-bold"
style={{ color: 'var(--at-good)' }}
>
+{e.amt} <Coin size={11} />
</span>
</div>
))}
<div
style={{
fontSize: 10,
fontWeight: 700,
letterSpacing: '0.14em',
textTransform: 'uppercase',
color: '#C8383E',
marginTop: 18,
marginBottom: 8,
}}
>
Tiêu xu
</div>
{SPEND_ITEMS.map((s, i) => (
<div
key={i}
className="flex justify-between items-center py-2.5 gap-2.5"
style={{ borderTop: i === 0 ? 'none' : '1px solid var(--at-line)' }}
>
<div className="min-w-0 flex-1">
<div className="text-[13px] font-medium" style={{ color: 'var(--at-ink-2)' }}>{s.label}</div>
<div className="text-[11px]" style={{ color: 'var(--at-mute)' }}>{s.desc}</div>
</div>
<button
disabled={xu < s.amt}
className="px-2.5 py-1 rounded-lg text-[11.5px] flex-shrink-0 inline-flex items-center gap-1 transition-opacity disabled:opacity-50"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)', color: 'var(--at-ink-2)', fontWeight: 600 }}
>
{s.amt} <Coin size={11} />
</button>
</div>
))}
</div>
{/* Leaderboard */}
<div
className="rounded-2xl overflow-hidden"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
>
<div className="flex justify-between items-center px-5 py-4" style={{ borderBottom: '1px solid var(--at-line)' }}>
<div>
<div className="at-serif text-[20px] tracking-tight" style={{ color: 'var(--at-ink)', fontWeight: 500 }}>
Bảng xếp hạng <i style={{ color: 'var(--at-brand)', fontStyle: 'italic' }}>tuần</i>
</div>
<div className="text-xs mt-0.5" style={{ color: 'var(--at-mute)' }}>Top học viên tuần này</div>
</div>
<span className="at-chip at-chip-brand" style={{ fontSize: 10.5 }}>
<span className="at-chip-dot" />
Top tuần này
</span>
</div>
<div
className="grid px-5 py-2.5 text-[10px]"
style={{
gridTemplateColumns: '60px 1fr auto',
gap: 12,
background: 'var(--at-paper-2)',
fontWeight: 700,
color: 'var(--at-mute)',
letterSpacing: '0.12em',
textTransform: 'uppercase',
}}
>
<span>Hạng</span>
<span>Người học</span>
<span>XP tuần</span>
</div>
{board.length === 0 ? (
<div className="px-5 py-8 text-center text-sm" style={{ color: 'var(--at-mute)' }}>
Chưa ai trên bảng xếp hạng tuần này.
</div>
) : (
board.map((p) => {
const rankColors: Record<number, string> = { 1: '#F5B94A', 2: '#BFC5CC', 3: '#C8844A' }
const rc = rankColors[p.rank]
return (
<div
key={p.rank}
className="grid items-center px-5 py-3.5"
style={{
gridTemplateColumns: '60px 1fr auto',
gap: 12,
borderTop: '1px solid var(--at-line)',
background: p.you ? 'color-mix(in oklab, var(--at-brand) 6%, transparent)' : 'transparent',
}}
>
<div
className="w-7 h-7 rounded-full grid place-items-center at-serif"
style={{
background: rc ? `color-mix(in oklab, ${rc} 25%, var(--at-paper-2))` : 'var(--at-paper-2)',
border: rc ? `1px solid ${rc}` : '1px solid var(--at-line)',
color: rc ? 'var(--at-ink)' : 'var(--at-mute)',
fontSize: 14,
fontWeight: 500,
}}
>
{p.rank}
</div>
<div className="flex items-center gap-2.5 min-w-0">
<div
className="w-8 h-8 rounded-full grid place-items-center text-[13px] font-bold flex-shrink-0"
style={{ background: p.you ? 'var(--at-brand)' : 'var(--at-ink-2)', color: 'var(--at-paper)' }}
>
{p.avatar}
</div>
<div className="min-w-0 overflow-hidden text-ellipsis whitespace-nowrap">
<span
className="text-[13.5px]"
style={{ fontWeight: p.you ? 700 : 500, color: p.you ? 'var(--at-brand)' : 'var(--at-ink)' }}
>
{p.name}
</span>
</div>
</div>
<div className="at-serif" style={{ fontSize: 17, fontWeight: 400, letterSpacing: '-0.01em' }}>
{p.xp}
<span className="italic ml-1" style={{ fontSize: 11, color: 'var(--at-mute)', fontWeight: 400 }}>XP</span>
</div>
</div>
)
})
)}
</div>
</div>
<Link
to="/toeic"
className="fixed bottom-24 right-6 lg:bottom-8 lg:right-8 w-14 h-14 bg-blue-600 text-white rounded-2xl flex items-center justify-center shadow-2xl hover:scale-110 active:scale-95 transition-all z-40"
title="Học ngay"
>
<span className="material-symbols-outlined text-2xl">play_arrow</span>
</Link>
{/* Row 4 — Badges */}
<div className="rounded-2xl p-5" style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}>
<div className="flex justify-between items-baseline mb-4">
<div>
<div className="at-eyebrow mb-1">Huy hiệu</div>
<div className="at-serif text-[20px] tracking-tight" style={{ color: 'var(--at-ink)', fontWeight: 500 }}>
Thành tựu <i style={{ color: 'var(--at-brand)', fontStyle: 'italic' }}>đã mở</i>
</div>
</div>
<span className="text-xs" style={{ color: 'var(--at-mute)' }}>
<b style={{ color: 'var(--at-ink)' }}>{BADGES.filter((b) => b.earned).length}</b> / {BADGES.length} mở khoá
</span>
</div>
<div className="grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-3.5">
{BADGES.map((b) => (
<div
key={b.id}
className="p-4 rounded-2xl relative"
style={{
background: b.earned ? 'var(--at-surface)' : 'var(--at-paper-2)',
border: '1px solid var(--at-line)',
opacity: b.earned ? 1 : 0.72,
}}
>
<div
className="w-12 h-12 rounded-xl grid place-items-center mb-3"
style={{
background: b.earned ? `color-mix(in oklab, ${b.color} 16%, transparent)` : 'var(--at-line-2)',
color: b.earned ? b.color : 'var(--at-mute-2)',
}}
>
<span className="material-symbols-outlined" style={{ fontSize: 22 }}>{b.icon}</span>
</div>
<div
className="at-serif mb-1"
style={{ fontSize: 16, fontWeight: 500, letterSpacing: '-0.01em', color: 'var(--at-ink)' }}
>
{b.name}
</div>
<div className="text-[11.5px] leading-[1.4] mb-2" style={{ color: 'var(--at-mute)' }}>{b.desc}</div>
{b.earned ? (
<span className="at-chip at-chip-good" style={{ fontSize: 10 }}>
<span className="at-chip-dot" />
Đã mở
</span>
) : (
<div>
<div className="at-bar" style={{ height: 4, marginBottom: 4 }}>
<span style={{ width: `${b.progress ?? 0}%`, background: b.color }} />
</div>
<span className="text-[10.5px] font-semibold" style={{ color: 'var(--at-mute)' }}>
{b.progress ?? 0}% tiến đ
</span>
</div>
)}
</div>
))}
</div>
</div>
</div>
)
}
function LevelRing({ value, xpInto, xpGoal }: { value: number; xpInto: number; xpGoal: number }) {
const r = 80
const c = 2 * Math.PI * r
const offset = c - (value / 100) * c
return (
<div className="relative grid place-items-center" style={{ width: 180, height: 180 }}>
<svg width="180" height="180">
<circle cx="90" cy="90" r={r} fill="none" stroke="var(--at-line-2)" strokeWidth="10" />
<circle
cx="90"
cy="90"
r={r}
fill="none"
stroke="var(--at-brand)"
strokeWidth="10"
strokeDasharray={c}
strokeDashoffset={offset}
strokeLinecap="round"
transform="rotate(-90 90 90)"
style={{ transition: 'stroke-dashoffset 0.6s cubic-bezier(0.2, 0.7, 0.2, 1)' }}
/>
</svg>
<div className="absolute text-center">
<div className="at-serif" style={{ fontSize: 40, fontWeight: 400, letterSpacing: '-0.02em', lineHeight: 1, color: 'var(--at-ink)' }}>
{value}%
</div>
<div style={{ fontSize: 10.5, color: 'var(--at-mute)', marginTop: 4, fontWeight: 600, letterSpacing: '0.1em' }}>
{xpInto} / {xpGoal} XP
</div>
</div>
</div>
)
}

View File

@@ -1,102 +0,0 @@
import { cn } from '@/lib/utils'
import { useAuthStore } from '@/store/auth-store'
import { useLeaderboard } from '@/hooks/use-gamification'
function RankBadge({ rank }: { rank: number }) {
return (
<div className={cn(
'w-8 h-8 flex items-center justify-center font-bold rounded-full text-xs',
rank === 1 ? 'bg-amber-200 text-amber-800' :
rank === 2 ? 'bg-slate-200 text-slate-700' :
rank === 3 ? 'bg-orange-200 text-orange-700' :
'bg-slate-100 text-slate-600',
)}>
{rank}
</div>
)
}
function initials(name: string) {
return name.split(' ').map((w) => w[0]).slice(-2).join('').toUpperCase()
}
export function LeaderboardCard() {
const user = useAuthStore((s) => s.user)
const { data: rows, isLoading } = useLeaderboard()
return (
<div className="lg:col-span-8 bg-white p-6 rounded-xl shadow-sm">
<div className="flex items-center justify-between mb-5">
<h3 className="text-base font-bold text-slate-800">Bảng xếp hạng tuần</h3>
<span className="px-3 py-1 bg-blue-600 text-white rounded-full text-xs font-bold">Top tuần này</span>
</div>
{isLoading && (
<div className="space-y-2">
{[1, 2, 3].map((i) => (
<div key={i} className="h-12 bg-slate-100 rounded-xl animate-pulse" />
))}
</div>
)}
{!isLoading && (!rows || rows.length === 0) && (
<div className="text-center py-8 text-slate-400 text-sm">
<span className="material-symbols-outlined block mb-2 text-slate-300" style={{ fontSize: 40 }}>leaderboard</span>
Chưa dữ liệu tuần này. Hãy hoàn thành bài học đ xuất hiện trên bảng!
</div>
)}
{!isLoading && rows && rows.length > 0 && (
<table className="w-full text-left border-separate border-spacing-y-1.5">
<thead>
<tr className="text-[10px] font-bold uppercase tracking-widest text-slate-400">
<th className="pb-2 pl-4 w-16">Hạng</th>
<th className="pb-2">Người học</th>
<th className="pb-2 text-right pr-4">XP tuần</th>
</tr>
</thead>
<tbody>
{rows.map((row) => {
const isMe = row.userId === user?.id
return (
<tr
key={row.userId}
className={cn(
'transition-colors',
isMe
? 'bg-blue-50 outline outline-2 outline-blue-200 rounded-xl'
: 'bg-slate-50/60 hover:bg-slate-100',
)}
>
<td className="py-2.5 pl-4 rounded-l-xl">
<RankBadge rank={row.rank} />
</td>
<td className="py-2.5">
<div className="flex items-center gap-2.5">
<div className={cn(
'w-8 h-8 rounded-full flex items-center justify-center text-xs font-bold flex-shrink-0',
isMe
? 'bg-blue-600 text-white ring-2 ring-blue-300 ring-offset-1'
: 'bg-slate-200 text-slate-600',
)}>
{initials(row.displayName)}
</div>
<span className={cn('text-sm font-bold', isMe && 'text-blue-600')}>
{isMe ? `${row.displayName} (Bạn)` : row.displayName}
</span>
</div>
</td>
<td className="py-2.5 pr-4 text-right rounded-r-xl">
<span className={cn('text-sm font-bold', isMe ? 'text-blue-600' : 'text-slate-600')}>
{row.xpEarned.toLocaleString('vi-VN')} XP
</span>
</td>
</tr>
)
})}
</tbody>
</table>
)}
</div>
)
}

View File

@@ -1,71 +0,0 @@
import type { UserLevel } from '@/types'
import { calcNumericLevel } from './Dashboard'
const LEVEL_NAMES: Record<UserLevel, string> = {
beginner: 'Beginner',
bronze: 'Đồng',
silver: 'Bạc',
gold: 'Vàng',
master: 'Master',
}
interface Props {
xu: number
streak: number
xp: number
level: UserLevel
}
export function StatsRow({ xu, streak, xp, level }: Props) {
const numericLevel = calcNumericLevel(xp)
return (
<div className="grid grid-cols-1 md:grid-cols-3 gap-5 mb-6">
{/* Xu Balance */}
<div className="relative overflow-hidden bg-white p-6 rounded-xl shadow-sm group">
<div className="absolute -right-4 -top-4 w-24 h-24 bg-amber-100 rounded-full opacity-40 blur-2xl group-hover:opacity-60 transition-opacity" />
<span className="text-xs uppercase tracking-widest text-slate-400 font-bold">Số Xu</span>
<div className="flex items-center gap-3 mt-1">
<span className="text-4xl font-extrabold text-slate-800">{xu.toLocaleString('vi-VN')}</span>
<span className="material-symbols-outlined text-3xl text-amber-400" style={{ fontVariationSettings: "'FILL' 1" }}>
monetization_on
</span>
</div>
<p className="text-xs text-slate-400 mt-1.5 font-medium">Dùng đ mở tính năng premium</p>
</div>
{/* Streak */}
<div className="relative overflow-hidden bg-blue-600 p-6 rounded-xl shadow-sm">
<div className="absolute inset-0 bg-gradient-to-br from-blue-500 to-blue-700 opacity-90" />
<div className="relative z-10 text-white">
<span className="text-xs uppercase tracking-widest opacity-75 font-bold">Chuỗi học tập</span>
<div className="flex items-center gap-3 mt-1">
<span className="text-4xl font-extrabold">{streak} Ngày</span>
<span className="material-symbols-outlined text-3xl text-amber-300" style={{ fontVariationSettings: "'FILL' 1" }}>
local_fire_department
</span>
</div>
<p className="text-xs opacity-80 mt-1.5 font-medium">
{streak >= 7 ? 'Bạn thuộc top 5% người học!' : 'Giữ vững chuỗi học mỗi ngày nhé!'}
</p>
</div>
</div>
{/* Level */}
<div className="bg-white p-6 rounded-xl shadow-sm flex items-center justify-between">
<div>
<span className="text-xs uppercase tracking-widest text-slate-400 font-bold">Cấp đ</span>
<div className="flex items-center gap-2 mt-1">
<span className="text-4xl font-extrabold text-slate-800">Level {numericLevel}</span>
</div>
<span className="inline-block mt-2 px-3 py-1 bg-amber-50 text-amber-600 text-xs font-bold rounded-full border border-amber-200">
Hạng {LEVEL_NAMES[level]}
</span>
</div>
<div className="w-14 h-14 bg-slate-100 flex items-center justify-center rounded-2xl rotate-12 flex-shrink-0">
<span className="material-symbols-outlined text-blue-600 text-3xl">military_tech</span>
</div>
</div>
</div>
)
}

View File

@@ -1,90 +0,0 @@
import { cn } from '@/lib/utils'
interface Props {
streak: number
lastActive: string | null
weeklyCompleted: number
}
const WEEKLY_GOAL = 5
const DAY_LABELS = ['Th 2', 'Th 3', 'Th 4', 'Th 5', 'Th 6', 'Th 7', 'CN']
function getTodayIdx() {
const d = new Date().getDay() // 0=Sun
return d === 0 ? 6 : d - 1 // Mon=0 … Sun=6
}
// Derive which days were active this week from streak + lastActive
function getWeekActivity(streak: number, lastActive: string | null): boolean[] {
const todayIdx = getTodayIdx()
const activity = Array(7).fill(false)
if (!lastActive) return activity
const today = new Date().toISOString().split('T')[0]
const isActiveToday = lastActive === today
// Mark past days as done based on streak length (up to but not including today)
const doneDays = isActiveToday ? Math.min(todayIdx, streak - 1) : Math.min(todayIdx, streak)
for (let i = todayIdx - doneDays; i < todayIdx; i++) {
if (i >= 0) activity[i] = true
}
return activity
}
export function WeeklySection({ streak, lastActive, weeklyCompleted }: Props) {
const todayIdx = getTodayIdx()
const weekActivity = getWeekActivity(streak, lastActive)
const progressPct = Math.round((weeklyCompleted / WEEKLY_GOAL) * 100)
return (
<div className="lg:col-span-7 space-y-5">
{/* Weekly goal */}
<div className="bg-white p-6 rounded-xl shadow-sm">
<div className="flex justify-between items-end mb-3">
<div>
<h3 className="text-base font-bold text-slate-800">Mục tiêu tuần</h3>
<p className="text-xs text-slate-400">Hoàn thành {WEEKLY_GOAL} bài học mỗi tuần</p>
</div>
<span className="text-2xl font-black text-green-600">
{weeklyCompleted}/{WEEKLY_GOAL}
</span>
</div>
<div className="w-full h-3 bg-slate-100 rounded-full overflow-hidden">
<div
className="h-full bg-green-400 rounded-full transition-all duration-500"
style={{ width: `${progressPct}%` }}
/>
</div>
</div>
{/* Weekly heatmap */}
<div className="bg-white p-6 rounded-xl shadow-sm">
<h3 className="text-base font-bold text-slate-800 mb-5">Lịch sử rèn luyện</h3>
<div className="flex justify-between items-center">
{DAY_LABELS.map((label, i) => {
const isToday = i === todayIdx
const done = weekActivity[i]
const future = i > todayIdx
return (
<div key={label} className={cn('flex flex-col items-center gap-2.5', future && 'opacity-30')}>
<span className={cn('text-[10px] font-bold uppercase', isToday ? 'text-blue-600' : 'text-slate-400')}>
{isToday ? 'H.Nay' : label}
</span>
{isToday ? (
<div className="w-10 h-10 rounded-xl border-2 border-blue-600 border-dashed flex items-center justify-center">
<span className="material-symbols-outlined text-blue-600" style={{ fontSize: 18 }}>play_arrow</span>
</div>
) : done ? (
<div className="w-10 h-10 rounded-xl bg-green-200 flex items-center justify-center">
<span className="material-symbols-outlined text-green-700" style={{ fontSize: 18 }}>check</span>
</div>
) : (
<div className="w-10 h-10 rounded-xl bg-slate-100" />
)}
</div>
)
})}
</div>
</div>
</div>
)
}

View File

@@ -1,56 +0,0 @@
import { calcXpNextLevel, calcNumericLevel } from './Dashboard'
interface Props { xp: number }
function ProgressRing({ percent, xp, xpNext }: { percent: number; xp: number; xpNext: number }) {
const r = 72
const circ = 2 * Math.PI * r
const offset = circ - (percent / 100) * circ
return (
<div className="relative w-44 h-44">
<svg className="w-full h-full -rotate-90" viewBox="0 0 160 160">
<circle cx="80" cy="80" r={r} fill="transparent" stroke="#e8eaed" strokeWidth="12" />
<circle
cx="80" cy="80" r={r}
fill="transparent"
stroke="#2563eb"
strokeWidth="12"
strokeDasharray={circ}
strokeDashoffset={offset}
strokeLinecap="round"
className="transition-all duration-700"
/>
</svg>
<div className="absolute inset-0 flex flex-col items-center justify-center">
<span className="text-3xl font-extrabold text-slate-800">{percent}%</span>
<span className="text-[10px] text-slate-400 font-bold mt-0.5">
{xp.toLocaleString()} / {xpNext.toLocaleString()} XP
</span>
</div>
</div>
)
}
export function XpProgressCard({ xp }: Props) {
const xpNext = calcXpNextLevel(xp)
const levelXpStart = Math.floor(xp / 100) * 100
const percent = Math.round(((xp - levelXpStart) / (xpNext - levelXpStart)) * 100)
const nextLevel = calcNumericLevel(xp) + 1
return (
<div className="lg:col-span-5 bg-white p-6 rounded-xl shadow-sm flex flex-col items-center justify-center text-center">
<h3 className="text-base font-bold mb-5 self-start text-slate-800">Tiến đ Cấp đ</h3>
<ProgressRing percent={percent} xp={xp} xpNext={xpNext} />
<p className="text-sm text-slate-400 font-medium mt-4">
Chỉ còn {(xpNext - xp).toLocaleString()} XP nữa đ đt Level {nextLevel}!
</p>
<button className="mt-5 w-full py-2.5 bg-slate-100 hover:bg-slate-200 transition-colors rounded-xl font-bold text-sm text-blue-600">
Xem nhiệm vụ XP
</button>
</div>
)
}

View File

@@ -1,46 +0,0 @@
const EARN_ITEMS = [
{ label: 'Mục tiêu ngày', reward: '+10 xu' },
{ label: 'Mốc chuỗi (Streak)', reward: '+20 xu' },
{ label: 'Xem quảng cáo', reward: '+5 xu' },
]
const SPEND_ITEMS = [
{ label: 'Streak Freeze', cost: '20 xu' },
{ label: 'AI Writing Feedback', cost: '30 xu' },
]
export function XuEconomyCard() {
return (
<div className="lg:col-span-4 bg-white p-6 rounded-xl shadow-sm">
<h3 className="text-base font-bold text-slate-800 mb-5">Cửa hàng Xu</h3>
<div className="space-y-5">
{/* Earn */}
<div>
<span className="text-xs text-green-600 font-bold uppercase tracking-wider block mb-2.5">Kiếm Xu</span>
<div className="space-y-2">
{EARN_ITEMS.map((item) => (
<div key={item.label} className="flex items-center justify-between p-3 bg-slate-50 rounded-lg">
<span className="text-sm font-medium text-slate-700">{item.label}</span>
<span className="text-sm font-bold text-amber-600">{item.reward}</span>
</div>
))}
</div>
</div>
{/* Spend */}
<div>
<span className="text-xs text-red-500 font-bold uppercase tracking-wider block mb-2.5">Tiêu Xu</span>
<div className="space-y-2">
{SPEND_ITEMS.map((item) => (
<div key={item.label} className="flex items-center justify-between p-3 bg-slate-50 rounded-lg opacity-80">
<span className="text-sm font-medium text-slate-700">{item.label}</span>
<span className="text-sm font-bold text-slate-400">{item.cost}</span>
</div>
))}
</div>
</div>
</div>
</div>
)
}

View File

@@ -0,0 +1,154 @@
import { supabase } from '@/lib/supabase'
import { EASE, computeNextReview, statusFor, type EaseKey } from '../lib/srs-intervals'
export interface FlashcardList {
id: number
title: string
description: string | null
total_words: number
is_public: boolean
created_by: string | null
created_at: string
// aggregated from user progress
count_new?: number
count_learning?: number
count_known?: number
progress_pct?: number
}
export interface FlashcardTerm {
id: number
list_id: number
word: string
part_of_speech: string | null
phonetic: string | null
definition: string | null
example: string | null
image_url: string | null
audio_tts_text: string | null
audio_lang: string | null
display_order: number
}
export interface UserProgress {
id: number
user_id: string
term_id: number
list_id: number
status: 'new' | 'learning' | 'known' | 'ignored'
ease_factor: number
review_count: number
last_reviewed_at: string | null
next_review_at: string | null
}
/** Fetch all public flashcard lists with term counts */
export async function fetchFlashcardLists(): Promise<FlashcardList[]> {
const { data, error } = await supabase
.from('flashcard_list')
.select('id, title, description, total_words, is_public, created_by, created_at')
.order('created_at', { ascending: false })
if (error) throw error
return data ?? []
}
/** Fetch all terms for a flashcard list */
export async function fetchFlashcardTerms(listId: number): Promise<FlashcardTerm[]> {
const { data, error } = await supabase
.from('flashcard_term')
.select('id, list_id, word, part_of_speech, phonetic, definition, example, image_url, audio_tts_text, audio_lang, display_order')
.eq('list_id', listId)
.order('display_order', { ascending: true })
if (error) throw error
return data ?? []
}
/** Fetch user progress for all terms in a list */
export async function fetchUserProgress(userId: string, listId: number): Promise<UserProgress[]> {
const { data, error } = await supabase
.from('user_flashcard_progress')
.select('id, user_id, term_id, list_id, status, ease_factor, review_count, last_reviewed_at, next_review_at')
.eq('user_id', userId)
.eq('list_id', listId)
if (error) throw error
return data ?? []
}
/** Upsert user progress for a term. Increments review_count, writes next_review_at via interval ladder. */
export async function upsertTermProgress(
userId: string,
termId: number,
listId: number,
easeKey: EaseKey,
currentReviewCount: number,
): Promise<void> {
const now = new Date().toISOString()
const nextReview = computeNextReview(easeKey, currentReviewCount)
const { error } = await supabase
.from('user_flashcard_progress')
.upsert(
{
user_id: userId,
term_id: termId,
list_id: listId,
status: statusFor(easeKey),
ease_factor: EASE[easeKey],
review_count: currentReviewCount + 1,
last_reviewed_at: now,
next_review_at: nextReview,
},
{ onConflict: 'user_id,term_id,list_id' },
)
if (error) console.error('upsertTermProgress failed:', error.message)
}
export interface LearnSession {
id: number
user_id: string
list_id: number
started_at: string
}
export async function startSession(userId: string, listId: number): Promise<LearnSession> {
const { data, error } = await supabase
.from('user_flashcard_session')
.insert({ user_id: userId, list_id: listId })
.select('id, user_id, list_id, started_at')
.single()
if (error) throw error
return data as LearnSession
}
export async function endSession(
sessionId: number,
termsReviewed: number,
termsNew: number,
): Promise<void> {
const { error } = await supabase
.from('user_flashcard_session')
.update({
ended_at: new Date().toISOString(),
terms_reviewed: termsReviewed,
terms_new: termsNew,
})
.eq('id', sessionId)
if (error) console.error('endSession failed:', error.message)
}
export async function logReview(
sessionId: number,
userId: string,
termId: number,
actionValue: number,
): Promise<void> {
const { error } = await supabase
.from('user_flashcard_review_log')
.insert({
session_id: sessionId,
user_id: userId,
term_id: termId,
action_value: actionValue,
})
if (error) console.error('logReview failed:', error.message)
}

View File

@@ -0,0 +1,604 @@
import { useState, useCallback, useEffect, useRef, useMemo } from 'react'
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'
import { useNavigate } from '@tanstack/react-router'
import { cn } from '@/lib/utils'
import { useAuthStore } from '@/store/auth-store'
import {
fetchFlashcardTerms,
fetchUserProgress,
upsertTermProgress,
startSession,
endSession,
logReview,
fetchFlashcardLists,
} from '../api/flashcard-api'
import type { FlashcardTerm, UserProgress } from '../api/flashcard-api'
import { EASE, type EaseKey } from '../lib/srs-intervals'
interface Props {
listId: number
}
type SessionStats = { known: number; learning: number; ignored: number }
function speak(word: string) {
try {
const u = new SpeechSynthesisUtterance(word)
u.lang = 'en-US'
u.rate = 0.9
speechSynthesis.cancel()
speechSynthesis.speak(u)
} catch { /* noop */ }
}
export function FlashCardLearnPage({ listId }: Props) {
const navigate = useNavigate()
const user = useAuthStore(s => s.user)
const queryClient = useQueryClient()
const [isFlipped, setIsFlipped] = useState(false)
const [currentIdx, setCurrentIdx] = useState(0)
const [sessionStats, setSessionStats] = useState<SessionStats>({ known: 0, learning: 0, ignored: 0 })
const [isDone, setIsDone] = useState(false)
const [fx, setFx] = useState<'known' | 'review' | null>(null)
// Bookmarks — per-list, persisted in localStorage
const bookmarkKey = `flashcard-bookmarks-${listId}`
const [bookmarks, setBookmarks] = useState<Set<number>>(() => {
try {
const raw = localStorage.getItem(bookmarkKey)
return raw ? new Set<number>(JSON.parse(raw)) : new Set()
} catch { return new Set() }
})
const toggleBookmark = useCallback((termId: number) => {
setBookmarks(prev => {
const next = new Set(prev)
if (next.has(termId)) next.delete(termId)
else next.add(termId)
try { localStorage.setItem(bookmarkKey, JSON.stringify([...next])) } catch { /* noop */ }
return next
})
}, [bookmarkKey])
// Refs for unmount cleanup so effects see fresh values
const sessionIdRef = useRef<number | null>(null)
const statsRef = useRef<SessionStats>(sessionStats)
const isDoneRef = useRef(false)
const newTermIdsAtStartRef = useRef<Set<number>>(new Set())
const answeredNewIdsRef = useRef<Set<number>>(new Set())
useEffect(() => { statsRef.current = sessionStats }, [sessionStats])
useEffect(() => { isDoneRef.current = isDone }, [isDone])
const { data: terms = [], isLoading: loadingTerms } = useQuery({
queryKey: ['flashcard-terms', listId],
queryFn: () => fetchFlashcardTerms(listId),
})
const { data: lists = [] } = useQuery({
queryKey: ['flashcard-lists'],
queryFn: fetchFlashcardLists,
staleTime: 5 * 60 * 1000,
})
const currentList = lists.find(l => l.id === listId)
const { data: progress = [] } = useQuery({
queryKey: ['flashcard-progress', user?.id, listId],
queryFn: () => fetchUserProgress(user!.id, listId),
enabled: !!user,
})
const progressMap = useMemo(() => {
const m: Record<number, UserProgress> = {}
progress.forEach(p => { m[p.term_id] = p })
return m
}, [progress])
// Session term ordering: prioritise due-for-review, then new, then known
const sessionTerms: FlashcardTerm[] = useMemo(() => {
if (!terms.length) return []
const now = Date.now()
const due: FlashcardTerm[] = []
const fresh: FlashcardTerm[] = []
const known: FlashcardTerm[] = []
for (const t of terms) {
const p = progressMap[t.id]
if (p?.status === 'ignored') continue
if (!p) { fresh.push(t); continue }
if (!p.next_review_at) { fresh.push(t); continue }
if (new Date(p.next_review_at).getTime() <= now) { due.push(t); continue }
if (p.status === 'known') known.push(t)
else fresh.push(t)
}
return [...due, ...fresh, ...known]
}, [terms, progressMap])
// Snapshot "new" term IDs at session start (runs once when data is loaded)
useEffect(() => {
if (newTermIdsAtStartRef.current.size === 0 && terms.length > 0) {
const newIds = new Set<number>()
for (const t of terms) {
const s = progressMap[t.id]?.status ?? 'new'
if (s === 'new') newIds.add(t.id)
}
newTermIdsAtStartRef.current = newIds
}
}, [terms, progressMap])
// Start session on mount (guarded against StrictMode double-invoke)
useEffect(() => {
if (!user || sessionIdRef.current !== null) return
let cancelled = false
startSession(user.id, listId)
.then(s => { if (!cancelled) sessionIdRef.current = s.id })
.catch(err => console.error('startSession failed:', err))
return () => { cancelled = true }
}, [user, listId])
// End session on unmount (if not already ended via done-screen effect)
useEffect(() => {
return () => {
const sid = sessionIdRef.current
if (sid === null || isDoneRef.current) return
const s = statsRef.current
const reviewed = s.known + s.learning + s.ignored
endSession(sid, reviewed, answeredNewIdsRef.current.size)
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [])
// End session when reaching done screen
useEffect(() => {
if (!isDone) return
const sid = sessionIdRef.current
if (sid === null) return
const s = statsRef.current
const reviewed = s.known + s.learning + s.ignored
endSession(sid, reviewed, answeredNewIdsRef.current.size)
}, [isDone])
const { mutate: saveAnswer } = useMutation({
mutationFn: async ({ termId, easeKey, reviewCount }: {
termId: number
easeKey: EaseKey
reviewCount: number
}) => {
if (!user) return
const sid = sessionIdRef.current
await Promise.all([
upsertTermProgress(user.id, termId, listId, easeKey, reviewCount),
sid !== null ? logReview(sid, user.id, termId, EASE[easeKey]) : Promise.resolve(),
])
},
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['flashcard-progress', user?.id, listId] })
},
})
const advance = useCallback(() => {
if (currentIdx + 1 >= sessionTerms.length) {
setIsDone(true)
} else {
setCurrentIdx(i => i + 1)
setIsFlipped(false)
}
setFx(null)
}, [currentIdx, sessionTerms.length])
const handleAnswer = useCallback((key: EaseKey) => {
const term = sessionTerms[currentIdx]
if (!term || !user) return
const currentProgress = progressMap[term.id]
const reviewCount = currentProgress?.review_count ?? 0
saveAnswer({ termId: term.id, easeKey: key, reviewCount })
if (newTermIdsAtStartRef.current.has(term.id)) {
answeredNewIdsRef.current.add(term.id)
}
setSessionStats(prev => ({
known: prev.known + (key === 'known' ? 1 : 0),
learning: prev.learning + (key === 'easy' || key === 'hard' ? 1 : 0),
ignored: prev.ignored + (key === 'ignored' ? 1 : 0),
}))
// Visual feedback: known swipes right, hard/ignored swipes left
if (key === 'known' || key === 'easy') {
setFx('known')
} else {
setFx('review')
}
setTimeout(advance, 450)
}, [currentIdx, sessionTerms, user, saveAnswer, progressMap, advance])
// Keyboard shortcuts
useEffect(() => {
function onKey(e: KeyboardEvent) {
if (isDone || !sessionTerms[currentIdx]) return
if (e.key === ' ' || e.key === 'Enter') {
e.preventDefault()
setIsFlipped(v => !v)
return
}
if (!isFlipped) return
if (e.key.toLowerCase() === 'j') handleAnswer('known')
else if (e.key.toLowerCase() === 'k') handleAnswer('hard')
else if (e.key.toLowerCase() === 'i') handleAnswer('ignored')
}
window.addEventListener('keydown', onKey)
return () => window.removeEventListener('keydown', onKey)
}, [isDone, isFlipped, currentIdx, sessionTerms, handleAnswer])
const total = sessionTerms.length
const progressPct = total > 0 ? Math.round((currentIdx / total) * 100) : 0
const current = sessionTerms[currentIdx]
if (loadingTerms) {
return (
<div className="atelier flex items-center justify-center min-h-screen">
<div className="w-8 h-8 border-2 border-[var(--at-line)] border-t-[var(--at-accent)] rounded-full animate-spin" />
</div>
)
}
if (sessionTerms.length === 0) {
return (
<div className="atelier flex flex-col items-center justify-center min-h-screen gap-4 px-4">
<div className="at-serif text-5xl italic text-[var(--at-mute-2)]">All clear.</div>
<p className="text-[var(--at-mute)] text-center max-w-sm">
Không thẻ nào cần học ngay bây giờ. Quay lại sau khi đến lịch ôn tập.
</p>
<button
onClick={() => navigate({ to: '/flash-card/$listId', params: { listId: String(listId) } })}
className="mt-4 px-6 py-2.5 bg-[var(--at-ink)] text-[var(--at-paper)] rounded-xl text-sm font-semibold hover:opacity-90 transition"
>
Quay lại danh sách
</button>
</div>
)
}
if (isDone) {
return (
<div className="atelier flex flex-col items-center justify-center min-h-screen gap-8 px-4">
<div className="text-center">
<div className="at-serif italic text-[var(--at-accent)] text-6xl mb-4">Bravo.</div>
<h2 className="at-serif text-3xl tracking-tight text-[var(--at-ink)] mb-2">Hoàn thành phiên học</h2>
<p className="text-[var(--at-mute)]">Bạn đã ôn xong {total} thẻ trong phiên này</p>
</div>
<div className="flex gap-3">
<div className="px-5 py-3 rounded-2xl border border-[var(--at-line)] bg-white text-center min-w-[88px]">
<div className="at-serif text-3xl text-[var(--at-good)]">{sessionStats.known}</div>
<div className="text-[10px] uppercase tracking-widest text-[var(--at-mute)] mt-1">Đã biết</div>
</div>
<div className="px-5 py-3 rounded-2xl border border-[var(--at-line)] bg-white text-center min-w-[88px]">
<div className="at-serif text-3xl text-[var(--at-accent)]">{sessionStats.learning}</div>
<div className="text-[10px] uppercase tracking-widest text-[var(--at-mute)] mt-1">Đang học</div>
</div>
<div className="px-5 py-3 rounded-2xl border border-[var(--at-line)] bg-white text-center min-w-[88px]">
<div className="at-serif text-3xl text-[var(--at-mute-2)]">{sessionStats.ignored}</div>
<div className="text-[10px] uppercase tracking-widest text-[var(--at-mute)] mt-1">Bỏ qua</div>
</div>
</div>
<div className="flex gap-3">
<button
onClick={() => {
setCurrentIdx(0)
setIsFlipped(false)
setIsDone(false)
setSessionStats({ known: 0, learning: 0, ignored: 0 })
sessionIdRef.current = null
answeredNewIdsRef.current = new Set()
newTermIdsAtStartRef.current = new Set()
if (user) startSession(user.id, listId).then(s => { sessionIdRef.current = s.id })
}}
className="px-5 py-2.5 bg-[var(--at-ink)] text-[var(--at-paper)] rounded-xl text-sm font-semibold hover:opacity-90 transition"
>
Học lại
</button>
<button
onClick={() => navigate({ to: '/flash-card/$listId', params: { listId: String(listId) } })}
className="px-5 py-2.5 border border-[var(--at-line)] text-[var(--at-ink-2)] rounded-xl text-sm font-semibold bg-white hover:border-[var(--at-ink)] transition"
>
Xem danh sách
</button>
</div>
</div>
)
}
// Jump to a specific card in the deck (no progress write — just navigate)
const jumpTo = (idx: number) => {
setCurrentIdx(idx)
setIsFlipped(false)
}
return (
<div
className="atelier fixed top-16 right-0 left-0 lg:left-60 bottom-20 lg:bottom-0 flex flex-col px-4 lg:px-6 py-3 overflow-hidden"
style={{ background: 'var(--at-paper)' }}
>
{/* Header row: breadcrumb + serif title on left, actions on right */}
<div className="flex items-end justify-between gap-4 mb-4 flex-shrink-0 min-w-0">
<div className="min-w-0">
<div className="flex items-center gap-2 mb-1 text-[13px]" style={{ color: 'var(--at-mute)' }}>
<button
onClick={() => navigate({ to: '/flash-card' })}
className="hover:text-[var(--at-ink)] transition-colors"
>
Chủ đ
</button>
<span>/</span>
<button
onClick={() => navigate({ to: '/flash-card/$listId', params: { listId: String(listId) } })}
className="hover:text-[var(--at-ink)] transition-colors truncate"
style={{ color: 'var(--at-ink-2)' }}
>
{currentList?.title ?? 'Bộ thẻ'}
</button>
</div>
<h1
className="at-serif tracking-tight"
style={{ fontSize: 40, fontWeight: 400, letterSpacing: '-0.025em', lineHeight: 1.05, color: 'var(--at-ink)' }}
>
Thẻ <i style={{ fontStyle: 'italic', color: 'var(--at-brand)' }}>{currentIdx + 1}</i>
<span className="at-serif italic" style={{ color: 'var(--at-mute-2)' }}> / {total}</span>
</h1>
</div>
<div className="flex gap-2 flex-shrink-0">
<button
onClick={() => navigate({ to: '/flash-card/$listId', params: { listId: String(listId) } })}
className="inline-flex items-center gap-2 px-4 py-2.5 rounded-xl text-[13px] font-semibold transition-colors hover:bg-[var(--at-line-2)]"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)', color: 'var(--at-ink-2)' }}
>
<span className="material-symbols-outlined" style={{ fontSize: 15 }}>arrow_back</span>
Danh sách
</button>
<button
onClick={() => current && toggleBookmark(current.id)}
disabled={!current}
className="inline-flex items-center gap-2 px-4 py-2.5 rounded-xl text-[13px] font-semibold transition-colors hover:bg-[var(--at-line-2)]"
style={{
background: current && bookmarks.has(current.id) ? 'var(--at-warm-soft)' : 'var(--at-surface)',
border: '1px solid ' + (current && bookmarks.has(current.id) ? 'var(--at-warm)' : 'var(--at-line)'),
color: current && bookmarks.has(current.id) ? 'var(--at-warm-ink)' : 'var(--at-ink-2)',
}}
>
<span
className="material-symbols-outlined"
style={{
fontSize: 15,
fontVariationSettings: current && bookmarks.has(current.id) ? "'FILL' 1" : "'FILL' 0",
}}
>
bookmark
</span>
Đánh dấu
</button>
</div>
</div>
{/* Body: card column + sidebar */}
<div
className="flex-1 min-h-0 lg:grid flex flex-col gap-5"
style={{ gridTemplateColumns: 'minmax(0, 1fr) 260px' }}
>
{/* Main: card + actions + progress */}
<div className="flex flex-col items-center justify-center min-h-0">
{/* Card */}
{current && (
<div className="at-card-outer" style={{ maxWidth: 420, flexShrink: 0 }}>
<div
className={cn('at-card', isFlipped && 'is-flipped', fx === 'known' && 'fx-known', fx === 'review' && 'fx-review')}
key={current.id}
onClick={() => setIsFlipped(v => !v)}
role="button"
tabIndex={0}
aria-label={isFlipped ? 'Lật để xem từ' : 'Lật để xem nghĩa'}
>
{/* FRONT */}
<div className="at-card-face" style={{ padding: '20px 24px' }}>
<div className="flex items-center justify-between">
<span className="at-chip">
<span className="at-chip-dot" />
{current.part_of_speech?.toUpperCase() ?? 'TỪ VỰNG'}
</span>
<button
onClick={(e) => { e.stopPropagation(); speak(current.audio_tts_text ?? current.word) }}
className="w-9 h-9 rounded-lg grid place-items-center text-[var(--at-mute)] hover:bg-[var(--at-accent-soft)] hover:text-[var(--at-accent)] transition"
aria-label="Phát âm"
>
<span className="material-symbols-outlined" style={{ fontSize: 20 }}>volume_up</span>
</button>
</div>
<div className="flex-1 flex flex-col justify-center">
<div className="at-word" style={{ fontSize: 'clamp(40px, 5vw, 60px)' }}>{current.word}</div>
{(current.phonetic || current.part_of_speech) && (
<div className="at-mono text-sm text-[var(--at-mute)] mt-3">
{current.phonetic}
{current.part_of_speech && (
<span className="at-serif italic text-[var(--at-mute-2)]"> · {current.part_of_speech}</span>
)}
</div>
)}
</div>
<div className="flex items-center justify-center gap-2 text-[11.5px] text-[var(--at-mute)]">
<span className="at-kbd">Space</span>
<span>đ lật thẻ</span>
</div>
</div>
{/* BACK */}
<div className="at-card-face at-card-back" style={{ padding: '20px 24px' }}>
<div className="flex items-center justify-between">
<span className="at-chip at-chip-mute">
<span className="at-chip-dot" />
NGHĨA
</span>
<button
onClick={(e) => { e.stopPropagation(); speak(current.audio_tts_text ?? current.word) }}
className="w-9 h-9 rounded-lg grid place-items-center text-[var(--at-mute)] hover:bg-[var(--at-accent-soft)] hover:text-[var(--at-accent)] transition"
aria-label="Phát âm"
>
<span className="material-symbols-outlined" style={{ fontSize: 20 }}>volume_up</span>
</button>
</div>
<div className="flex-1 flex flex-col justify-center gap-4">
<div className="at-meaning" style={{ fontSize: 22 }}>{current.definition ?? '—'}</div>
{current.example && (
<div className="at-example">
<div className="at-serif italic text-[14px] leading-[1.45] text-[var(--at-ink-2)]">
"{current.example}"
</div>
</div>
)}
</div>
<div className="flex items-center justify-center gap-2 text-[11.5px] text-[var(--at-mute)]">
<span className="at-kbd"></span>
<span>lật lại</span>
</div>
</div>
</div>
</div>
)}
{/* Actions */}
<div className="mt-4 w-full" style={{ maxWidth: 420 }}>
<div className={cn('flex items-stretch gap-2.5 w-full transition-opacity duration-300', !isFlipped && 'opacity-40 pointer-events-none')}>
<button onClick={() => handleAnswer('ignored')} disabled={!isFlipped} className="at-action" style={{ padding: '11px 14px', fontSize: 13 }}>
Bỏ qua <span className="at-kbd">I</span>
</button>
<button onClick={() => handleAnswer('hard')} disabled={!isFlipped} className="at-action at-action-review" style={{ padding: '11px 14px', fontSize: 13 }}>
Cần ôn <span className="at-kbd">K</span>
</button>
<button onClick={() => handleAnswer('known')} disabled={!isFlipped} className="at-action at-action-known" style={{ padding: '11px 14px', fontSize: 13 }}>
Đã thuộc
<span className="at-kbd" style={{ background: 'rgba(255,255,255,0.16)', color: 'rgba(255,255,255,0.9)', border: 'none' }}>J</span>
</button>
</div>
</div>
{/* Progress */}
<div className="mt-3 w-full" style={{ maxWidth: 420 }}>
<div className="flex items-baseline justify-between mb-1.5 text-[12px] text-[var(--at-mute)]">
<span>
<b className="text-[var(--at-ink)] tabular-nums">{currentIdx + 1}</b> / {total} ·{' '}
{sessionStats.known} biết · {sessionStats.learning} học · {sessionStats.ignored} bỏ
</span>
<span className="at-pct" style={{ fontSize: 18 }}>{progressPct}%</span>
</div>
<div className="at-progress-bar">
<span style={{ width: `${progressPct}%` }} />
</div>
</div>
</div>
{/* Right sidebar */}
<aside className="hidden lg:flex flex-col gap-3 min-h-0">
{/* Today stats */}
<div
className="rounded-2xl p-4 flex-shrink-0"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
>
<div className="at-eyebrow mb-2" style={{ fontSize: 11 }}>Hôm nay</div>
<div className="grid grid-cols-2 gap-3 mt-1">
<div>
<div style={{ fontSize: 10, color: 'var(--at-mute)', textTransform: 'uppercase', fontWeight: 600, letterSpacing: '0.12em' }}>
Đã học
</div>
<div
className="at-serif"
style={{ fontSize: 26, fontWeight: 400, letterSpacing: '-0.02em', lineHeight: 1.1, color: 'var(--at-ink)' }}
>
{sessionStats.known + sessionStats.learning + sessionStats.ignored}
</div>
</div>
<div>
<div style={{ fontSize: 10, color: 'var(--at-mute)', textTransform: 'uppercase', fontWeight: 600, letterSpacing: '0.12em' }}>
Đúng
</div>
<div
className="at-serif"
style={{ fontSize: 26, fontWeight: 400, letterSpacing: '-0.02em', lineHeight: 1.1, color: 'var(--at-good)' }}
>
{sessionStats.known}
</div>
</div>
</div>
</div>
{/* Cards in deck — compact rows (word only) */}
<div
className="rounded-2xl p-3 flex flex-col"
style={{
background: 'var(--at-surface)',
border: '1px solid var(--at-line)',
maxHeight: 'calc((100vh - 4rem) / 2)',
}}
>
<div className="at-eyebrow mb-2 px-1" style={{ fontSize: 11 }}>Trong bộ này</div>
<div className="flex-1 min-h-0 overflow-y-auto -mx-1 px-1">
{sessionTerms.map((t, i) => {
const p = progressMap[t.id]
const isActive = i === currentIdx
const isKnown = p?.status === 'known'
const isBookmarked = bookmarks.has(t.id)
return (
<button
key={t.id}
onClick={() => jumpTo(i)}
className="w-full flex items-center gap-2.5 px-3 py-2.5 rounded-lg text-left transition-colors"
style={{
background: isActive ? 'var(--at-brand-soft)' : 'transparent',
borderTop: i === 0 || isActive ? 'none' : '1px solid var(--at-line)',
}}
>
<span
className="at-serif italic flex-shrink-0 text-center"
style={{ fontSize: 13, color: 'var(--at-mute)', width: 20 }}
>
{i + 1}
</span>
<div className="flex-1 min-w-0">
<div
className="text-[13px] font-bold truncate"
style={{ color: isActive ? 'var(--at-brand-ink)' : 'var(--at-ink)' }}
>
{t.word}
</div>
<div
className="text-[11.5px] truncate mt-0.5"
style={{ color: 'var(--at-mute)' }}
>
{t.definition ?? '—'}
</div>
</div>
{isBookmarked && (
<span
className="material-symbols-outlined flex-shrink-0"
style={{ fontSize: 13, color: 'var(--at-warm)', fontVariationSettings: "'FILL' 1" }}
>
bookmark
</span>
)}
{isKnown && (
<span className="material-symbols-outlined flex-shrink-0" style={{ fontSize: 14, color: 'var(--at-good)' }}>
check
</span>
)}
</button>
)
})}
</div>
</div>
</aside>
</div>
</div>
)
}

View File

@@ -0,0 +1,178 @@
import { useQuery } from '@tanstack/react-query'
import { useNavigate } from '@tanstack/react-router'
import { fetchFlashcardLists } from '../api/flashcard-api'
import { useAuthStore } from '@/store/auth-store'
import { fetchUserProgress } from '../api/flashcard-api'
import type { FlashcardList } from '../api/flashcard-api'
function ListCard({ list, userId }: { list: FlashcardList; userId: string | null }) {
const navigate = useNavigate()
const { data: progress = [] } = useQuery({
queryKey: ['flashcard-progress', userId, list.id],
queryFn: () => fetchUserProgress(userId!, list.id),
enabled: !!userId,
})
const countLearning = progress.filter(p => p.status === 'learning').length
const countKnown = progress.filter(p => p.status === 'known').length
const progressPct = list.total_words > 0
? Math.round(((countLearning + countKnown) / list.total_words) * 100)
: 0
return (
<div
className="rounded-2xl p-6 flex flex-col transition-all hover:-translate-y-1"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
>
<div className="flex justify-between items-start mb-4">
<div className="flex items-center gap-3">
<div
className="w-11 h-11 rounded-xl grid place-items-center flex-shrink-0 at-serif italic"
style={{ background: 'var(--at-ink)', color: 'var(--at-paper)', fontSize: 18, fontWeight: 500 }}
>
{list.title.charAt(0).toUpperCase()}
</div>
<div className="min-w-0">
<h3
className="at-serif text-[17px] leading-[1.2] tracking-tight line-clamp-2"
style={{ color: 'var(--at-ink)', fontWeight: 500 }}
>
{list.title}
</h3>
<div className="flex items-center gap-1.5 mt-1">
<span className="material-symbols-outlined" style={{ fontSize: 13, color: 'var(--at-mute)' }}>book</span>
<span className="text-xs font-medium" style={{ color: 'var(--at-mute)' }}>
{list.total_words} từ
</span>
</div>
</div>
</div>
<span className={`at-chip ${list.is_public ? 'at-chip-brand' : ''}`}>
<span className="at-chip-dot" />
{list.is_public ? 'Công khai' : 'Riêng tư'}
</span>
</div>
{list.description && (
<p className="text-xs leading-[1.5] mb-4 line-clamp-2" style={{ color: 'var(--at-mute)' }}>
{list.description}
</p>
)}
<div className="mt-2 mb-4">
<div className="flex justify-between items-baseline mb-2">
<span className="at-eyebrow" style={{ fontSize: 10 }}>Tiến đ</span>
<span
className="at-serif italic"
style={{ fontSize: 18, color: 'var(--at-brand)', letterSpacing: '-0.02em', lineHeight: 1 }}
>
{progressPct}%
</span>
</div>
<div className="at-bar">
<span style={{ width: `${progressPct}%` }} />
</div>
</div>
<div className="grid grid-cols-3 gap-2 mb-5">
<Stat num={list.total_words - countLearning - countKnown} label="Mới" />
<Stat num={countLearning} label="Học" color="var(--at-brand)" />
<Stat num={countKnown} label="Biết" color="var(--at-good)" />
</div>
<div className="grid grid-cols-2 gap-2 mt-auto">
<button
onClick={() => navigate({ to: '/flash-card/$listId', params: { listId: String(list.id) } })}
className="py-2.5 rounded-xl text-[13px] font-semibold transition-colors"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)', color: 'var(--at-ink-2)' }}
>
Xem thẻ
</button>
<button
onClick={() => navigate({ to: '/flash-card/$listId/learn', params: { listId: String(list.id) } })}
className="py-2.5 rounded-xl text-[13px] font-semibold transition-opacity hover:opacity-90"
style={{ background: 'var(--at-ink)', color: 'var(--at-paper)' }}
>
Học ngay
</button>
</div>
</div>
)
}
function Stat({ num, label, color }: { num: number; label: string; color?: string }) {
return (
<div className="text-center py-1.5 rounded-lg" style={{ background: 'var(--at-paper-2)' }}>
<div
className="at-serif"
style={{ fontSize: 20, fontWeight: 400, letterSpacing: '-0.02em', lineHeight: 1, color: color ?? 'var(--at-ink)' }}
>
{num}
</div>
<div className="text-[10px] font-semibold mt-1 tracking-wider uppercase" style={{ color: 'var(--at-mute)' }}>
{label}
</div>
</div>
)
}
export function FlashCardListPage() {
const user = useAuthStore(s => s.user)
const { data: lists = [], isLoading, isError } = useQuery({
queryKey: ['flashcard-lists'],
queryFn: fetchFlashcardLists,
})
return (
<div className="px-6 lg:px-10 py-10 max-w-6xl mx-auto page-enter">
<div className="flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-10">
<div>
<div className="at-eyebrow mb-3">Từ vựng TOEIC</div>
<h1 className="at-title text-4xl lg:text-[44px]">
Bộ thẻ <i>ghi nhớ</i>
</h1>
<p className="mt-4 text-sm" style={{ color: 'var(--at-mute)' }}>
Chọn bộ thẻ đ bắt đu {lists.length} bộ sưu tầm
</p>
</div>
</div>
{isLoading ? (
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5">
{Array.from({ length: 6 }).map((_, i) => (
<div
key={i}
className="rounded-2xl p-6 h-64 animate-pulse"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
/>
))}
</div>
) : isError ? (
<div
className="rounded-2xl p-10 text-center"
style={{ background: 'var(--at-bad-soft)', border: '1px solid rgba(193,68,62,0.2)' }}
>
<p className="text-sm" style={{ color: 'var(--at-bad)' }}>
Không thể tải danh sách bộ thẻ. Vui lòng thử lại.
</p>
</div>
) : lists.length === 0 ? (
<div
className="rounded-2xl p-16 text-center"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
>
<span className="material-symbols-outlined mb-3 block" style={{ fontSize: 48, color: 'var(--at-mute-2)' }}>library_books</span>
<p className="at-serif text-lg" style={{ color: 'var(--at-ink)' }}>Chưa bộ thẻ nào.</p>
<p className="text-sm mt-1" style={{ color: 'var(--at-mute)' }}>Bộ thẻ từ vựng TOEIC sẽ đưc thêm sớm!</p>
</div>
) : (
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5">
{lists.map(list => (
<ListCard key={list.id} list={list} userId={user?.id ?? null} />
))}
</div>
)}
</div>
)
}

View File

@@ -0,0 +1,249 @@
import { useState } from 'react'
import { useQuery } from '@tanstack/react-query'
import { useNavigate } from '@tanstack/react-router'
import { cn } from '@/lib/utils'
import { useAuthStore } from '@/store/auth-store'
import { fetchFlashcardTerms, fetchUserProgress } from '../api/flashcard-api'
import type { FlashcardTerm, UserProgress } from '../api/flashcard-api'
import { resolveMediaUrl } from '../lib/media-url'
type FilterStatus = 'all' | 'new' | 'learning' | 'known' | 'ignored'
const STATUS_LABEL: Record<string, string> = {
new: 'Mới',
learning: 'Đang học',
known: 'Đã biết',
ignored: 'Bỏ qua',
}
const STATUS_CLASS: Record<string, string> = {
new: 'at-chip',
learning: 'at-chip at-chip-brand',
known: 'at-chip at-chip-good',
ignored: 'at-chip at-chip-warm',
}
interface Props {
listId: number
}
export function FlashCardTermsPage({ listId }: Props) {
const navigate = useNavigate()
const user = useAuthStore(s => s.user)
const [filter, setFilter] = useState<FilterStatus>('all')
const [search, setSearch] = useState('')
const { data: terms = [], isLoading: loadingTerms } = useQuery({
queryKey: ['flashcard-terms', listId],
queryFn: () => fetchFlashcardTerms(listId),
})
const { data: progress = [] } = useQuery({
queryKey: ['flashcard-progress', user?.id, listId],
queryFn: () => fetchUserProgress(user!.id, listId),
enabled: !!user,
})
const progressMap: Record<number, UserProgress> = {}
progress.forEach(p => { progressMap[p.term_id] = p })
const getStatus = (termId: number): UserProgress['status'] =>
progressMap[termId]?.status ?? 'new'
const countAll = terms.length
const countNew = terms.filter(t => getStatus(t.id) === 'new').length
const countLearning = terms.filter(t => getStatus(t.id) === 'learning').length
const countKnown = terms.filter(t => getStatus(t.id) === 'known').length
const filtered = terms.filter(t => {
if (filter !== 'all' && getStatus(t.id) !== filter) return false
if (search.trim()) {
const q = search.toLowerCase()
return (
t.word.toLowerCase().includes(q) ||
(t.definition ?? '').toLowerCase().includes(q)
)
}
return true
})
return (
<div className="px-6 lg:px-10 py-10 max-w-6xl mx-auto page-enter">
{/* Editorial head */}
<div className="flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-10">
<div className="flex items-start gap-4 min-w-0">
<button
onClick={() => navigate({ to: '/flash-card' })}
className="w-10 h-10 flex-shrink-0 grid place-items-center rounded-xl transition-colors hover:bg-[var(--at-line-2)]"
style={{ color: 'var(--at-mute)' }}
>
<span className="material-symbols-outlined" style={{ fontSize: 22 }}>arrow_back</span>
</button>
<div className="min-w-0">
<div className="at-eyebrow mb-2">Bộ thẻ từ vựng</div>
<h1 className="at-title text-[32px] lg:text-4xl">
{countAll} <i>từ</i>
</h1>
</div>
</div>
<button
onClick={() => navigate({ to: '/flash-card/$listId/learn', params: { listId: String(listId) } })}
className="inline-flex items-center gap-2 px-5 py-3 rounded-xl text-[13.5px] font-semibold transition-opacity hover:opacity-90"
style={{ background: 'var(--at-ink)', color: 'var(--at-paper)' }}
>
<span className="material-symbols-outlined" style={{ fontSize: 16, fontVariationSettings: "'FILL' 1" }}>play_arrow</span>
Bắt đu học
</button>
</div>
{/* Stats + filters */}
<div
className="rounded-2xl p-5 mb-6"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
>
<div className="flex flex-col md:flex-row md:items-center gap-4 justify-between mb-4">
<div className="relative flex-1 max-w-sm">
<span
className="material-symbols-outlined absolute left-3.5 top-1/2 -translate-y-1/2"
style={{ fontSize: 18, color: 'var(--at-mute)' }}
>
search
</span>
<input
type="text"
value={search}
onChange={e => setSearch(e.target.value)}
placeholder="Tìm kiếm từ..."
className="w-full pl-10 pr-4 py-2.5 rounded-full text-sm focus:outline-none"
style={{
background: 'var(--at-paper-2)',
border: '1px solid var(--at-line)',
color: 'var(--at-ink)',
}}
/>
</div>
<div className="flex items-center gap-1.5 overflow-x-auto">
{(['all', 'new', 'learning', 'known', 'ignored'] as FilterStatus[]).map(f => (
<button
key={f}
onClick={() => setFilter(f)}
className={cn(
'px-3.5 py-1.5 rounded-full text-xs font-semibold whitespace-nowrap transition-colors',
)}
style={{
background: filter === f ? 'var(--at-ink)' : 'var(--at-paper-2)',
color: filter === f ? 'var(--at-paper)' : 'var(--at-ink-2)',
border: '1px solid ' + (filter === f ? 'var(--at-ink)' : 'var(--at-line)'),
}}
>
{f === 'all' ? 'Tất cả' : STATUS_LABEL[f]}
</button>
))}
</div>
</div>
<div className="grid grid-cols-4 gap-2">
<HeadStat num={countAll} label="Tổng" />
<HeadStat num={countNew} label="Mới" />
<HeadStat num={countLearning} label="Đang học" color="var(--at-brand)" />
<HeadStat num={countKnown} label="Đã biết" color="var(--at-good)" />
</div>
</div>
{/* Terms list */}
{loadingTerms ? (
<div className="space-y-2">
{Array.from({ length: 5 }).map((_, i) => (
<div
key={i}
className="rounded-xl h-20 animate-pulse"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
/>
))}
</div>
) : filtered.length === 0 ? (
<div
className="rounded-2xl p-12 text-center"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
>
<p className="text-sm" style={{ color: 'var(--at-mute)' }}>Không tìm thấy từ nào phù hợp.</p>
</div>
) : (
<div className="space-y-2">
{filtered.map(term => (
<TermRow key={term.id} term={term} status={getStatus(term.id)} />
))}
</div>
)}
</div>
)
}
function HeadStat({ num, label, color }: { num: number; label: string; color?: string }) {
return (
<div className="text-center py-2 rounded-lg" style={{ background: 'var(--at-paper-2)' }}>
<div
className="at-serif"
style={{ fontSize: 22, fontWeight: 400, letterSpacing: '-0.02em', lineHeight: 1, color: color ?? 'var(--at-ink)' }}
>
{num}
</div>
<div
className="mt-1"
style={{ fontSize: 10, color: 'var(--at-mute)', textTransform: 'uppercase', letterSpacing: '0.12em', fontWeight: 600 }}
>
{label}
</div>
</div>
)
}
function TermRow({ term, status }: { term: FlashcardTerm; status: UserProgress['status'] }) {
const imageSrc = resolveMediaUrl(term.image_url)
return (
<div
className="rounded-xl p-4 flex items-center gap-4 transition-shadow hover:shadow-sm"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
>
{imageSrc && (
<img
src={imageSrc}
alt={term.word}
loading="lazy"
className="w-12 h-12 rounded-lg object-cover flex-shrink-0"
style={{ background: 'var(--at-line-2)' }}
onError={(e) => { (e.currentTarget as HTMLImageElement).style.display = 'none' }}
/>
)}
<div className="w-1/4 min-w-0">
<div className="flex items-baseline gap-2 mb-1 flex-wrap">
<h3
className="at-serif text-[17px] tracking-tight truncate"
style={{ color: 'var(--at-ink)', fontWeight: 500 }}
>
{term.word}
</h3>
{term.phonetic && (
<span className="at-mono text-[11.5px] shrink-0" style={{ color: 'var(--at-mute)' }}>
{term.phonetic}
</span>
)}
</div>
{term.part_of_speech && (
<span
className="at-serif italic"
style={{ fontSize: 11, color: 'var(--at-mute-2)' }}
>
· {term.part_of_speech}
</span>
)}
</div>
<div className="flex-1 min-w-0 text-sm line-clamp-2" style={{ color: 'var(--at-ink-2)' }}>
{term.definition ?? '—'}
</div>
<span className={STATUS_CLASS[status]}>
<span className="at-chip-dot" />
{STATUS_LABEL[status]}
</span>
</div>
)
}

View File

@@ -0,0 +1,7 @@
const MEDIA_BASE_URL = 'https://study4.com'
export function resolveMediaUrl(path: string | null | undefined): string | null {
if (!path) return null
if (path.startsWith('http://') || path.startsWith('https://')) return path
return `${MEDIA_BASE_URL}${path.startsWith('/') ? path : `/${path}`}`
}

View File

@@ -0,0 +1,30 @@
import type { UserProgress } from '../api/flashcard-api'
export const EASE = {
ignored: -1,
hard: 0.1,
easy: 0.65,
known: 1.0,
} as const
export type EaseKey = keyof typeof EASE
const INTERVAL_LADDER: Record<Exclude<EaseKey, 'ignored'>, number[]> = {
// count: 0 1 2 3 4 5+
known: [1, 3, 7, 14, 30, 60],
easy: [1, 2, 4, 8, 14, 30],
hard: [1, 1, 1, 2, 3, 5],
}
export function computeNextReview(key: EaseKey, reviewCount: number): string | null {
if (key === 'ignored') return null
const ladder = INTERVAL_LADDER[key]
const days = ladder[Math.min(reviewCount, ladder.length - 1)]
return new Date(Date.now() + days * 24 * 60 * 60 * 1000).toISOString()
}
export function statusFor(key: EaseKey): UserProgress['status'] {
if (key === 'known') return 'known'
if (key === 'ignored') return 'ignored'
return 'learning'
}

View File

@@ -6,199 +6,293 @@ const FEATURES = [
{
to: '/toeic',
icon: 'assignment',
iconBg: 'bg-blue-50',
iconColor: 'text-blue-600',
borderColor: 'border-l-blue-600',
title: 'Luyện đề TOEIC',
desc: 'Kho đề thi cập nhật theo cấu trúc mới nhất. Phân tích điểm yếu chi tiết từng Part.',
cta: 'Bắt đầu ngay',
ctaColor: 'text-blue-600',
title: 'Luyện đề',
accent: 'TOEIC',
desc: 'Kho đề thi cập nhật theo cấu trúc mới nhất. Phân tích điểm yếu từng Part.',
stat: '350+ câu hỏi',
},
{
to: '/writing',
icon: 'auto_fix_high',
iconBg: 'bg-green-50',
iconColor: 'text-green-600',
borderColor: 'border-l-green-600',
title: 'AI Chấm Writing',
desc: 'Phản hồi tức thì về ngữ pháp, từ vựng, cấu trúc và bài viết mẫu từ AI.',
cta: 'Thử ngay',
ctaColor: 'text-green-600',
title: 'AI chấm',
accent: 'Writing',
desc: 'Phản hồi tức thì về ngữ pháp, từ vựng, cấu trúc và bài viết mẫu.',
stat: '3 lượt / ngày',
},
{
to: '/vocab',
to: '/flash-card',
icon: 'menu_book',
iconBg: 'bg-amber-50',
iconColor: 'text-amber-600',
borderColor: 'border-l-amber-600',
title: 'Từ vựng thông minh',
desc: '720 từ TOEIC theo 6 chủ đề. Flashcard với hiệu ứng lật 3D.',
cta: 'Khám phá',
ctaColor: 'text-amber-600',
stat: '720 từ vựng',
title: 'Từ vựng',
accent: 'thông minh',
desc: 'Bộ thẻ TOEIC với spaced-repetition, lật 3D, ảnh minh hoạ.',
stat: '18 000+ từ',
},
]
export function Home() {
const user = useUser()
const openModal = useAuthModalStore((s) => s.open)
const firstName = user?.name ?? 'bạn'
return (
<div className="px-6 py-8 max-w-6xl mx-auto page-enter">
{/* Hero */}
<section className="flex flex-col lg:flex-row gap-10 items-center mb-12">
<div className="flex-1 min-w-0">
<div className="inline-flex items-center gap-2 bg-blue-50 text-blue-600 text-xs font-bold px-3 py-1.5 rounded-full mb-5 uppercase tracking-wider">
<span className="material-symbols-outlined" style={{ fontSize: 14 }}>auto_awesome</span>
AI-Powered Learning
</div>
<h1 className="text-4xl lg:text-5xl font-extrabold leading-tight text-slate-800 mb-4" style={{ letterSpacing: '-0.02em' }}>
Luyện TOEIC<br />thông minh<br />
<span className="text-blue-600 italic">cùng AI</span>
<div className="px-6 lg:px-10 py-10 max-w-6xl mx-auto page-enter">
{/* Page head — editorial */}
<div className="flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-10">
<div>
<div className="at-eyebrow mb-3">Học TOEIC cùng AI</div>
<h1 className="at-title text-4xl lg:text-[44px]">
Chào <i>{firstName}</i>,<br />
hôm nay học <i>15 phút</i>?
</h1>
<p className="text-slate-500 text-lg leading-relaxed mb-8 max-w-md">
nhân hóa lộ trình học tập đ bứt phá điểm số trong thời gian ngắn nhất. AI phân tích điểm yếu tối ưu bài tập cho bạn.
</p>
<div className="flex gap-3 flex-wrap">
<Link
to="/toeic"
className="bg-blue-600 text-white px-8 py-3.5 rounded-xl font-bold text-sm hover:bg-blue-700 transition-colors shadow-lg shadow-blue-600/20"
>
Bắt đu ngay
</Link>
<Link
to="/writing"
className="border border-slate-200 px-8 py-3.5 rounded-xl font-bold text-sm text-slate-500 hover:bg-white hover:border-blue-600 hover:text-blue-600 transition-all"
>
Thử AI Writing
</Link>
</div>
<div className="flex gap-6 mt-8">
<div>
<div className="text-2xl font-extrabold text-blue-600">350+</div>
<div className="text-xs text-slate-400 mt-0.5">Câu hỏi TOEIC</div>
</div>
<div className="w-px bg-slate-200" />
<div>
<div className="text-2xl font-extrabold text-green-600">720</div>
<div className="text-xs text-slate-400 mt-0.5">Từ vựng</div>
</div>
<div className="w-px bg-slate-200" />
<div>
<div className="text-2xl font-extrabold text-amber-600">AI</div>
<div className="text-xs text-slate-400 mt-0.5">Writing Checker</div>
</div>
<div className="mt-4 text-sm" style={{ color: 'var(--at-mute)' }}>
Mục tiêu <b style={{ color: 'var(--at-ink)' }}>850</b>
<span className="mx-2 inline-block w-[3px] h-[3px] rounded-full align-middle" style={{ background: 'var(--at-mute-2)' }} />
hiện tại <b style={{ color: 'var(--at-ink)' }}>720</b>
<span className="mx-2 inline-block w-[3px] h-[3px] rounded-full align-middle" style={{ background: 'var(--at-mute-2)' }} />
còn <b style={{ color: 'var(--at-brand)' }}>130 điểm</b> nữa
</div>
</div>
<div className="flex gap-2.5">
<Link
to="/flash-card"
className="inline-flex items-center gap-2 px-5 py-3 rounded-xl text-[13.5px] font-semibold transition-colors"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)', color: 'var(--at-ink-2)' }}
>
Học từ vựng
</Link>
<Link
to="/toeic"
className="inline-flex items-center gap-2 px-5 py-3 rounded-xl text-[13.5px] font-semibold transition-colors hover:opacity-90"
style={{ background: 'var(--at-ink)', color: 'var(--at-paper)', border: '1px solid var(--at-ink)' }}
>
<span className="material-symbols-outlined" style={{ fontSize: 16 }}>play_arrow</span>
Tiếp tục học
</Link>
</div>
</div>
{/* Preview card — hidden on mobile */}
<div className="hidden lg:block flex-shrink-0 w-80">
<div className="bg-white rounded-2xl p-6 shadow-xl border border-slate-100">
<div className="flex items-center justify-between mb-5">
<div className="grid lg:grid-cols-[2fr_1fr] gap-5">
{/* MAIN COL */}
<div className="flex flex-col gap-5 min-w-0">
{/* Progress hero */}
<div className="rounded-2xl p-7 flex flex-wrap items-center gap-7" style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}>
<ProgressRing value={85} />
<div className="flex-1 min-w-[240px]">
<div className="at-eyebrow mb-1">Lộ trình</div>
<div className="at-serif text-[22px] leading-[1.2] tracking-tight mb-3" style={{ color: 'var(--at-ink)' }}>
Bạn đang đi <i style={{ color: 'var(--at-brand)', fontStyle: 'italic' }}>đúng hướng</i> tuần này 4/7 ngày.
</div>
<div className="flex flex-wrap gap-4 items-stretch">
<Stat num="24" label="ngày còn lại" />
<div className="w-px self-stretch" style={{ background: 'var(--at-line)' }} />
<Stat num="+46" label="điểm tháng này" />
<div className="w-px self-stretch" style={{ background: 'var(--at-line)' }} />
<Stat num="68%" label="tỷ lệ đúng" color="var(--at-good)" />
</div>
</div>
</div>
{/* Feature cards */}
<div className="rounded-2xl p-6" style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}>
<div className="at-eyebrow mb-1">Khám phá</div>
<h2 className="at-serif text-[22px] tracking-tight mb-5" style={{ color: 'var(--at-ink)', fontWeight: 500 }}>
Tính năng <i style={{ color: 'var(--at-brand)', fontStyle: 'italic' }}>nổi bật</i>
</h2>
<div className="grid grid-cols-1 md:grid-cols-3 gap-3">
{FEATURES.map((f) => (
<Link
key={f.to}
to={f.to}
className="rounded-xl p-4 transition-all hover:-translate-y-0.5"
style={{ background: 'var(--at-paper-2)', border: '1px solid var(--at-line)' }}
>
<div className="flex items-center justify-between mb-3">
<div
className="w-9 h-9 rounded-lg grid place-items-center"
style={{ background: 'var(--at-brand-soft)', color: 'var(--at-brand)' }}
>
<span className="material-symbols-outlined" style={{ fontSize: 18 }}>{f.icon}</span>
</div>
<span className="at-chip at-chip-brand">
<span className="at-chip-dot" />
{f.stat}
</span>
</div>
<div className="at-serif text-[17px] leading-[1.15] tracking-tight mb-1" style={{ color: 'var(--at-ink)', fontWeight: 500 }}>
{f.title} <i style={{ color: 'var(--at-brand)', fontStyle: 'italic' }}>{f.accent}</i>
</div>
<div className="text-[12.5px] leading-[1.5]" style={{ color: 'var(--at-mute)' }}>{f.desc}</div>
</Link>
))}
</div>
</div>
{/* 7-day journey */}
<div className="rounded-2xl p-6" style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}>
<div className="flex justify-between items-end mb-4">
<div>
<div className="font-bold text-base text-slate-800">Tiến đ tuần này</div>
<div className="text-xs text-slate-400 mt-0.5">Bạn đang làm rất tốt!</div>
<div className="at-eyebrow mb-1">Tuần này</div>
<div className="at-serif text-[20px] tracking-tight" style={{ color: 'var(--at-ink)', fontWeight: 500 }}>
Lộ trình <i style={{ color: 'var(--at-brand)', fontStyle: 'italic' }}>7 ngày</i>
</div>
</div>
<div className="bg-green-50 text-green-600 text-xs font-bold px-2.5 py-1 rounded-lg">+12%</div>
<span className="at-chip at-chip-good">
<span className="at-chip-dot" />
+24% so với tuần trước
</span>
</div>
<div className="mb-4">
<div className="flex justify-between text-xs font-semibold mb-1.5">
<span>Reading Score</span><span className="text-blue-600">420/495</span>
</div>
<div className="h-1.5 w-full rounded-full bg-slate-100">
<div className="h-full bg-blue-600 rounded-full" style={{ width: '85%' }} />
</div>
</div>
<div className="mb-4">
<div className="flex justify-between text-xs font-semibold mb-1.5">
<span>Listening Score</span><span className="text-green-600">380/495</span>
</div>
<div className="h-1.5 w-full rounded-full bg-slate-100">
<div className="h-full bg-green-600 rounded-full" style={{ width: '77%' }} />
</div>
</div>
<div className="grid grid-cols-2 gap-3 mt-4">
<div className="bg-blue-50 rounded-xl p-3 border-l-4 border-blue-600">
<span className="material-symbols-outlined text-blue-600" style={{ fontSize: 18 }}>local_fire_department</span>
<div className="text-xl font-extrabold text-blue-600 mt-1">14</div>
<div className="text-xs text-slate-400">Ngày Streak</div>
</div>
<div className="bg-green-50 rounded-xl p-3 border-l-4 border-green-600">
<span className="material-symbols-outlined text-green-600" style={{ fontSize: 18, fontVariationSettings: "'FILL' 1" }}>star</span>
<div className="text-xl font-extrabold text-green-600 mt-1">1,250</div>
<div className="text-xs text-slate-400">Điểm tích lũy</div>
</div>
</div>
<div className="mt-4 pt-4 border-t border-slate-100 flex items-center gap-3">
<div className="w-8 h-8 rounded-full bg-slate-100 flex items-center justify-center flex-shrink-0">
<span className="material-symbols-outlined text-slate-400" style={{ fontSize: 16 }}>psychology</span>
</div>
<p className="text-xs text-slate-500">
<span className="font-semibold">AI gợi ý:</span> Ôn thêm Part 5 Ngữ pháp
</p>
<div className="grid grid-cols-7 gap-2.5">
{['T2', 'T3', 'T4', 'T5', 'T6', 'T7', 'CN'].map((d, i) => {
const h = [60, 85, 40, 90, 75, 0, 0][i]
const done = h > 0
const today = i === 4
return (
<div key={d} className="flex flex-col items-center gap-2">
<div className="w-full relative overflow-hidden rounded-[10px]" style={{ height: 96, background: 'var(--at-line-2)' }}>
<div
className="absolute left-0 right-0 bottom-0 rounded-[10px] transition-[height] duration-500"
style={{
height: `${h}%`,
background: today ? 'var(--at-brand)' : done ? 'var(--at-brand-soft)' : 'var(--at-line-2)',
}}
/>
</div>
<div
className={today ? 'at-serif italic' : ''}
style={{ fontSize: 11, color: today ? 'var(--at-brand)' : 'var(--at-mute)', fontWeight: today ? 700 : 500 }}
>
{d}
</div>
</div>
)
})}
</div>
</div>
</div>
</section>
{/* Feature cards */}
<section>
<h2 className="text-2xl font-extrabold text-slate-800 mb-1.5">Tính năng nổi bật</h2>
<p className="text-slate-500 mb-6">Hệ sinh thái học tập toàn diện đưc thiết kế đ tối ưu hoá điểm số.</p>
<div className="grid grid-cols-1 md:grid-cols-3 gap-5">
{FEATURES.map((f) => (
<Link
key={f.to}
to={f.to}
className={`bg-white rounded-2xl p-6 border border-slate-200 border-l-4 ${f.borderColor} hover:-translate-y-1 hover:shadow-md transition-all duration-200`}
>
<div className={`w-12 h-12 ${f.iconBg} rounded-xl flex items-center justify-center mb-4`}>
<span className={`material-symbols-outlined ${f.iconColor}`}>{f.icon}</span>
{/* SIDE COL */}
<div className="flex flex-col gap-5">
{/* Streak card (inky) */}
<div className="rounded-2xl p-5" style={{ background: 'var(--at-ink)', color: 'var(--at-paper)' }}>
<div className="flex items-center justify-between mb-3.5">
<div style={{ fontSize: 10, letterSpacing: '0.14em', textTransform: 'uppercase', color: 'rgba(250,248,243,0.55)', fontWeight: 600 }}>
Streak
</div>
<h3 className="font-bold text-base text-slate-800 mb-2">{f.title}</h3>
<p className="text-slate-500 text-sm leading-relaxed mb-4">{f.desc}</p>
<div className={`flex items-center gap-1.5 text-sm font-bold ${f.ctaColor}`}>
{f.cta}
<span className="material-symbols-outlined" style={{ fontSize: 16 }}>arrow_forward</span>
<div className="w-10 h-10 rounded-xl grid place-items-center" style={{ background: 'rgba(255,255,255,0.08)', color: '#FFC27A' }}>
<span className="material-symbols-outlined" style={{ fontSize: 20, fontVariationSettings: "'FILL' 1" }}>local_fire_department</span>
</div>
</Link>
))}
</div>
</section>
{/* CTA banner */}
<section className="mt-10">
<div className="bg-blue-600 rounded-2xl p-8 flex items-center justify-between overflow-hidden relative">
<div className="absolute right-4 top-0 bottom-0 flex items-center opacity-10">
<span className="material-symbols-outlined text-white" style={{ fontSize: 120 }}>emoji_events</span>
</div>
<div className="at-serif" style={{ fontSize: 44, fontWeight: 400, letterSpacing: '-0.03em', lineHeight: 1, marginBottom: 4 }}>
7 <span className="italic opacity-65" style={{ fontSize: 18 }}>ngày</span>
</div>
<div style={{ fontSize: 12, color: 'rgba(250,248,243,0.55)', marginBottom: 14 }}>Kỷ lục: 21 ngày</div>
<div className="flex gap-1.5">
{['T2', 'T3', 'T4', 'T5', 'T6', 'T7', 'CN'].map((d, i) => (
<div
key={i}
className="flex-1 rounded-md grid place-items-center"
style={{
height: 24,
background: i < 5 ? '#C15A34' : 'rgba(255,255,255,0.08)',
color: i < 5 ? 'white' : 'rgba(255,255,255,0.4)',
fontSize: 9,
fontWeight: 600,
}}
>
{d}
</div>
))}
</div>
</div>
<div className="relative z-10">
<h3 className="text-2xl font-extrabold text-white mb-2">Sẵn sàng chinh phục 990 TOEIC?</h3>
<p className="text-blue-100 mb-5">
{user
? `Chào ${user.name}! Tiếp tục luyện thi hôm nay.`
: 'Đăng ký miễn phí để lưu tiến độ và luyện thi không giới hạn.'}
</p>
{user ? (
<Link
to="/toeic"
className="inline-block bg-white text-blue-600 px-6 py-3 rounded-xl font-bold text-sm hover:bg-blue-50 transition-colors"
>
Luyện thi ngay
</Link>
) : (
{/* AI nudge */}
<div className="at-pullquote">
<div className="flex items-center gap-2 mb-2.5">
<div className="w-6 h-6 rounded-lg grid place-items-center" style={{ background: 'var(--at-brand)', color: 'white' }}>
<span className="material-symbols-outlined" style={{ fontSize: 14, fontVariationSettings: "'FILL' 1" }}>auto_awesome</span>
</div>
<div style={{ fontSize: 10, letterSpacing: '0.14em', textTransform: 'uppercase', color: 'var(--at-brand-ink)', fontWeight: 700 }}>
AI gợi ý
</div>
</div>
<div className="at-pullquote-q">
"Bạn yếu nhất <b style={{ fontWeight: 600 }}>Part 3</b> — dành 10 phút hôm nay có thể tăng <b style={{ fontWeight: 600 }}>30+ điểm</b>."
</div>
<div className="mt-2.5 text-[11px] opacity-70" style={{ color: 'var(--at-brand-ink)' }}> EnglishAI Coach</div>
</div>
{/* Pro tip */}
<div className="at-tip">
<div className="at-tip-label">Pro tip</div>
<div className="text-[12.5px] leading-[1.55]" style={{ color: 'var(--at-ink-2)' }}>
Học theo <b style={{ color: 'var(--at-warm)', fontWeight: 700 }}>cụm từ</b> (collocations) giúp bạn ghi nhớ nhanh hơn{' '}
<b style={{ color: 'var(--at-warm)', fontWeight: 700 }}>40%</b> so với học từ đơn lẻ.
</div>
</div>
{/* Guest CTA (only if not logged in) */}
{!user && (
<div className="rounded-2xl p-5" style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}>
<div className="at-eyebrow mb-2">Khách</div>
<div className="at-serif text-[17px] leading-[1.2] tracking-tight mb-3" style={{ color: 'var(--at-ink)', fontWeight: 500 }}>
Đăng đ <i style={{ color: 'var(--at-brand)', fontStyle: 'italic' }}>lưu tiến đ</i>.
</div>
<button
onClick={() => openModal('register')}
className="bg-white text-blue-600 px-6 py-3 rounded-xl font-bold text-sm hover:bg-blue-50 transition-colors"
className="w-full py-2.5 rounded-xl text-[13.5px] font-semibold transition-opacity hover:opacity-90"
style={{ background: 'var(--at-ink)', color: 'var(--at-paper)' }}
>
Đăng miễn phí
</button>
)}
</div>
</div>
)}
</div>
</section>
</div>
</div>
)
}
function Stat({ num, label, color }: { num: string; label: string; color?: string }) {
return (
<div>
<div className="at-serif" style={{ fontSize: 26, fontWeight: 400, letterSpacing: '-0.02em', lineHeight: 1, color: color ?? 'var(--at-ink)' }}>
{num}
</div>
<div style={{ fontSize: 11, color: 'var(--at-mute)', marginTop: 4 }}>{label}</div>
</div>
)
}
function ProgressRing({ value }: { value: number }) {
const r = 58
const c = 2 * Math.PI * r
const offset = c - (value / 100) * c
return (
<div className="relative grid place-items-center" style={{ width: 132, height: 132 }}>
<svg width="132" height="132">
<circle cx="66" cy="66" r={r} fill="none" stroke="var(--at-line-2)" strokeWidth="7" />
<circle
cx="66"
cy="66"
r={r}
fill="none"
stroke="var(--at-brand)"
strokeWidth="7"
strokeDasharray={c}
strokeDashoffset={offset}
strokeLinecap="round"
transform="rotate(-90 66 66)"
style={{ transition: 'stroke-dashoffset 0.6s cubic-bezier(0.2, 0.7, 0.2, 1)' }}
/>
</svg>
<div className="absolute text-center">
<div className="at-serif" style={{ fontSize: 34, fontWeight: 400, letterSpacing: '-0.025em', lineHeight: 1, color: 'var(--at-ink)' }}>
720
</div>
<div style={{ fontSize: 10, color: 'var(--at-mute)', textTransform: 'uppercase', letterSpacing: '0.12em', marginTop: 4, fontWeight: 600 }}>
/ 850
</div>
</div>
</div>
)
}

View File

@@ -0,0 +1,53 @@
import { supabase } from '@/lib/supabase'
import type { TestRecord, PartRecord } from '@/types'
export async function fetchTests(): Promise<TestRecord[]> {
const { data, error } = await supabase
.from('test')
.select('id, title, description, total_questions, duration_minutes, test_category(name)')
.order('id')
if (error) throw error
return (data ?? []).map((row: Record<string, unknown>) => ({
id: row.id as number,
title: row.title as string,
description: row.description as string | null,
totalQuestions: row.total_questions as number,
durationMinutes: row.duration_minutes as number,
categoryName: (row.test_category as { name: string } | null)?.name ?? null,
}))
}
export async function fetchTestWithParts(testId: number): Promise<{ test: TestRecord; parts: PartRecord[] }> {
const { data: testRow, error: testErr } = await supabase
.from('test')
.select('id, title, description, total_questions, duration_minutes, test_category(name)')
.eq('id', testId)
.single()
if (testErr) throw testErr
const { data: partRows, error: partErr } = await supabase
.from('part')
.select('id, test_id, part_number, title, question_count')
.eq('test_id', testId)
.order('part_number')
if (partErr) throw partErr
const row = testRow as Record<string, unknown>
return {
test: {
id: row.id as number,
title: row.title as string,
description: row.description as string | null,
totalQuestions: row.total_questions as number,
durationMinutes: row.duration_minutes as number,
categoryName: (row.test_category as { name: string } | null)?.name ?? null,
},
parts: (partRows ?? []).map((p: Record<string, unknown>) => ({
id: p.id as number,
testId: p.test_id as number,
partNumber: p.part_number as number,
title: p.title as string,
questionCount: p.question_count as number,
})),
}
}

View File

@@ -8,6 +8,8 @@ import { saveTestResult } from '@/lib/progress-service'
import { useAwardActivity } from '@/hooks/use-gamification'
import { XP_REWARDS } from '@/lib/gamification-service'
const ANSWER_LABELS = ['A', 'B', 'C', 'D']
function formatTime(s: number) {
const m = Math.floor(s / 60)
const sec = s % 60
@@ -17,89 +19,72 @@ function formatTime(s: number) {
export function TestResult() {
const navigate = useNavigate()
const { partId, partName, questions, answers, timeUsed, reset } = useTestStore()
const { testId, testName, parts, answers, timeUsed, reset } = useTestStore()
const { isAuthenticated, isLoading } = useRequireAuth()
const user = useAuthStore((s) => s.user)
const savedRef = useRef(false)
const { mutate: awardActivity } = useAwardActivity()
// Flatten all questions across parts
const allQuestions = parts.flatMap(p => p.questions)
useEffect(() => {
if (isLoading) return
if (!isAuthenticated) navigate({ to: '/toeic' })
}, [isLoading, isAuthenticated, navigate])
// Save test result once when page mounts (fire-and-forget)
useEffect(() => {
if (!user || savedRef.current || questions.length === 0) return
if (!user || savedRef.current || allQuestions.length === 0) return
savedRef.current = true
const correct = allQuestions.filter(q => answers[q.id] === q.correctAnswer).length
awardActivity({ xp: XP_REWARDS.test })
saveTestResult(user.id, {
partId,
partName,
score: answers.filter((a, i) => a === questions[i]?.correctAnswer).length,
total: questions.length,
testId,
selectedParts: parts.map(p => p.partNumber),
score: correct,
total: allQuestions.length,
timeUsed,
answers: questions.map((q, i) => ({
answers: allQuestions.map(q => ({
questionId: q.id,
selected: answers[i],
correct: answers[i] === q.correctAnswer,
selected: answers[q.id] ?? null,
correct: answers[q.id] === q.correctAnswer,
})),
})
}, [user, questions, answers, partId, partName, timeUsed])
}, [user, allQuestions.length])
const correct = answers.filter((a, i) => a === questions[i]?.correctAnswer).length
const wrong = answers.filter((a, i) => a !== null && a !== questions[i]?.correctAnswer).length
const skipped = answers.filter((a) => a === null).length
const total = questions.length
const percent = total > 0 ? Math.round((correct / total) * 100) : 0
const circumference = 2 * Math.PI * 52
const offset = circumference - (percent / 100) * circumference
function handleRetry() {
navigate({ to: '/toeic/session' })
}
function handleHome() {
reset()
navigate({ to: '/' })
}
if (questions.length === 0) {
if (allQuestions.length === 0) {
return (
<div className="px-6 py-8 max-w-6xl mx-auto text-center">
<p className="text-slate-500 mb-4">Không dữ liệu bài thi.</p>
<button
onClick={() => navigate({ to: '/toeic' })}
className="bg-blue-600 text-white px-6 py-2.5 rounded-xl font-semibold text-sm hover:bg-blue-700 transition-colors"
>
Chọn Part đ luyện thi
<button onClick={() => navigate({ to: '/toeic' })}
className="bg-blue-600 text-white px-6 py-2.5 rounded-xl font-semibold text-sm hover:bg-blue-700 transition-colors">
Chọn đ thi
</button>
</div>
)
}
const correct = allQuestions.filter(q => answers[q.id] === q.correctAnswer).length
const wrong = allQuestions.filter(q => answers[q.id] !== null && answers[q.id] !== undefined && answers[q.id] !== q.correctAnswer).length
const skipped = allQuestions.filter(q => answers[q.id] === null || answers[q.id] === undefined).length
const total = allQuestions.length
const percent = total > 0 ? Math.round((correct / total) * 100) : 0
const circumference = 2 * Math.PI * 52
const offset = circumference - (percent / 100) * circumference
return (
<div className="px-4 lg:px-6 py-6 max-w-6xl mx-auto page-enter">
{/* Score header */}
<div className="bg-white rounded-2xl p-6 border border-slate-200 mb-5">
<div className="flex flex-col lg:flex-row items-center gap-6">
{/* Circle */}
<div className="flex-shrink-0 relative w-32 h-32">
<svg className="w-full h-full -rotate-90" viewBox="0 0 120 120">
<circle cx="60" cy="60" r="52" fill="none" stroke="#e2e8f0" strokeWidth="8" />
<circle
cx="60"
cy="60"
r="52"
fill="none"
<circle cx="60" cy="60" r="52" fill="none"
stroke={percent >= 70 ? '#16a34a' : percent >= 50 ? '#2563eb' : '#dc2626'}
strokeWidth="8"
strokeLinecap="round"
strokeDasharray={circumference}
strokeDashoffset={offset}
className="transition-all duration-700"
/>
strokeWidth="8" strokeLinecap="round"
strokeDasharray={circumference} strokeDashoffset={offset}
className="transition-all duration-700" />
</svg>
<div className="absolute inset-0 flex flex-col items-center justify-center">
<span className="text-3xl font-extrabold text-slate-800">{correct}/{total}</span>
@@ -107,121 +92,92 @@ export function TestResult() {
</div>
</div>
{/* Stats */}
<div className="flex-1 text-center lg:text-left">
<div className="text-2xl font-extrabold text-slate-800 mb-1">
{percent >= 80 ? 'Xuất sắc!' : percent >= 60 ? 'Hoàn thành!' : 'Cố gắng hơn nhé!'}
</div>
<div className="text-sm text-slate-400 mb-4">
Part {partId} {partName}
</div>
<div className="text-sm text-slate-400 mb-4">{testName}</div>
<div className="flex flex-wrap gap-3 justify-center lg:justify-start">
<div className="bg-green-50 border border-green-100 rounded-xl px-4 py-2 text-center">
<div className="text-xl font-extrabold text-green-600">{correct}</div>
<div className="text-xs text-slate-400">Đúng</div>
</div>
<div className="bg-red-50 border border-red-100 rounded-xl px-4 py-2 text-center">
<div className="text-xl font-extrabold text-red-600">{wrong}</div>
<div className="text-xs text-slate-400">Sai</div>
</div>
<div className="bg-slate-50 border border-slate-200 rounded-xl px-4 py-2 text-center">
<div className="text-xl font-extrabold text-slate-500">{skipped}</div>
<div className="text-xs text-slate-400">Bỏ qua</div>
</div>
<div className="bg-blue-50 border border-blue-100 rounded-xl px-4 py-2 text-center">
<div className="text-xl font-extrabold text-blue-600">{formatTime(timeUsed)}</div>
<div className="text-xs text-slate-400">Thời gian</div>
</div>
{[
{ label: 'Đúng', value: correct, cls: 'bg-green-50 border-green-100 text-green-600' },
{ label: 'Sai', value: wrong, cls: 'bg-red-50 border-red-100 text-red-600' },
{ label: 'Bỏ qua', value: skipped, cls: 'bg-slate-50 border-slate-200 text-slate-500' },
{ label: 'Thời gian', value: formatTime(timeUsed), cls: 'bg-blue-50 border-blue-100 text-blue-600' },
].map(({ label, value, cls }) => (
<div key={label} className={cn('border rounded-xl px-4 py-2 text-center', cls)}>
<div className="text-xl font-extrabold">{value}</div>
<div className="text-xs text-slate-400">{label}</div>
</div>
))}
</div>
</div>
{/* Actions */}
<div className="flex lg:flex-col gap-3 flex-shrink-0">
<button
onClick={handleRetry}
className="flex items-center gap-2 px-5 py-2.5 bg-blue-600 text-white rounded-xl text-sm font-semibold hover:bg-blue-700 transition-colors"
>
<span className="material-symbols-outlined" style={{ fontSize: 18 }}>replay</span>
Làm lại
<button onClick={() => navigate({ to: '/toeic/session' })}
className="flex items-center gap-2 px-5 py-2.5 bg-blue-600 text-white rounded-xl text-sm font-semibold hover:bg-blue-700 transition-colors">
<span className="material-symbols-outlined" style={{ fontSize: 18 }}>replay</span>Làm lại
</button>
<button
onClick={handleHome}
className="flex items-center gap-2 px-5 py-2.5 border border-slate-200 text-slate-600 rounded-xl text-sm font-semibold hover:bg-slate-50 transition-colors"
>
<span className="material-symbols-outlined" style={{ fontSize: 18 }}>home</span>
Về trang chủ
<button onClick={() => { reset(); navigate({ to: '/toeic' }) }}
className="flex items-center gap-2 px-5 py-2.5 border border-slate-200 text-slate-600 rounded-xl text-sm font-semibold hover:bg-slate-50 transition-colors">
<span className="material-symbols-outlined" style={{ fontSize: 18 }}>home</span>Về trang chủ
</button>
</div>
</div>
</div>
{/* Answer review */}
<div className="bg-white rounded-2xl border border-slate-200 p-6">
<h2 className="text-base font-bold text-slate-800 mb-4">Xem lại đáp án</h2>
<div className="space-y-4">
{questions.map((q, i) => {
const userAnswer = answers[i]
const isCorrect = userAnswer === q.correctAnswer
const isSkipped = userAnswer === null
return (
<div
key={q.id}
className={cn(
{/* Answer review grouped by part */}
{parts.map(part => (
<div key={part.partNumber} className="bg-white rounded-2xl border border-slate-200 p-6 mb-4">
<h2 className="text-base font-bold text-slate-800 mb-4">Part {part.partNumber} {part.partName}</h2>
<div className="space-y-4">
{part.questions.map((q, i) => {
const userAnswer = answers[q.id] ?? null
const isCorrect = userAnswer === q.correctAnswer
const isSkipped = userAnswer === null || userAnswer === undefined
return (
<div key={q.id} className={cn(
'rounded-xl border p-4',
isCorrect ? 'border-green-100 bg-green-50/50' : isSkipped ? 'border-slate-100 bg-slate-50/50' : 'border-red-100 bg-red-50/50',
)}
>
<div className="flex items-start gap-3">
<span
className={cn(
)}>
<div className="flex items-start gap-3">
<span className={cn(
'w-7 h-7 rounded-full flex items-center justify-center text-xs font-bold flex-shrink-0 mt-0.5',
isCorrect ? 'bg-green-600 text-white' : isSkipped ? 'bg-slate-400 text-white' : 'bg-red-600 text-white',
)}
>
{i + 1}
</span>
<div className="flex-1 min-w-0">
<p className="text-sm font-medium text-slate-800 mb-2">{q.text}</p>
<div className="flex flex-wrap gap-2 mb-2">
{q.options.map((opt, j) => (
<span
key={j}
className={cn(
)}>{i + 1}</span>
<div className="flex-1 min-w-0">
{q.text && <p className="text-sm font-medium text-slate-800 mb-2">{q.text}</p>}
<div className="flex flex-wrap gap-2 mb-2">
{q.options.map((opt, j) => (
<span key={j} className={cn(
'text-xs px-2.5 py-1 rounded-lg font-medium',
j === q.correctAnswer
? 'bg-green-100 text-green-700 border border-green-200'
: j === userAnswer && !isCorrect
? 'bg-red-100 text-red-700 border border-red-200 line-through'
j === q.correctAnswer ? 'bg-green-100 text-green-700 border border-green-200'
: j === userAnswer && !isCorrect ? 'bg-red-100 text-red-700 border border-red-200 line-through'
: 'bg-slate-100 text-slate-500',
)}
>
{['A', 'B', 'C', 'D'][j]}. {opt}
</span>
))}
)}>
{ANSWER_LABELS[j]}. {opt}
</span>
))}
</div>
{q.explanation && (
<p className="text-xs text-slate-500 bg-white rounded-lg px-3 py-2 border border-slate-100">
<span className="font-semibold text-slate-600">Giải thích: </span>{q.explanation}
</p>
)}
</div>
{q.explanation && (
<p className="text-xs text-slate-500 bg-white rounded-lg px-3 py-2 border border-slate-100">
<span className="font-semibold text-slate-600">Giải thích: </span>
{q.explanation}
</p>
)}
<span className="flex-shrink-0">
{isCorrect
? <span className="material-symbols-outlined text-green-600" style={{ fontSize: 20 }}>check_circle</span>
: isSkipped
? <span className="material-symbols-outlined text-slate-400" style={{ fontSize: 20 }}>remove_circle</span>
: <span className="material-symbols-outlined text-red-500" style={{ fontSize: 20 }}>cancel</span>}
</span>
</div>
<span className="flex-shrink-0">
{isCorrect ? (
<span className="material-symbols-outlined text-green-600" style={{ fontSize: 20 }}>check_circle</span>
) : isSkipped ? (
<span className="material-symbols-outlined text-slate-400" style={{ fontSize: 20 }}>remove_circle</span>
) : (
<span className="material-symbols-outlined text-red-500" style={{ fontSize: 20 }}>cancel</span>
)}
</span>
</div>
</div>
)
})}
)
})}
</div>
</div>
</div>
))}
</div>
)
}

View File

@@ -3,205 +3,149 @@ import { useNavigate } from '@tanstack/react-router'
import { cn } from '@/lib/utils'
import { useTestStore } from '@/store/test-store'
import { useRequireAuth } from '@/hooks/use-require-auth'
import { TestSessionHeader } from './TestSessionHeader'
import { TestSessionSidebar } from './TestSessionSidebar'
import { TestSessionFooter } from './TestSessionFooter'
import type { Question } from '@/types'
const TOTAL_SECONDS = 600 // 10 minutes
const ANSWER_LABELS = ['A', 'B', 'C', 'D']
function formatTime(s: number) {
return `${String(Math.floor(s / 60)).padStart(2, '0')}:${String(s % 60).padStart(2, '0')}`
}
export function TestSession() {
const navigate = useNavigate()
const { partId, partName, questions, answers, setAnswer, submitExam } = useTestStore()
const [currentQ, setCurrentQ] = useState(0)
const [timeLeft, setTimeLeft] = useState(TOTAL_SECONDS)
const { isAuthenticated, isLoading } = useRequireAuth()
const handleSubmit = useCallback(() => {
submitExam(TOTAL_SECONDS - timeLeft)
navigate({ to: '/toeic/result' })
}, [submitExam, navigate, timeLeft])
// Countdown
useEffect(() => {
if (questions.length === 0) return
const id = setInterval(() => {
setTimeLeft((t) => {
if (t <= 1) { clearInterval(id); handleSubmit(); return 0 }
return t - 1
})
}, 1000)
return () => clearInterval(id)
}, [questions.length, handleSubmit])
// Redirect if no exam started or not authenticated (wait for auth init)
useEffect(() => {
if (isLoading) return
if (!isAuthenticated || questions.length === 0) navigate({ to: '/toeic' })
}, [isLoading, isAuthenticated, questions.length, navigate])
if (questions.length === 0) return null
const question = questions[currentQ]
const answeredCount = answers.filter((a) => a !== null).length
const isUrgent = timeLeft < 60
function QuestionCard({
question, globalNum, answer, onSelect,
}: {
question: Question
globalNum: number
answer: number | null
onSelect: (idx: number) => void
}) {
return (
<div className="px-4 lg:px-6 py-6 max-w-6xl mx-auto page-enter">
{/* Mobile progress bar */}
<div className="lg:hidden mb-4">
<div className="flex justify-between text-sm font-semibold mb-2">
<span className="text-slate-700">Part {partId} Câu {currentQ + 1}/{questions.length}</span>
<span className={cn('font-bold tabular-nums', isUrgent ? 'text-red-600 timer-urgent' : 'text-blue-600')}>
{formatTime(timeLeft)}
</span>
<div className="bg-white rounded-2xl border border-slate-200 p-6 mb-4">
<span className="inline-block bg-blue-600 text-white text-xs font-bold px-3 py-1 rounded-full mb-4">
Câu {globalNum}
</span>
{question.passageText && (
<div className="bg-slate-50 border border-slate-200 rounded-xl p-4 mb-4 text-sm text-slate-700 leading-relaxed whitespace-pre-wrap">
{question.passageText}
</div>
<div className="h-1.5 w-full rounded-full bg-slate-200">
<div
className="h-full bg-blue-600 rounded-full transition-all"
style={{ width: `${((currentQ + 1) / questions.length) * 100}%` }}
/>
</div>
</div>
<div className="flex gap-5">
{/* Left: Question */}
<div className="flex-1 min-w-0">
<div className="bg-white rounded-2xl p-6 border border-slate-200 mb-4">
<div className="flex items-center gap-2 mb-4">
<span className="bg-blue-600 text-white text-xs font-bold px-3 py-1 rounded-full">
Câu {currentQ + 1}
</span>
<span className="text-xs text-slate-400">Part {partId} {partName}</span>
</div>
<p className="text-base font-medium text-slate-800 leading-relaxed mb-6">
{question.text}
</p>
<div className="space-y-3">
{question.options.map((opt, i) => {
const selected = answers[currentQ] === i
return (
<button
key={i}
onClick={() => setAnswer(currentQ, i)}
className={cn(
'w-full flex items-center gap-3 p-4 border-2 rounded-xl text-sm font-medium text-left transition-all',
selected
? 'border-blue-600 bg-blue-50 text-blue-700'
: 'border-slate-200 hover:border-blue-300 hover:bg-blue-50/50 text-slate-700',
)}
>
<span
className={cn(
'w-8 h-8 rounded-full flex items-center justify-center text-xs font-bold flex-shrink-0',
selected ? 'bg-blue-600 text-white' : 'bg-slate-100 text-slate-500',
)}
>
{ANSWER_LABELS[i]}
</span>
{opt}
</button>
)
})}
</div>
</div>
{/* Navigation */}
<div className="flex items-center justify-between">
<button
onClick={() => setCurrentQ((q) => Math.max(0, q - 1))}
disabled={currentQ === 0}
className="flex items-center gap-2 px-5 py-2.5 border border-slate-200 rounded-xl text-sm font-semibold text-slate-600 hover:bg-slate-50 disabled:opacity-40 disabled:cursor-not-allowed transition-colors"
>
<span className="material-symbols-outlined" style={{ fontSize: 18 }}>chevron_left</span>
Câu trước
</button>
<span className="text-xs text-slate-400 tabular-nums">{currentQ + 1} / {questions.length}</span>
{currentQ < questions.length - 1 ? (
<button
onClick={() => setCurrentQ((q) => q + 1)}
className="flex items-center gap-2 px-5 py-2.5 bg-blue-600 text-white rounded-xl text-sm font-semibold hover:bg-blue-700 transition-colors"
>
Câu tiếp theo
<span className="material-symbols-outlined" style={{ fontSize: 18 }}>chevron_right</span>
</button>
) : (
<button
onClick={handleSubmit}
className="flex items-center gap-2 px-5 py-2.5 bg-red-600 text-white rounded-xl text-sm font-semibold hover:bg-red-700 transition-colors"
>
Nộp bài
<span className="material-symbols-outlined" style={{ fontSize: 18 }}>send</span>
</button>
)}
</div>
</div>
{/* Right panel — desktop only */}
<div className="hidden lg:flex flex-col gap-4 w-60 flex-shrink-0">
{/* Timer */}
<div className="bg-white rounded-2xl p-5 border border-slate-200 text-center">
<div className="text-xs text-slate-400 font-medium mb-2">Thời gian còn lại</div>
<div
className={cn(
'text-5xl font-extrabold tabular-nums mb-1',
isUrgent ? 'text-red-600 timer-urgent' : 'text-blue-600',
)}
>
{formatTime(timeLeft)}
</div>
<div className="text-xs text-slate-400">phút : giây</div>
</div>
{/* Question dots */}
<div className="bg-white rounded-2xl p-5 border border-slate-200">
<div className="text-xs text-slate-400 font-medium mb-3">
Danh sách câu · {answeredCount}/{questions.length} đã trả lời
</div>
<div className="grid grid-cols-5 gap-2">
{questions.map((_, i) => (
<button
key={i}
onClick={() => setCurrentQ(i)}
className={cn(
'w-8 h-8 rounded-full flex items-center justify-center text-[11px] font-semibold transition-all',
i === currentQ
? 'border-2 border-blue-600 text-blue-600 shadow-sm shadow-blue-600/20'
: answers[i] !== null
? 'bg-blue-600 text-white'
: 'border-2 border-slate-200 text-slate-400 hover:border-blue-300',
)}
>
{i + 1}
</button>
))}
</div>
<div className="flex items-center gap-3 mt-4 text-xs text-slate-400">
<span className="w-4 h-4 rounded-full bg-blue-600 inline-block" /> Đã trả lời
<span className="w-4 h-4 rounded-full border-2 border-slate-200 inline-block" /> Chưa làm
</div>
</div>
)}
{question.audioUrl && (
<audio controls src={question.audioUrl} className="w-full mb-4 rounded-lg" />
)}
{question.imageUrl && (
<img src={question.imageUrl} alt="" className="max-h-64 rounded-xl mb-4 object-contain" />
)}
{question.text && (
<p className="text-base font-medium text-slate-800 leading-relaxed mb-5">{question.text}</p>
)}
<div className="space-y-2.5">
{question.options.map((opt, i) => (
<button
onClick={handleSubmit}
className="w-full py-3 bg-red-600 text-white rounded-xl font-bold text-sm hover:bg-red-700 transition-colors flex items-center justify-center gap-2"
key={i}
onClick={() => onSelect(i)}
className={cn(
'w-full flex items-center gap-3 p-3.5 border-2 rounded-xl text-sm font-medium text-left transition-all',
answer === i
? 'border-blue-600 bg-blue-50 text-blue-700'
: 'border-slate-200 hover:border-blue-300 hover:bg-blue-50/50 text-slate-700',
)}
>
<span className="material-symbols-outlined" style={{ fontSize: 18 }}>send</span>
Nộp bài
<span className={cn(
'w-8 h-8 rounded-full flex items-center justify-center text-xs font-bold flex-shrink-0',
answer === i ? 'bg-blue-600 text-white' : 'bg-slate-100 text-slate-500',
)}>
{ANSWER_LABELS[i]}
</span>
{opt}
</button>
</div>
</div>
{/* Mobile submit */}
<div className="lg:hidden mt-4">
<button
onClick={handleSubmit}
className="w-full py-3.5 bg-red-600 text-white rounded-xl font-bold text-sm hover:bg-red-700 transition-colors"
>
Nộp bài ngay
</button>
))}
</div>
</div>
)
}
export function TestSession() {
const navigate = useNavigate()
const { testName, parts, currentPartIndex, answers, totalSeconds, setAnswer, setCurrentPart, submitExam } = useTestStore()
const { isAuthenticated, isLoading } = useRequireAuth()
const [timeLeft, setTimeLeft] = useState(() => totalSeconds > 0 ? totalSeconds : -1)
const [timeUsed, setTimeUsed] = useState(0)
const handleSubmit = useCallback(() => {
submitExam(totalSeconds > 0 ? totalSeconds - timeLeft : timeUsed)
navigate({ to: '/toeic/result' })
}, [submitExam, navigate, totalSeconds, timeLeft, timeUsed])
// Timer
useEffect(() => {
if (parts.length === 0) return
const id = setInterval(() => {
if (timeLeft > 0) {
setTimeLeft(t => { if (t <= 1) { clearInterval(id); handleSubmit(); return 0 } return t - 1 })
} else {
setTimeUsed(t => t + 1)
}
}, 1000)
return () => clearInterval(id)
}, [parts.length, timeLeft, handleSubmit])
useEffect(() => {
if (isLoading) return
if (!isAuthenticated || parts.length === 0) navigate({ to: '/toeic' })
}, [isLoading, isAuthenticated, parts.length, navigate])
if (parts.length === 0) return null
const currentPart = parts[currentPartIndex]
// Compute global question offset for current part
let globalOffset = 0
for (let i = 0; i < currentPartIndex; i++) globalOffset += parts[i].questions.length
return (
<div className="flex flex-col" style={{ height: 'calc(100vh - var(--app-header-height, 0px))' }}>
<TestSessionHeader
testName={testName}
timeLeft={timeLeft}
timeUsed={timeUsed}
onSubmit={handleSubmit}
/>
<div className="flex flex-1 overflow-hidden">
<TestSessionSidebar
parts={parts}
currentPartIndex={currentPartIndex}
answers={answers}
onSelectPart={setCurrentPart}
/>
{/* Main scrollable content */}
<main className="flex-1 overflow-y-auto bg-[#F8FAFC] px-6 py-6">
<div className="max-w-3xl mx-auto">
<h2 className="text-lg font-extrabold text-slate-700 mb-5">
Part {currentPart.partNumber}: {currentPart.partName}
</h2>
{currentPart.questions.map((q, idx) => (
<QuestionCard
key={q.id}
question={q}
globalNum={globalOffset + idx + 1}
answer={answers[q.id] ?? null}
onSelect={(i) => setAnswer(q.id, i)}
/>
))}
</div>
</main>
</div>
<TestSessionFooter
currentPartIndex={currentPartIndex}
totalParts={parts.length}
currentPartName={currentPart.partName}
onPrev={() => setCurrentPart(currentPartIndex - 1)}
onNext={() => setCurrentPart(currentPartIndex + 1)}
/>
</div>
)
}

View File

@@ -0,0 +1,36 @@
interface Props {
currentPartIndex: number
totalParts: number
currentPartName: string
onPrev: () => void
onNext: () => void
}
export function TestSessionFooter({ currentPartIndex, totalParts, currentPartName, onPrev, onNext }: Props) {
return (
<footer className="h-14 flex items-center justify-between px-5 bg-white border-t border-slate-200 flex-shrink-0 z-10">
<button
onClick={onPrev}
disabled={currentPartIndex === 0}
className="flex items-center gap-1.5 px-4 py-2 border border-slate-200 rounded-xl text-sm font-semibold text-slate-600 hover:bg-slate-50 disabled:opacity-30 disabled:cursor-not-allowed transition-colors"
>
<span className="material-symbols-outlined" style={{ fontSize: 18 }}>arrow_back</span>
Part trước
</button>
<span className="text-sm font-bold text-slate-700">
Part {currentPartIndex + 1} / {totalParts}
<span className="text-slate-400 font-normal ml-1.5"> {currentPartName}</span>
</span>
<button
onClick={onNext}
disabled={currentPartIndex === totalParts - 1}
className="flex items-center gap-1.5 px-4 py-2 bg-blue-600 text-white rounded-xl text-sm font-semibold hover:bg-blue-700 disabled:opacity-30 disabled:cursor-not-allowed transition-colors"
>
Part tiếp theo
<span className="material-symbols-outlined" style={{ fontSize: 18 }}>arrow_forward</span>
</button>
</footer>
)
}

View File

@@ -0,0 +1,43 @@
import { cn } from '@/lib/utils'
interface Props {
testName: string
timeLeft: number // seconds remaining; -1 = no limit (count-up mode)
timeUsed: number // seconds elapsed (used when no limit)
onSubmit: () => void
}
function formatTime(s: number): string {
const h = Math.floor(s / 3600)
const m = Math.floor((s % 3600) / 60)
const sec = s % 60
if (h > 0) return `${String(h).padStart(2, '0')}:${String(m).padStart(2, '0')}:${String(sec).padStart(2, '0')}`
return `${String(m).padStart(2, '0')}:${String(sec).padStart(2, '0')}`
}
export function TestSessionHeader({ testName, timeLeft, timeUsed, onSubmit }: Props) {
const isUnlimited = timeLeft === -1
const displaySeconds = isUnlimited ? timeUsed : timeLeft
const isUrgent = !isUnlimited && timeLeft < 300 // last 5 min
return (
<header className="h-14 flex items-center justify-between px-5 bg-white border-b border-slate-200 shadow-sm flex-shrink-0 z-10">
<span className="font-bold text-slate-800 text-sm truncate max-w-xs">{testName}</span>
<span className={cn(
'text-2xl font-extrabold tabular-nums',
isUrgent ? 'text-red-600 timer-urgent' : 'text-blue-600',
)}>
{isUnlimited ? <span className="text-slate-400 text-base"></span> : formatTime(displaySeconds)}
</span>
<button
onClick={onSubmit}
className="flex items-center gap-1.5 px-4 py-2 bg-red-600 text-white rounded-xl text-sm font-bold hover:bg-red-700 transition-colors"
>
<span className="material-symbols-outlined" style={{ fontSize: 16 }}>send</span>
Nộp bài
</button>
</header>
)
}

View File

@@ -0,0 +1,86 @@
import { cn } from '@/lib/utils'
import type { SessionPart } from '@/types'
interface Props {
parts: SessionPart[]
currentPartIndex: number
answers: Record<number, number | null>
onSelectPart: (index: number) => void
}
export function TestSessionSidebar({ parts, currentPartIndex, answers, onSelectPart }: Props) {
// Global question offset per part for sequential numbering
let offset = 0
const partOffsets: number[] = parts.map(p => {
const o = offset
offset += p.questions.length
return o
})
return (
<aside className="w-60 flex-shrink-0 bg-white border-r border-slate-200 overflow-y-auto">
<div className="p-3 border-b border-slate-100">
<span className="text-[10px] font-bold text-slate-400 uppercase tracking-widest">Question Map</span>
</div>
{parts.map((part, partIdx) => {
const isCurrent = partIdx === currentPartIndex
return (
<div key={part.partNumber} className="px-3 pt-3 pb-1">
{/* Part label — click to switch */}
<button
onClick={() => onSelectPart(partIdx)}
className={cn(
'w-full text-left text-[10px] font-bold uppercase tracking-widest mb-2 px-1 py-0.5 rounded transition-colors',
isCurrent ? 'text-blue-600' : 'text-slate-400 hover:text-slate-600',
)}
>
Part {part.partNumber}
</button>
{/* Question number grid */}
<div className="grid grid-cols-5 gap-1.5 mb-2">
{part.questions.map((q, qIdx) => {
const globalNum = partOffsets[partIdx] + qIdx + 1
const answered = answers[q.id] !== null && answers[q.id] !== undefined
return (
<button
key={q.id}
onClick={() => onSelectPart(partIdx)}
title={`Câu ${globalNum}`}
className={cn(
'w-8 h-8 rounded-lg flex items-center justify-center text-[11px] font-semibold transition-all',
isCurrent && answered
? 'bg-blue-600 text-white'
: !isCurrent && answered
? 'bg-blue-400 text-white'
: isCurrent
? 'border-2 border-blue-600 text-blue-600'
: 'border-2 border-slate-200 text-slate-400 hover:border-slate-300',
)}
>
{globalNum}
</button>
)
})}
</div>
</div>
)
})}
{/* Legend */}
<div className="px-4 py-3 border-t border-slate-100 mt-1">
<div className="flex flex-col gap-1.5 text-[10px] text-slate-400">
<span className="flex items-center gap-2">
<span className="w-4 h-4 rounded bg-blue-600 inline-block" />Đã trả lời
</span>
<span className="flex items-center gap-2">
<span className="w-4 h-4 rounded border-2 border-slate-200 inline-block" />Chưa làm
</span>
</div>
</div>
</aside>
)
}

View File

@@ -3,7 +3,7 @@ import { useNavigate } from '@tanstack/react-router'
import { CircularProgress } from '@/components/CircularProgress'
import { useTestStore } from '@/store/test-store'
import { TOEIC_PARTS } from '@/temp/local-data'
import { fetchQuestions } from '@/hooks/use-questions'
import { fetchQuestionsForTest } from '@/hooks/use-questions'
import { useRequireAuth } from '@/hooks/use-require-auth'
export function ToeicPractice() {
@@ -16,8 +16,9 @@ export function ToeicPractice() {
if (!requireAuth()) return
setLoadingPartId(partId)
try {
const questions = await fetchQuestions(partId, 10)
startExam(partId, partName, questions)
// TODO: replace hardcoded testId=1 with real test selection
const parts = await fetchQuestionsForTest(1, [partId])
startExam({ testId: 1, testName: partName, parts, totalSeconds: 0 })
navigate({ to: '/toeic/session' })
} catch (err) {
console.error('Failed to load questions:', err)

View File

@@ -0,0 +1,151 @@
import { useState } from 'react'
import { useNavigate } from '@tanstack/react-router'
import { useQuery } from '@tanstack/react-query'
import { cn } from '@/lib/utils'
import { fetchTestWithParts } from '@/features/toeic/api/test-list-api'
import { fetchQuestionsForTest } from '@/hooks/use-questions'
import { useTestStore } from '@/store/test-store'
import { useRequireAuth } from '@/hooks/use-require-auth'
interface Props { testId: number }
export function ToeicTestDetail({ testId }: Props) {
const navigate = useNavigate()
const { startExam } = useTestStore()
const { requireAuth } = useRequireAuth()
const [selectedParts, setSelectedParts] = useState<number[]>([])
const [loading, setLoading] = useState(false)
const { data, isLoading } = useQuery({
queryKey: ['test-detail', testId],
queryFn: () => fetchTestWithParts(testId),
})
function togglePart(partNumber: number) {
setSelectedParts(prev =>
prev.includes(partNumber) ? prev.filter(p => p !== partNumber) : [...prev, partNumber]
)
}
async function handleStart(mode: 'full' | 'parts') {
if (!requireAuth()) return
if (mode === 'parts' && selectedParts.length === 0) return
if (!data) return
setLoading(true)
try {
const partNumbers = mode === 'full' ? undefined : selectedParts
const parts = await fetchQuestionsForTest(testId, partNumbers)
const totalSeconds = mode === 'full'
? data.test.durationMinutes * 60
: selectedParts.length * 10 * 60
startExam({ testId, testName: data.test.title, parts, totalSeconds })
navigate({ to: '/toeic/session' })
} finally {
setLoading(false)
}
}
if (isLoading) {
return (
<div className="px-6 py-8 max-w-5xl mx-auto">
<div className="h-8 w-64 bg-slate-200 rounded animate-pulse mb-8" />
<div className="grid grid-cols-2 gap-5">
<div className="h-80 bg-slate-100 rounded-2xl animate-pulse" />
<div className="h-80 bg-slate-100 rounded-2xl animate-pulse" />
</div>
</div>
)
}
if (!data) return null
const { test, parts } = data
return (
<div className="px-6 py-8 max-w-5xl mx-auto page-enter">
{/* Back + title */}
<div className="flex items-center gap-3 mb-1">
<button
onClick={() => navigate({ to: '/toeic' })}
className="w-8 h-8 rounded-full border border-slate-200 flex items-center justify-center hover:bg-slate-50 transition-colors"
>
<span className="material-symbols-outlined text-slate-600" style={{ fontSize: 18 }}>arrow_back</span>
</button>
<h1 className="text-2xl font-extrabold text-slate-800">{test.title}</h1>
</div>
<p className="text-slate-400 text-sm ml-11 mb-8">{test.totalQuestions} câu · {test.durationMinutes} phút</p>
<div className="grid grid-cols-1 lg:grid-cols-2 gap-5">
{/* Full test card */}
<div
className="rounded-2xl p-6 flex flex-col text-white relative overflow-hidden"
style={{ background: 'linear-gradient(135deg, #2563EB, #1d4ed8)' }}
>
<div className="absolute -top-4 -right-4 opacity-10">
<span className="material-symbols-outlined" style={{ fontSize: 100 }}>military_tech</span>
</div>
<span className="material-symbols-outlined mb-4" style={{ fontSize: 32 }}>military_tech</span>
<h2 className="text-2xl font-extrabold mb-1">Thi Toàn Bộ</h2>
<p className="text-blue-100 text-sm mb-2">{test.totalQuestions} câu · {test.durationMinutes} phút · Toàn bộ {parts.length} parts</p>
<p className="text-blue-100 text-xs mb-8"> phỏng bài thi TOEIC thực tế với giới hạn thời gian.</p>
<button
onClick={() => handleStart('full')}
disabled={loading}
className="mt-auto py-3 bg-white text-blue-600 rounded-xl font-bold text-sm hover:bg-blue-50 transition-colors disabled:opacity-60 flex items-center justify-center gap-2"
>
{loading ? <span className="w-4 h-4 border-2 border-blue-300 border-t-blue-600 rounded-full animate-spin" /> : (
<><span className="material-symbols-outlined" style={{ fontSize: 18 }}>play_arrow</span>Bắt đu thi</>
)}
</button>
</div>
{/* Part selection card */}
<div className="bg-white rounded-2xl border border-slate-200 p-6 flex flex-col">
<span className="material-symbols-outlined text-blue-600 mb-4" style={{ fontSize: 32 }}>checklist</span>
<h2 className="text-xl font-extrabold text-slate-800 mb-1">Chọn Part Luyện Tập</h2>
<p className="text-slate-400 text-sm mb-4">Chọn các part muốn luyện tập</p>
<div className="space-y-2 flex-1">
{parts.map((part) => {
const checked = selectedParts.includes(part.partNumber)
return (
<button
key={part.partNumber}
onClick={() => togglePart(part.partNumber)}
className={cn(
'w-full flex items-center gap-3 px-3 py-2.5 rounded-xl border-2 transition-all text-left',
checked
? 'border-blue-600 bg-blue-50'
: 'border-slate-100 hover:border-slate-200 bg-slate-50/50',
)}
>
<span className={cn(
'w-5 h-5 rounded flex items-center justify-center border-2 flex-shrink-0',
checked ? 'bg-blue-600 border-blue-600' : 'border-slate-300',
)}>
{checked && <span className="material-symbols-outlined text-white" style={{ fontSize: 14 }}>check</span>}
</span>
<span className="flex-1 text-sm font-semibold text-slate-700">
Part {part.partNumber} {part.title}
</span>
<span className="text-xs text-slate-400 bg-slate-100 px-2 py-0.5 rounded-full flex-shrink-0">
{part.questionCount} câu
</span>
</button>
)
})}
</div>
<button
onClick={() => handleStart('parts')}
disabled={loading || selectedParts.length === 0}
className="mt-4 w-full py-3 bg-blue-600 text-white rounded-xl font-bold text-sm hover:bg-blue-700 transition-colors disabled:opacity-40 disabled:cursor-not-allowed flex items-center justify-center gap-2"
>
{loading ? <span className="w-4 h-4 border-2 border-blue-200 border-t-white rounded-full animate-spin" /> : (
<><span className="material-symbols-outlined" style={{ fontSize: 18 }}>play_arrow</span>Bắt đu luyện tập</>
)}
</button>
</div>
</div>
</div>
)
}

View File

@@ -0,0 +1,112 @@
import { useNavigate } from '@tanstack/react-router'
import { useQuery } from '@tanstack/react-query'
import { fetchTests } from '@/features/toeic/api/test-list-api'
export function ToeicTestList() {
const navigate = useNavigate()
const { data: tests = [], isLoading, error } = useQuery({
queryKey: ['tests'],
queryFn: fetchTests,
})
return (
<div className="px-6 lg:px-10 py-10 max-w-6xl mx-auto page-enter">
{/* Editorial head */}
<div className="flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-10">
<div>
<div className="at-eyebrow mb-3">Luyện đ</div>
<h1 className="at-title text-4xl lg:text-[44px]">
TOEIC <i>Mock Tests</i>
</h1>
<p className="mt-4 text-sm" style={{ color: 'var(--at-mute)' }}>
Chọn đ đ bắt đu luyện tập {tests.length} đ thi
</p>
</div>
</div>
{isLoading && (
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5">
{Array.from({ length: 6 }).map((_, i) => (
<div
key={i}
className="rounded-2xl h-44 animate-pulse"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
/>
))}
</div>
)}
{error && (
<div
className="rounded-2xl p-6 text-sm"
style={{ background: 'var(--at-bad-soft)', border: '1px solid rgba(193,68,62,0.2)', color: 'var(--at-bad)' }}
>
Không thể tải danh sách đ thi. Vui lòng thử lại.
</div>
)}
{!isLoading && !error && tests.length === 0 && (
<div
className="rounded-2xl p-16 text-center"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
>
<span className="material-symbols-outlined mb-3 block" style={{ fontSize: 48, color: 'var(--at-mute-2)' }}>
library_books
</span>
<p className="at-serif text-lg" style={{ color: 'var(--at-ink)' }}>Chưa đ thi nào.</p>
<p className="text-sm mt-1" style={{ color: 'var(--at-mute)' }}>Dữ liệu đang đưc cập nhật.</p>
</div>
)}
{tests.length > 0 && (
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5">
{tests.map((test) => (
<div
key={test.id}
className="rounded-2xl p-6 flex flex-col transition-all hover:-translate-y-1"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
>
{test.categoryName && (
<span className="at-chip at-chip-brand self-start mb-3">
<span className="at-chip-dot" />
{test.categoryName}
</span>
)}
<h3
className="at-serif text-[20px] leading-[1.2] tracking-tight mb-2"
style={{ color: 'var(--at-ink)', fontWeight: 500 }}
>
{test.title}
</h3>
{test.description && (
<p className="text-xs leading-[1.5] mb-3 line-clamp-2" style={{ color: 'var(--at-mute)' }}>
{test.description}
</p>
)}
<div className="flex items-center gap-4 text-xs mt-auto mb-4" style={{ color: 'var(--at-mute)' }}>
<span className="flex items-center gap-1">
<span className="material-symbols-outlined" style={{ fontSize: 13 }}>list_alt</span>
<b className="tabular-nums" style={{ color: 'var(--at-ink)' }}>{test.totalQuestions}</b> câu
</span>
<span className="flex items-center gap-1">
<span className="material-symbols-outlined" style={{ fontSize: 13 }}>timer</span>
<b className="tabular-nums" style={{ color: 'var(--at-ink)' }}>{test.durationMinutes}</b> phút
</span>
</div>
<button
onClick={() => navigate({ to: '/toeic/$testId', params: { testId: String(test.id) } })}
className="w-full py-2.5 rounded-xl text-[13px] font-semibold transition-opacity hover:opacity-90"
style={{ background: 'var(--at-ink)', color: 'var(--at-paper)' }}
>
Bắt đu
</button>
</div>
))}
</div>
)}
</div>
)
}

View File

@@ -95,60 +95,104 @@ export function WritingChecker() {
)
}
const sentenceCount = text.split(/[.!?]+/).filter(s => s.trim()).length
const wordCount = text.split(/\s+/).filter(Boolean).length
return (
<div className="px-4 lg:px-6 py-6 max-w-6xl mx-auto page-enter">
<div className="mb-6">
<h1 className="text-2xl font-extrabold text-slate-800 mb-1">AI Chấm Writing</h1>
<p className="text-slate-500 text-sm">Nhận phản hồi tức thì về ngữ pháp, từ vựng cấu trúc bài viết.</p>
<div className="px-6 lg:px-10 py-10 max-w-6xl mx-auto page-enter">
{/* Editorial page head */}
<div className="flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-10">
<div className="min-w-0">
<div className="at-eyebrow mb-3 inline-flex items-center gap-1.5">
<span className="material-symbols-outlined" style={{ fontSize: 12 }}>auto_awesome</span>
AI Writing Checker
</div>
<h1 className="at-title text-4xl lg:text-[44px]">
Kiểm tra <i>bài viết</i>
</h1>
<p className="mt-4 text-sm" style={{ color: 'var(--at-mute)' }}>
Dán bài viết AI sẽ kiểm tra ngữ pháp, chính tả, chấm điểm IELTS/TOEIC
</p>
</div>
<div className="flex gap-2.5 flex-shrink-0">
<button
className="inline-flex items-center gap-2 px-4 py-3 rounded-xl text-[13.5px] font-semibold transition-colors hover:opacity-80"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)', color: 'var(--at-ink-2)' }}
>
<span className="material-symbols-outlined" style={{ fontSize: 16 }}>mic</span>
Nhập bằng giọng nói
</button>
<button
onClick={handleSubmit}
disabled={!canSubmit}
className={cn(
'inline-flex items-center gap-2 px-5 py-3 rounded-xl text-[13.5px] font-semibold transition-opacity',
canSubmit ? 'hover:opacity-90' : 'cursor-not-allowed opacity-50',
)}
style={{ background: 'var(--at-ink)', color: 'var(--at-paper)', border: '1px solid var(--at-ink)' }}
>
{isPending ? (
<>
<span className="w-4 h-4 border-2 border-white/40 border-t-white rounded-full animate-spin" />
Đang chấm...
</>
) : (
<>
<span className="material-symbols-outlined" style={{ fontSize: 16 }}>auto_awesome</span>
Kiểm tra ngay
</>
)}
</button>
</div>
</div>
<div className="flex flex-col lg:flex-row gap-5">
<div className="grid lg:grid-cols-[1.5fr_1fr] gap-5">
{/* Left: Input */}
<div className="flex-1 min-w-0">
<div className="bg-white rounded-2xl border border-slate-200 p-5">
<div className="flex items-center justify-between mb-3">
<span className="text-sm font-semibold text-slate-700">Bài writing của bạn</span>
<span className={cn('text-xs tabular-nums', charCount > MAX_CHARS ? 'text-red-500 font-bold' : 'text-slate-400')}>
{charCount}/{MAX_CHARS}
</span>
<div className="min-w-0">
<div
className="rounded-2xl overflow-hidden"
style={{ background: 'var(--at-surface)', border: '1px solid var(--at-line)' }}
>
<div
className="px-5 py-3.5 flex items-center justify-between"
style={{ background: 'var(--at-paper-2)', borderBottom: '1px solid var(--at-line)' }}
>
<div className="flex gap-1.5">
<span className="at-chip">
<span className="at-chip-dot" />
Đề: Working from home
</span>
<span className="at-chip at-chip-brand">
<span className="at-chip-dot" />
Essay · Band 6-7
</span>
</div>
<div className="text-xs tabular-nums" style={{ color: charCount > MAX_CHARS ? 'var(--at-bad)' : 'var(--at-mute)' }}>
{wordCount} từ · {sentenceCount} câu · {charCount}/{MAX_CHARS}
</div>
</div>
<textarea
value={text}
onChange={(e) => setText(e.target.value.slice(0, MAX_CHARS))}
rows={12}
dir="ltr"
placeholder="Nhập bài writing của bạn vào đây... (TOEIC email, IELTS task, hoặc đoạn văn tự do)"
className="w-full resize-none rounded-xl border border-slate-200 bg-slate-50 p-4 text-sm text-left text-slate-800 placeholder:text-slate-400 focus:outline-none focus:border-blue-400 focus:bg-white transition-colors"
/>
<div className="mt-3 flex items-center justify-between">
<div className="flex items-center gap-1.5">
<span className="material-symbols-outlined text-slate-400" style={{ fontSize: 14 }}>info</span>
<span className={cn('text-xs font-medium', remaining <= 1 ? 'text-red-500' : 'text-slate-400')}>
<div className="p-5">
<textarea
value={text}
onChange={(e) => setText(e.target.value.slice(0, MAX_CHARS))}
rows={12}
dir="ltr"
placeholder="Bắt đầu viết hoặc dán bài của bạn ở đây..."
className="w-full resize-none bg-transparent border-none outline-none"
style={{
fontFamily: 'var(--at-sans)',
fontSize: 15,
lineHeight: 1.7,
color: 'var(--at-ink)',
minHeight: 280,
}}
/>
<div className="mt-3 flex items-center gap-1.5">
<span className="material-symbols-outlined" style={{ fontSize: 14, color: 'var(--at-mute)' }}>info</span>
<span className="text-xs font-medium" style={{ color: remaining <= 1 ? 'var(--at-bad)' : 'var(--at-mute)' }}>
Còn {remaining}/{dailyLimit} lượt hôm nay
</span>
</div>
<button
onClick={handleSubmit}
disabled={!canSubmit}
className={cn(
'flex items-center gap-2 px-5 py-2.5 rounded-xl text-sm font-bold transition-all',
canSubmit
? 'bg-blue-600 text-white hover:bg-blue-700 shadow-lg shadow-blue-600/20'
: 'bg-slate-100 text-slate-400 cursor-not-allowed',
)}
>
{isPending ? (
<>
<span className="w-4 h-4 border-2 border-white/40 border-t-white rounded-full animate-spin" />
Đang chấm...
</>
) : (
<>
<span className="material-symbols-outlined" style={{ fontSize: 18 }}>auto_fix_high</span>
Chấm bài ngay
</>
)}
</button>
</div>
</div>
@@ -172,11 +216,16 @@ export function WritingChecker() {
</div>
{/* Right: Feedback */}
<div className="lg:w-80 flex-shrink-0">
<div className="flex flex-col gap-5">
{!feedback && !isPending && (
<div className="bg-white rounded-2xl border border-slate-200 p-6 flex flex-col items-center justify-center text-center h-full min-h-48">
<span className="material-symbols-outlined text-slate-300 mb-3" style={{ fontSize: 48 }}>auto_fix_high</span>
<p className="text-sm text-slate-400">Nhập bài nhấn "Chấm bài ngay" đ nhận phản hồi từ AI</p>
<div className="at-tip">
<div className="at-tip-label">AI kiểm tra ?</div>
<div className="text-[12.5px] leading-[1.55]" style={{ color: 'var(--at-ink-2)' }}>
Ngữ pháp · Chính tả · Từ vựng học thuật · Tính mạch lạc · Chấm điểm theo band IELTS/TOEIC.
Một bài TOEIC Writing band 7+ cần{' '}
<b style={{ color: 'var(--at-warm)', fontWeight: 700 }}>ít nhất 250 từ</b> sử dụng{' '}
<b style={{ color: 'var(--at-warm)', fontWeight: 700 }}>3-4 linking words</b>.
</div>
</div>
)}

View File

@@ -1,35 +1,96 @@
import { useQuery } from "@tanstack/react-query"
import { supabase } from "@/lib/supabase"
import type { Question } from "@/types"
import type { Question, SessionPart } from "@/types"
const ANSWER_INDEX: Record<string, number> = { A: 0, B: 1, C: 2, D: 3 }
type AnswerChoiceRow = { value: string; label_text: string | null; is_correct: boolean }
type QuestionRow = { id: number; question_text: string | null; explanation: string | null; group_id: number; answer_choice: AnswerChoiceRow[] }
type GroupRow = { id: number; part_id: number; audio_url: string | null; image_url: string | null; passage_text: string | null }
type PartRow = { id: number; part_number: number }
// Maps a Supabase row to the shared Question interface.
// DB uses `content` + `answer` ('A''D'); interface uses `text` + `correctAnswer` (03).
function rowToQuestion(row: Record<string, unknown>): Question {
function buildOptions(choices: AnswerChoiceRow[]): string[] {
return [...choices].sort((a, b) => a.value.localeCompare(b.value)).map(c => c.label_text ?? '')
}
function getCorrectIndex(choices: AnswerChoiceRow[]): number {
const sorted = [...choices].sort((a, b) => a.value.localeCompare(b.value))
const idx = sorted.findIndex(c => c.is_correct)
return idx >= 0 ? idx : 0
}
function rowToQuestion(row: QuestionRow, group: GroupRow, partNumber: number): Question {
return {
id: row.id as string,
part: row.part as number,
text: row.content as string,
options: row.options as string[],
correctAnswer: ANSWER_INDEX[(row.answer as string).toUpperCase()] ?? 0,
explanation: (row.explanation as string) ?? '',
id: row.id,
partNumber,
text: row.question_text,
options: buildOptions(row.answer_choice),
correctAnswer: getCorrectIndex(row.answer_choice),
explanation: row.explanation,
groupId: row.group_id,
audioUrl: group.audio_url ?? undefined,
imageUrl: group.image_url ?? undefined,
passageText: group.passage_text ?? undefined,
}
}
// Exported for imperative use (e.g. ToeicPractice click handler).
// part=0 fetches all parts (Full Test).
export async function fetchQuestions(part: number, limit = 10): Promise<Question[]> {
let query = supabase.from('questions').select('*').limit(limit)
if (part > 0) query = query.eq('part', part)
const { data, error } = await query
if (error) throw error
return (data ?? []).map(rowToQuestion)
}
/**
* Fetch all questions for a test, optionally filtered to specific part numbers.
* partNumbers=[] or undefined → fetch all parts of the test.
* Returns questions grouped into SessionPart[] ordered by part_number.
*/
export async function fetchQuestionsForTest(
testId: number,
partNumbers?: number[],
): Promise<SessionPart[]> {
// Step 1: Get parts for this test
let partsQuery = supabase.from('part').select('id, part_number, title').eq('test_id', testId).order('part_number')
if (partNumbers?.length) partsQuery = partsQuery.in('part_number', partNumbers)
const { data: parts, error: partsError } = await partsQuery
if (partsError) throw partsError
if (!parts?.length) return []
export function useQuestions(part: number, limit = 10) {
return useQuery({
queryKey: ['questions', part, limit],
queryFn: () => fetchQuestions(part, limit),
})
const partRows = parts as (PartRow & { title: string })[]
const partIds = partRows.map(p => p.id)
const partNumberById = new Map(partRows.map(p => [p.id, p.part_number]))
const partTitleByNumber = new Map(partRows.map(p => [p.part_number, p.title]))
// Step 2: Get question_groups for those parts
const { data: groups, error: groupsError } = await supabase
.from('question_group')
.select('id, part_id, audio_url, image_url, passage_text')
.in('part_id', partIds)
if (groupsError) throw groupsError
if (!groups?.length) return []
const groupMap = new Map<number, GroupRow>((groups as GroupRow[]).map(g => [g.id, g]))
const groupIds = (groups as GroupRow[]).map(g => g.id)
// Step 3: Get questions with answer choices
const { data: rows, error } = await supabase
.from('question')
.select('id, question_text, explanation, group_id, answer_choice(value, label_text, is_correct)')
.in('group_id', groupIds)
.order('question_number')
if (error) throw error
const questions = (rows as QuestionRow[] ?? [])
.map(row => {
const group = groupMap.get(row.group_id)!
const partNumber = partNumberById.get(group.part_id)!
return rowToQuestion(row, group, partNumber)
})
.filter(q => q.options.length > 0)
// Group into SessionPart[] ordered by partNumber
const byPart = new Map<number, Question[]>()
for (const q of questions) {
if (!byPart.has(q.partNumber)) byPart.set(q.partNumber, [])
byPart.get(q.partNumber)!.push(q)
}
return partRows
.filter(p => byPart.has(p.part_number))
.map(p => ({
partNumber: p.part_number,
partName: partTitleByNumber.get(p.part_number) ?? `Part ${p.part_number}`,
questions: byPart.get(p.part_number)!,
}))
}

View File

@@ -7,8 +7,18 @@ import type { WritingFeedback } from "@/types"
const AUTH_DAILY_LIMIT = 10
const GUEST_DAILY_LIMIT = 3
const SUPABASE_URL = import.meta.env.VITE_SUPABASE_URL as string
const SUPABASE_ANON_KEY = (import.meta.env.VITE_SUPABASE_ANON_KEY || import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY) as string
// Resolve env at runtime — production injects window.__ENV__ via docker/entrypoint.sh,
// dev reads from Vite's import.meta.env. Must match src/lib/supabase.ts.
function resolveSupabaseEnv() {
const runtime = (window as unknown as { __ENV__?: Record<string, string> }).__ENV__ ?? {}
const url = runtime.VITE_SUPABASE_URL || import.meta.env.VITE_SUPABASE_URL
const key =
runtime.VITE_SUPABASE_ANON_KEY ||
runtime.VITE_SUPABASE_PUBLISHABLE_KEY ||
import.meta.env.VITE_SUPABASE_ANON_KEY ||
import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY
return { url: url as string | undefined, key: key as string | undefined }
}
// Calls the writing-check-dbiz Supabase edge function.
// SSE format emitted by the function: data: {"text":"..."} | data: [DONE]
@@ -16,12 +26,16 @@ async function callEdgeFunction(
content: string,
onChunk?: (text: string) => void,
): Promise<WritingFeedback> {
const res = await fetch(`${SUPABASE_URL}/functions/v1/writing-check-dbiz`, {
const { url, key } = resolveSupabaseEnv()
if (!url || !key) {
throw new Error("Supabase chưa được cấu hình. Vui lòng kiểm tra biến môi trường.")
}
const res = await fetch(`${url}/functions/v1/writing-check-dbiz`, {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${SUPABASE_ANON_KEY}`,
apikey: SUPABASE_ANON_KEY,
Authorization: `Bearer ${key}`,
apikey: key,
},
body: JSON.stringify({ content }),
})

View File

@@ -48,6 +48,36 @@
}
:root {
/* Atelier palette (global — applied across entire app) */
--at-brand: #3D4BD7;
--at-brand-ink: #1A2280;
--at-brand-soft: #E9ECFE;
--at-brand-softer: #F4F5FE;
--at-ink: #0F1114;
--at-ink-2: #2A2D33;
--at-ink-3: #3E4149;
--at-mute: #6B6F76;
--at-mute-2: #9CA0A8;
--at-line: #E8E5DE;
--at-line-2: #EFECE4;
--at-paper: #FAF8F3;
--at-paper-2: #F4F1EA;
--at-surface: #FFFFFF;
--at-good: #2F7D4A;
--at-good-soft: #E4F0E7;
--at-good-ink: #1B4B2C;
--at-warm: #D26A3B;
--at-warm-soft: #F8E9DE;
--at-warm-ink: #6B2A14;
--at-bad: #C1443E;
--at-bad-soft: #F4DEDC;
--at-streak: #C15A34;
--at-streak-soft: #F7E6DC;
--at-serif: "Fraunces", "Instrument Serif", Georgia, serif;
--at-sans: "Geist", "Geist Variable", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
--at-mono: "Geist Mono", ui-monospace, SF Mono, Menlo, monospace;
--background: oklch(1 0 0);
--foreground: oklch(0.145 0 0);
--card: oklch(1 0 0);
@@ -121,13 +151,106 @@
@apply border-border outline-ring/50;
}
body {
@apply bg-slate-50 text-slate-800;
background: var(--at-paper);
color: var(--at-ink);
font-family: var(--at-sans);
font-feature-settings: "ss01", "cv11";
-webkit-font-smoothing: antialiased;
letter-spacing: -0.005em;
}
html {
@apply font-sans;
}
}
/* Atelier global helpers — usable outside .atelier scope */
.at-serif { font-family: var(--at-serif); }
.at-mono { font-family: var(--at-mono); }
.at-eyebrow {
font-family: var(--at-serif);
font-style: italic;
font-weight: 500;
font-size: 13px;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--at-mute);
}
.at-title {
font-family: var(--at-serif);
font-weight: 400;
letter-spacing: -0.025em;
line-height: 1.05;
color: var(--at-ink);
}
.at-title i { font-style: italic; color: var(--at-brand); font-weight: 400; }
.at-chip {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 5px 10px;
border-radius: 999px;
background: var(--at-line-2);
color: var(--at-ink-3);
font-size: 11px;
font-weight: 600;
letter-spacing: 0.08em;
}
.at-chip-dot { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.at-chip-brand { background: var(--at-brand-soft); color: var(--at-brand-ink); }
.at-chip-good { background: var(--at-good-soft); color: var(--at-good-ink); }
.at-chip-warm { background: var(--at-warm-soft); color: var(--at-warm); }
.at-bar {
height: 6px;
background: var(--at-line-2);
border-radius: 999px;
overflow: hidden;
position: relative;
}
.at-bar > span {
position: absolute;
inset: 0 auto 0 0;
background: var(--at-brand);
border-radius: 999px;
transition: width 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.at-pullquote {
padding: 18px;
border-radius: 16px;
background: var(--at-brand-soft);
position: relative;
overflow: hidden;
}
.at-pullquote-q {
font-family: var(--at-serif);
font-size: 15px;
font-style: italic;
line-height: 1.45;
color: var(--at-brand-ink);
letter-spacing: -0.01em;
}
.at-tip {
padding: 16px;
background: var(--at-warm-soft);
border-radius: 14px;
border: 1px solid rgba(210, 106, 59, 0.18);
}
.at-tip-label {
font-size: 10px;
font-weight: 700;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--at-warm);
display: flex;
align-items: center;
gap: 6px;
margin-bottom: 8px;
}
.at-tip-label::before {
content: "";
width: 5px; height: 5px; border-radius: 50%;
background: var(--at-warm);
}
/* ── Flashcard 3D flip ── */
.flashcard-scene {
perspective: 1000px;
@@ -173,4 +296,209 @@
}
.timer-urgent {
animation: timer-pulse 1s ease-in-out infinite;
}
}
/* ────────────────────────────────────────────────────────────
The Atelier — flashcard learn page scope
Tokens + typography + 3D flip card
Fonts: Fraunces + Geist + Geist Mono (loaded by route)
──────────────────────────────────────────────────────────── */
.atelier {
--at-accent: #3D4BD7;
--at-accent-soft: #E9ECFE;
--at-accent-ink: #1A2280;
--at-ink: #0F1114;
--at-ink-2: #2A2D33;
--at-mute: #6B6F76;
--at-mute-2: #9CA0A8;
--at-line: #E8E5DE;
--at-line-2: #EFECE4;
--at-paper: #FAF8F3;
--at-paper-2: #F4F1EA;
--at-good: #2F7D4A;
--at-good-soft: #E4F0E7;
--at-warm: #D26A3B;
--at-warm-soft: #F8E9DE;
--at-serif: "Fraunces", "Instrument Serif", Georgia, serif;
--at-sans: "Geist", "Geist Variable", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
--at-mono: "Geist Mono", ui-monospace, SF Mono, Menlo, monospace;
background: var(--at-paper);
color: var(--at-ink);
font-family: var(--at-sans);
font-feature-settings: "ss01", "cv11";
-webkit-font-smoothing: antialiased;
min-height: 100vh;
font-size: 14px;
line-height: 1.5;
letter-spacing: -0.005em;
}
.atelier .at-serif { font-family: var(--at-serif); }
.atelier .at-mono { font-family: var(--at-mono); }
/* Card */
.atelier .at-card-outer {
perspective: 2000px;
width: 100%;
max-width: 420px;
margin: 0 auto;
/* Size by available viewport height — never overflow */
height: min(560px, calc(100vh - 14rem));
max-height: 560px;
}
.atelier .at-card {
position: relative;
width: 100%;
height: 100%;
transform-style: preserve-3d;
transition: transform 0.75s cubic-bezier(0.4, 0, 0.2, 1);
cursor: pointer;
animation: at-cardIn 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
@keyframes at-cardIn {
from { opacity: 0; transform: translateY(12px) scale(0.98); }
to { opacity: 1; transform: translateY(0) scale(1); }
}
.atelier .at-card.is-flipped { transform: rotateY(180deg); }
.atelier .at-card-face {
position: absolute;
inset: 0;
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
background: #fff;
border-radius: 28px;
padding: 28px 32px;
display: flex;
flex-direction: column;
border: 1px solid var(--at-line);
box-shadow:
0 1px 2px rgba(15,17,20,0.04),
0 20px 40px -16px rgba(15,17,20,0.12),
0 4px 12px -4px rgba(15,17,20,0.06);
}
.atelier .at-card-back { transform: rotateY(180deg); }
.atelier .at-word {
font-family: var(--at-serif);
font-size: clamp(44px, 6vw, 72px);
font-weight: 400;
line-height: 1;
letter-spacing: -0.035em;
color: var(--at-ink);
font-variation-settings: "opsz" 144, "SOFT" 30, "WONK" 1;
}
.atelier .at-meaning {
font-family: var(--at-serif);
font-size: 26px;
font-weight: 400;
line-height: 1.15;
letter-spacing: -0.02em;
color: var(--at-ink);
}
.atelier .at-chip {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 6px 12px;
background: var(--at-accent-soft);
color: var(--at-accent-ink);
border-radius: 999px;
font-size: 10.5px;
font-weight: 600;
letter-spacing: 0.14em;
}
.atelier .at-chip-dot {
width: 5px; height: 5px; border-radius: 50%;
background: var(--at-accent);
}
.atelier .at-chip-mute { background: var(--at-line-2); color: var(--at-mute); }
.atelier .at-chip-mute .at-chip-dot { background: var(--at-mute); }
.atelier .at-kbd {
font-family: var(--at-mono);
font-size: 10.5px;
padding: 2px 7px;
border: 1px solid var(--at-line);
border-bottom-width: 2px;
border-radius: 5px;
color: var(--at-ink-2);
background: var(--at-paper-2);
}
.atelier .at-example {
padding: 14px 16px;
background: var(--at-paper-2);
border-radius: 12px;
border-left: 2px solid var(--at-accent);
}
.atelier .at-action {
flex: 1;
padding: 13px 18px;
border-radius: 12px;
font-weight: 600;
font-size: 13.5px;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
border: 1px solid var(--at-line);
background: #fff;
color: var(--at-ink-2);
transition: all 0.15s ease;
}
.atelier .at-action:hover:not(:disabled) { border-color: var(--at-ink); color: var(--at-ink); transform: translateY(-1px); }
.atelier .at-action:disabled { opacity: 0.4; cursor: not-allowed; }
.atelier .at-action-known {
background: var(--at-good);
color: white;
border-color: var(--at-good);
}
.atelier .at-action-known:hover:not(:disabled) { background: #236238; border-color: #236238; color: white; }
.atelier .at-action-review {
background: var(--at-warm-soft);
color: var(--at-warm);
border-color: rgba(210, 106, 59, 0.3);
}
.atelier .at-action-review:hover:not(:disabled) { background: var(--at-warm); color: white; border-color: var(--at-warm); }
.atelier .at-progress-bar {
height: 6px;
background: var(--at-line-2);
border-radius: 999px;
overflow: hidden;
position: relative;
}
.atelier .at-progress-bar > span {
position: absolute;
inset: 0 auto 0 0;
background: linear-gradient(90deg, var(--at-accent), color-mix(in oklab, var(--at-accent) 80%, white));
border-radius: 999px;
transition: width 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.atelier .at-pct {
font-family: var(--at-serif);
font-size: 22px;
color: var(--at-accent);
font-weight: 400;
font-style: italic;
letter-spacing: -0.02em;
}
/* Swipe-off FX */
@keyframes at-knownFx {
0% { transform: translateY(0); }
40% { transform: translateY(-8px) rotate(2deg); }
100% { transform: translateX(120%) rotate(8deg); opacity: 0; }
}
@keyframes at-reviewFx {
0% { transform: translateY(0); }
40% { transform: translateY(-8px) rotate(-2deg); }
100% { transform: translateX(-120%) rotate(-8deg); opacity: 0; }
}
.atelier .at-card.fx-known { animation: at-knownFx 0.55s cubic-bezier(0.4,0,0.2,1) forwards; }
.atelier .at-card.fx-review { animation: at-reviewFx 0.55s cubic-bezier(0.4,0,0.2,1) forwards; }

View File

@@ -1,22 +1,47 @@
import { supabase } from '@/lib/supabase'
const ANSWER_VALUES = ['A', 'B', 'C', 'D'] as const
interface TestResultData {
partId: number
partName: string
testId: number | null
selectedParts: number[]
score: number
total: number
timeUsed: number
answers: { questionId: string; selected: number | null; correct: boolean }[]
answers: { questionId: number; selected: number | null; correct: boolean }[]
}
/** Fire-and-forget: save test result. Failures are logged but don't block UI. */
export async function saveTestResult(userId: string, data: TestResultData): Promise<void> {
const { error } = await supabase.from('user_progress').insert({
user_id: userId,
type: 'test',
data,
})
if (error) console.error('Failed to save test result:', error.message)
const { data: attempt, error: attemptError } = await supabase
.from('user_test_attempt')
.insert({
user_id: userId,
test_id: data.testId,
selected_parts: data.selectedParts,
time_limit_minutes: 10,
submitted_at: new Date().toISOString(),
time_spent_seconds: data.timeUsed,
total_correct: data.score,
total_questions: data.total,
})
.select('id')
.single()
if (attemptError) {
console.error('Failed to save test attempt:', attemptError.message)
return
}
const answerRows = data.answers.map(a => ({
attempt_id: attempt.id,
question_id: a.questionId,
selected_value: a.selected !== null ? ANSWER_VALUES[a.selected] : null,
is_correct: a.correct,
}))
const { error: answersError } = await supabase.from('user_answer').insert(answerRows)
if (answersError) console.error('Failed to save answers:', answersError.message)
}
/** Fire-and-forget: save writing submission with AI feedback. */
@@ -48,10 +73,9 @@ export async function countTodayWritingSubmissions(userId: string): Promise<numb
/** Fetch test history for a user (most recent first, max 20). */
export async function fetchTestHistory(userId: string) {
const { data, error } = await supabase
.from('user_progress')
.select('*')
.from('user_test_attempt')
.select('id, selected_parts, time_spent_seconds, total_correct, total_questions, score, submitted_at, created_at')
.eq('user_id', userId)
.eq('type', 'test')
.order('created_at', { ascending: false })
.limit(20)
if (error) throw error

View File

@@ -1,6 +1,6 @@
import { createFileRoute } from '@tanstack/react-router'
import { Dashboard } from '@/features/dashboard/components/Dashboard'
export const Route = createFileRoute('/dashboard')({
export const Route = createFileRoute('/archivement')({
component: Dashboard,
})

View File

@@ -0,0 +1,11 @@
import { createFileRoute } from "@tanstack/react-router"
import { FlashCardTermsPage } from "@/features/flash-card/components/FlashCardTermsPage"
export const Route = createFileRoute("/flash-card/$listId/")({
component: TermsPage,
})
function TermsPage() {
const { listId } = Route.useParams()
return <FlashCardTermsPage listId={Number(listId)} />
}

View File

@@ -0,0 +1,11 @@
import { createFileRoute } from "@tanstack/react-router"
import { FlashCardLearnPage } from "@/features/flash-card/components/FlashCardLearnPage"
export const Route = createFileRoute("/flash-card/$listId/learn")({
component: LearnPage,
})
function LearnPage() {
const { listId } = Route.useParams()
return <FlashCardLearnPage listId={Number(listId)} />
}

View File

@@ -0,0 +1,5 @@
import { createFileRoute, Outlet } from "@tanstack/react-router"
export const Route = createFileRoute("/flash-card/$listId")({
component: () => <Outlet />,
})

View File

@@ -0,0 +1,6 @@
import { createFileRoute } from "@tanstack/react-router"
import { FlashCardListPage } from "@/features/flash-card/components/FlashCardListPage"
export const Route = createFileRoute("/flash-card/")({
component: FlashCardListPage,
})

View File

@@ -0,0 +1,5 @@
import { createFileRoute, Outlet } from "@tanstack/react-router"
export const Route = createFileRoute("/flash-card")({
component: () => <Outlet />,
})

View File

@@ -0,0 +1,11 @@
import { createFileRoute } from '@tanstack/react-router'
import { ToeicTestDetail } from '@/features/toeic/components/ToeicTestDetail'
export const Route = createFileRoute('/toeic/$testId')({
component: TestDetailPage,
})
function TestDetailPage() {
const { testId } = Route.useParams()
return <ToeicTestDetail testId={Number(testId)} />
}

View File

@@ -1,6 +1,6 @@
import { createFileRoute } from "@tanstack/react-router"
import { ToeicPractice } from "@/features/toeic/components/ToeicPractice"
import { ToeicTestList } from "@/features/toeic/components/ToeicTestList"
export const Route = createFileRoute("/toeic/")({
component: ToeicPractice,
component: ToeicTestList,
})

View File

@@ -1,6 +0,0 @@
import { createFileRoute } from "@tanstack/react-router"
import { Vocabulary } from "@/features/vocab/components/Vocabulary"
export const Route = createFileRoute("/vocab")({
component: Vocabulary,
})

View File

@@ -1,52 +1,66 @@
import { create } from 'zustand'
import { persist } from 'zustand/middleware'
import type { Question } from '@/types'
import type { SessionPart } from '@/types'
interface StartExamConfig {
testId: number | null
testName: string
parts: SessionPart[]
totalSeconds: number // 0 = no limit
}
interface TestStore {
partId: number
partName: string
questions: Question[]
answers: (number | null)[]
testId: number | null
testName: string
parts: SessionPart[]
currentPartIndex: number
answers: Record<number, number | null> // questionId → answerIndex (0-3), null=unanswered
isSubmitted: boolean
timeUsed: number // seconds elapsed when submitted
timeUsed: number // seconds elapsed when submitted
totalSeconds: number // time limit (0 = no limit)
startExam: (partId: number, partName: string, questions: Question[]) => void
setAnswer: (questionIndex: number, answerIndex: number) => void
startExam: (config: StartExamConfig) => void
setAnswer: (questionId: number, answerIndex: number) => void
setCurrentPart: (partIndex: number) => void
submitExam: (timeUsed: number) => void
reset: () => void
}
const INITIAL_STATE = {
testId: null,
testName: '',
parts: [],
currentPartIndex: 0,
answers: {},
isSubmitted: false,
timeUsed: 0,
totalSeconds: 0,
}
export const useTestStore = create<TestStore>()(
persist(
(set) => ({
partId: 2,
partName: '',
questions: [],
answers: [],
isSubmitted: false,
timeUsed: 0,
...INITIAL_STATE,
startExam: (partId, partName, questions) =>
set({
partId,
partName,
questions,
answers: new Array(questions.length).fill(null),
isSubmitted: false,
timeUsed: 0,
}),
startExam: ({ testId, testName, parts, totalSeconds }) => {
// Pre-fill all question IDs with null (unanswered)
const answers: Record<number, number | null> = {}
for (const part of parts) {
for (const q of part.questions) answers[q.id] = null
}
set({ testId, testName, parts, currentPartIndex: 0, answers, isSubmitted: false, timeUsed: 0, totalSeconds })
},
setAnswer: (questionIndex, answerIndex) =>
set((state) => {
const answers = [...state.answers]
answers[questionIndex] = answerIndex
return { answers }
}),
setAnswer: (questionId, answerIndex) =>
set((state) => ({
answers: { ...state.answers, [questionId]: answerIndex },
})),
setCurrentPart: (partIndex) => set({ currentPartIndex: partIndex }),
submitExam: (timeUsed) => set({ isSubmitted: true, timeUsed }),
reset: () =>
set({ partId: 2, partName: '', questions: [], answers: [], isSubmitted: false, timeUsed: 0 }),
reset: () => set(INITIAL_STATE),
}),
{ name: 'test-store' },
),

View File

@@ -11,7 +11,7 @@
* When real database data is available, remove the relevant export and update the consumer.
*/
import type { Question, VocabWord, WritingFeedback, ToeicPart } from '@/types'
import type { VocabWord, WritingFeedback, ToeicPart } from '@/types'
// ─── [ACTIVE TEMP] ─────────────────────────────────────────────────────────────
// Used by: src/pages/ToeicPractice.tsx
@@ -28,8 +28,9 @@ export const TOEIC_PARTS: ToeicPart[] = [
]
// ─── [UNUSED] ──────────────────────────────────────────────────────────────────
// Real questions come from Supabase via fetchQuestions() in src/hooks/use-questions.ts
export const MOCK_QUESTIONS: Question[] = [
// Real questions come from Supabase via fetchQuestionsForTest() in src/hooks/use-questions.ts
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export const MOCK_QUESTIONS: any[] = [
{ id: 'q1', part: 2, text: 'What does the man suggest the woman do about the budget report?', options: ['A. Submit it immediately', 'B. Review it again carefully', 'C. Postpone the deadline', 'D. Ask a colleague for help'], correctAnswer: 1, explanation: 'Người đàn ông nói "You should review it carefully before submitting" — gợi ý xem xét lại báo cáo trước khi nộp.' },
{ id: 'q2', part: 2, text: 'Where most likely are the speakers?', options: ['A. In a restaurant', 'B. At a conference', 'C. In an office', 'D. At an airport'], correctAnswer: 2, explanation: 'Các từ như "meeting room", "printer", "desk" cho biết cuộc trò chuyện diễn ra trong văn phòng.' },
{ id: 'q3', part: 2, text: 'Why is the man calling?', options: ['A. To confirm a reservation', 'B. To cancel an appointment', 'C. To reschedule a meeting', 'D. To order supplies'], correctAnswer: 0, explanation: 'Từ "confirm" và "booking number" trong hội thoại chỉ rõ mục đích của cuộc gọi là xác nhận đặt chỗ.' },

View File

@@ -1,10 +1,40 @@
export interface Question {
id: string
part: number
text: string
options: string[]
correctAnswer: number // 0-3
explanation: string
id: number // SERIAL from question table
partNumber: number // from part.part_number — needed for session grouping
text: string | null // question_text (null for photo/audio-only questions)
options: string[] // answer_choice.label_text ordered A→D
correctAnswer: number // 0-3 derived from answer_choice.is_correct
explanation: string | null
groupId: number
audioUrl?: string // from question_group
imageUrl?: string // from question_group
passageText?: string // from question_group (Part 6/7)
}
// One part's worth of questions inside a test session
export interface SessionPart {
partNumber: number
partName: string // e.g. "Mô tả hình ảnh"
questions: Question[]
}
// A test record from the test table
export interface TestRecord {
id: number
title: string
description: string | null
totalQuestions: number
durationMinutes: number
categoryName: string | null
}
// A part record from the part table
export interface PartRecord {
id: number
testId: number
partNumber: number
title: string
questionCount: number
}
export interface VocabWord {

View File

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

View File

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

View File

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View File

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 75 KiB

View File

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File

@@ -0,0 +1,7 @@
CREATE TABLE test_category (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL, -- "TOEIC", "IELTS Academic", "HSK 1"...
slug VARCHAR(100) UNIQUE -- "toeic", "ielts", "hsk-1"
);
ALTER TABLE test ADD COLUMN category_id INT REFERENCES test_category(id);

View File

@@ -0,0 +1,734 @@
[
{
"id": "1835",
"title": "Từ vựng tiếng Anh văn phòng",
"is_public": true,
"type": "term",
"parent_id": null,
"child_ids": []
},
{
"id": "1833",
"title": "Từ vựng tiếng Anh giao tiếp trung cấp",
"is_public": true,
"type": "term",
"parent_id": null,
"child_ids": []
},
{
"id": "1831",
"title": "900 từ TOEFL (có ảnh)",
"is_public": true,
"type": "term",
"parent_id": null,
"child_ids": []
},
{
"id": "1832",
"title": "Từ vựng Tiếng Anh giao tiếp cơ bản",
"is_public": true,
"type": "term",
"parent_id": null,
"child_ids": []
},
{
"id": "1830",
"title": "900 từ IELTS (có ảnh)",
"is_public": true,
"type": "term",
"parent_id": null,
"child_ids": []
},
{
"id": "624",
"title": "Academic word list",
"is_public": true,
"type": "parent",
"parent_id": null,
"child_ids": [
"634",
"633",
"632",
"631",
"630",
"629",
"628",
"627",
"626",
"625"
]
},
{
"id": "1829",
"title": "900 từ SAT (có ảnh)",
"is_public": true,
"type": "term",
"parent_id": null,
"child_ids": []
},
{
"id": "1417",
"title": "GRE-GMAT Vocabulary List",
"is_public": true,
"type": "term",
"parent_id": null,
"child_ids": []
},
{
"id": "500",
"title": "New Academic Word List",
"is_public": true,
"type": "term",
"parent_id": null,
"child_ids": []
},
{
"id": "497",
"title": "TOEIC Word List",
"is_public": true,
"type": "term",
"parent_id": null,
"child_ids": []
},
{
"id": "499",
"title": "Business Word List",
"is_public": true,
"type": "term",
"parent_id": null,
"child_ids": []
},
{
"id": "383",
"title": "Most common IELTS Listening words",
"is_public": true,
"type": "parent",
"parent_id": null,
"child_ids": [
"417",
"416",
"415",
"414",
"413",
"412",
"411",
"410",
"409",
"408",
"407",
"406",
"405",
"404",
"403",
"402",
"401",
"400",
"399",
"398",
"397",
"396",
"395",
"394",
"393",
"392",
"391",
"390",
"389",
"388",
"387",
"386",
"385",
"384"
]
},
{
"id": "361",
"title": "600 TOEIC words",
"is_public": true,
"type": "parent",
"parent_id": null,
"child_ids": [
"371",
"370",
"369",
"368",
"367",
"366",
"365",
"364",
"363",
"362"
]
},
{
"id": "420",
"title": "Powerscore GRE 700 Repeat Offenders",
"is_public": true,
"type": "term",
"parent_id": null,
"child_ids": []
},
{
"id": "354",
"title": "Essential English Idioms",
"is_public": true,
"type": "term",
"parent_id": null,
"child_ids": []
},
{
"id": "329",
"title": "Barron's Essentials Words for IELTS",
"is_public": true,
"type": "parent",
"parent_id": null,
"child_ids": [
"339",
"338",
"337",
"336",
"335",
"334",
"333",
"332",
"331",
"330"
]
},
{
"id": "417",
"title": "IELTS Listening: OTHERS",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "352",
"title": "The College Panda 400 SAT words",
"is_public": true,
"type": "term",
"parent_id": null,
"child_ids": []
},
{
"id": "355",
"title": "Barron's SAT words",
"is_public": true,
"type": "term",
"parent_id": null,
"child_ids": []
},
{
"id": "634",
"title": "Academic word sublist 10",
"is_public": false,
"type": "term",
"parent_id": "624",
"child_ids": []
},
{
"id": "633",
"title": "Academic word sublist 9",
"is_public": false,
"type": "term",
"parent_id": "624",
"child_ids": []
},
{
"id": "632",
"title": "Academic word sublist 8",
"is_public": false,
"type": "term",
"parent_id": "624",
"child_ids": []
},
{
"id": "631",
"title": "Academic word sublist 7",
"is_public": false,
"type": "term",
"parent_id": "624",
"child_ids": []
},
{
"id": "630",
"title": "Academic word sublist 6",
"is_public": false,
"type": "term",
"parent_id": "624",
"child_ids": []
},
{
"id": "629",
"title": "Academic word sublist 5",
"is_public": false,
"type": "term",
"parent_id": "624",
"child_ids": []
},
{
"id": "628",
"title": "Academic word sublist 4",
"is_public": false,
"type": "term",
"parent_id": "624",
"child_ids": []
},
{
"id": "627",
"title": "Academic word sublist 3",
"is_public": false,
"type": "term",
"parent_id": "624",
"child_ids": []
},
{
"id": "626",
"title": "Academic word sublist 2",
"is_public": false,
"type": "term",
"parent_id": "624",
"child_ids": []
},
{
"id": "625",
"title": "Academic word sublist 1",
"is_public": false,
"type": "term",
"parent_id": "624",
"child_ids": []
},
{
"id": "416",
"title": "IELTS Listening: VEHICLES",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "415",
"title": "IELTS Listening: TRANSPORTATIONS",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "414",
"title": "IELTS Listening: WORKS",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "413",
"title": "IELTS Listening: EQUIPMENT - TOOLS",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "411",
"title": "IELTS Listening: ARTS - MEDIA",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "412",
"title": "IELTS Listening: SPORTS",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "410",
"title": "IELTS Listening: TOURING",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "409",
"title": "IELTS Listening: ENVIRONMENT",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "408",
"title": "IELTS Listening: MATERIALS",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "407",
"title": "IELTS Listening: HOBBIES",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "405",
"title": "IELTS Listening: ARCHITECTURE",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "404",
"title": "IELTS Listening: QUALITIES",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "406",
"title": "IELTS Listening: EDUCATION",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "402",
"title": "IELTS Listening: PLACES",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "403",
"title": "IELTS Listening: HOMES",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "400",
"title": "IELTS Listening: IN THE CITY",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "401",
"title": "IELTS Listening: HEALTH",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "399",
"title": "IELTS Listening: TIME EXPRESSION",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "398",
"title": "IELTS Listening: COLORS",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "397",
"title": "IELTS Listening: SHAPES",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "396",
"title": "IELTS Listening: ADJECTIVES",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "394",
"title": "IELTS Listening: LANGUAGES",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "395",
"title": "IELTS Listening: VERBS",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "393",
"title": "IELTS Listening: COUNTRY",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "392",
"title": "IELTS Listening: WEATHER",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "390",
"title": "IELTS Listening: MONEY MATTERS",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "389",
"title": "IELTS Listening: OCEANS",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "391",
"title": "IELTS Listening: NATURE",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "388",
"title": "IELTS Listening: CONTINENTS",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "387",
"title": "IELTS Listening: MARKETING",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "386",
"title": "IELTS Listening: SUBJECTS",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "384",
"title": "IELTS Listening: DAYS OF THE WEEK",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "385",
"title": "IELTS Listening: MONTHS OF THE YEAR",
"is_public": false,
"type": "term",
"parent_id": "383",
"child_ids": []
},
{
"id": "370",
"title": "600 TOEIC words: Entertainment",
"is_public": false,
"type": "term",
"parent_id": "361",
"child_ids": []
},
{
"id": "371",
"title": "600 TOEIC words: Health",
"is_public": false,
"type": "term",
"parent_id": "361",
"child_ids": []
},
{
"id": "369",
"title": "600 TOEIC words: Travel",
"is_public": false,
"type": "term",
"parent_id": "361",
"child_ids": []
},
{
"id": "368",
"title": "600 TOEIC words: Restaurants and Events",
"is_public": false,
"type": "term",
"parent_id": "361",
"child_ids": []
},
{
"id": "367",
"title": "600 TOEIC words: Management Issues",
"is_public": false,
"type": "term",
"parent_id": "361",
"child_ids": []
},
{
"id": "366",
"title": "600 TOEIC words: Financing and Budgeting",
"is_public": false,
"type": "term",
"parent_id": "361",
"child_ids": []
},
{
"id": "365",
"title": "600 TOEIC words: Purchasing",
"is_public": false,
"type": "term",
"parent_id": "361",
"child_ids": []
},
{
"id": "364",
"title": "600 TOEIC words: Personnel",
"is_public": false,
"type": "term",
"parent_id": "361",
"child_ids": []
},
{
"id": "363",
"title": "600 TOEIC words: Office Issues",
"is_public": false,
"type": "term",
"parent_id": "361",
"child_ids": []
},
{
"id": "362",
"title": "600 TOEIC words: General Business",
"is_public": false,
"type": "term",
"parent_id": "361",
"child_ids": []
},
{
"id": "339",
"title": "Barron's IELTS: Education",
"is_public": false,
"type": "term",
"parent_id": "329",
"child_ids": []
},
{
"id": "338",
"title": "Barron's IELTS: Society",
"is_public": false,
"type": "term",
"parent_id": "329",
"child_ids": []
},
{
"id": "337",
"title": "Barron's IELTS: Business",
"is_public": false,
"type": "term",
"parent_id": "329",
"child_ids": []
},
{
"id": "336",
"title": "Barron's IELTS: Tourism",
"is_public": false,
"type": "term",
"parent_id": "329",
"child_ids": []
},
{
"id": "335",
"title": "Barron's IELTS: Health",
"is_public": false,
"type": "term",
"parent_id": "329",
"child_ids": []
},
{
"id": "334",
"title": "Barron's IELTS: Culture",
"is_public": false,
"type": "term",
"parent_id": "329",
"child_ids": []
},
{
"id": "333",
"title": "Barron's IELTS: Transportation",
"is_public": false,
"type": "term",
"parent_id": "329",
"child_ids": []
},
{
"id": "332",
"title": "Barron's IELTS: Leisure Time",
"is_public": false,
"type": "term",
"parent_id": "329",
"child_ids": []
},
{
"id": "331",
"title": "Barron's IELTS: The Natural World",
"is_public": false,
"type": "term",
"parent_id": "329",
"child_ids": []
},
{
"id": "330",
"title": "Barron's IELTS: Technology",
"is_public": false,
"type": "term",
"parent_id": "329",
"child_ids": []
},
{
"id": "498",
"title": "TOEFL Word List",
"is_public": true,
"type": "term",
"parent_id": null,
"child_ids": []
}
]

View File

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
[]

View File

@@ -0,0 +1,651 @@
[
{
"word": "aviation",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[uncountable] the development, design and use of aircraft",
"example": "job losses in the aviation industry",
"image_url": "/media/decks_media/barron/avia.jpg",
"audio_tts_text": "aviation",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "back",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] to support, especially financially",
"example": null,
"image_url": "/media/decks_media/barron/back.jpg",
"audio_tts_text": "back",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "blade",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a thin, flat part of a machine",
"example": "a razor blade\nThe blade of the knife flashed in the moonlight.",
"image_url": "/media/decks_media/barron/blade.jpg",
"audio_tts_text": "blade",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "cable",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] wire used for sending electric signals",
"example": "cables and switches for computers",
"image_url": "/media/decks_media/barron/cable.jpg",
"audio_tts_text": "cable",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "catastrophic",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. extremely bad",
"example": "The failure of the talks could have catastrophic consequences.\ncatastrophic floods.",
"image_url": "/media/decks_media/barron/catas.JPG",
"audio_tts_text": "catastrophic",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "clamp",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to fasten or hold tightly",
"example": "Creed opened his mouth to speak, then clamped it shut.\nShe clamped her hands over her ears.",
"image_url": "/media/decks_media/barron/WGFItsQlaLdRGM5hXA0Hzw_m.jpg",
"audio_tts_text": "clamp",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "coarse",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. rough; not smooth",
"example": "a jacket of coarse wool.",
"image_url": "/media/decks_media/barron/coarse.jpg",
"audio_tts_text": "coarse",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "compensate",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to make up for; balance out",
"example": "Her intelligence more than compensates for her lack of experience.\nBecause my left eye is so weak, my right eye has to work harder to compensate.",
"image_url": "/media/decks_media/barron/balance_1470756627987.jpg",
"audio_tts_text": "compensate",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "confer",
"part_of_speech": null,
"phonetic": "",
"definition": "v.(formal) to discuss; consult with somebody",
"example": "Franklin conferred with his lawyers.",
"image_url": "/media/decks_media/barron/confer.jpg",
"audio_tts_text": "confer",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "critical",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. very important",
"example": "Many parents are strongly critical of the school.\nHe made some highly critical remarks.",
"image_url": "/media/decks_media/barron/critical (1).jpg",
"audio_tts_text": "critical",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "cruise",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to travel at a steady speed",
"example": "We fly at a cruising speed of 500 mph.\nWe were cruising along at 50 miles per hour.",
"image_url": "/media/decks_media/barron/cruise (1).jpg",
"audio_tts_text": "cruise",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "curiosity",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[singular, uncountable] interest; need to know",
"example": "SChildren have a natural curiosity about the world around them.\nI opened the packet just to satisfy my curiosity.",
"image_url": "/media/decks_media/barron/curi.jpg",
"audio_tts_text": "curiosity",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "current",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a flow of electricity, water, or air",
"example": "In its current state, the car is worth £1,000.\nthe current president.",
"image_url": "/media/decks_media/barron/current.png",
"audio_tts_text": "current",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "derive",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to get from something; from something else; originate",
"example": "This word is derived from Latin.",
"image_url": "/media/decks_media/barron/dervice.jpg",
"audio_tts_text": "derive",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "design",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[uncountable] a plan for making something",
"example": "the design process.\na course in graphic design\nThe new plane is in its final design stage.",
"image_url": "/media/decks_media/barron/graphic-Design.jpg",
"audio_tts_text": "design",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "device",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a machine or tool",
"example": "a measuring device",
"image_url": "/media/decks_media/barron/dev.jpg",
"audio_tts_text": "device",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "disparate",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj.(formal) different",
"example": "the difficulties of dealing with disparate groups of people.\na meeting covering many disparate subjects.",
"image_url": "/media/decks_media/barron/dif.jpg",
"audio_tts_text": "disparate",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "enthusiast",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a person who is very interested in something",
"example": "an enthusiast for the latest management thinking (enthusiast for)\na keep-fit enthusiast (baseball/outdoors/sailing etc enthusiast)",
"image_url": "/media/decks_media/barron/ennthu.png",
"audio_tts_text": "enthusiast",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "entrepreneur",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] someone who starts a business",
"example": "The British Library has a range of services for entrepreneurs and small businesses.",
"image_url": "/media/decks_media/barron/entrepreneur.jpg",
"audio_tts_text": "entrepreneur",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "file",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to officially record something",
"example": "The officer left the scene without filing a report.\nThe contracts are filed alphabetically.",
"image_url": "/media/decks_media/barron/file.jpg",
"audio_tts_text": "file",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "flaw",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a mistake or weakness, especially in design",
"example": "a slight flaw in the glass\n(serious/major/basic/minor etc flaw)\na flaw in the software.",
"image_url": "/media/decks_media/barron/fault.jpg",
"audio_tts_text": "flaw",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "handle",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to manage; work well with",
"example": "Computers can handle huge amounts of data.\nI handled most of the paperwork.",
"image_url": "/media/decks_media/barron/management_1470756627987.jpg",
"audio_tts_text": "handle",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "indispensable",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. completely necessary",
"example": null,
"image_url": null,
"audio_tts_text": "indispensable",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "inexplicably",
"part_of_speech": null,
"phonetic": "",
"definition": "Adv. without explanation",
"example": null,
"image_url": null,
"audio_tts_text": "inexplicably",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "inflexibility",
"part_of_speech": null,
"phonetic": "",
"definition": "n. inability to change",
"example": "inflexible attitudes towards change.\nSome of his employees find him inflexible.",
"image_url": "/media/decks_media/barron/inflexible.jpg",
"audio_tts_text": "inflexibility",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "infringement",
"part_of_speech": null,
"phonetic": "",
"definition": "n. an action that breaks a rule or law",
"example": "copyright infringement\nThe company doesnt believe its promotional material is a trademark infringement.",
"image_url": "/media/decks_media/barron/infring.jpg",
"audio_tts_text": "infringement",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "inquiry",
"part_of_speech": null,
"phonetic": "",
"definition": "n. an official investigation",
"example": null,
"image_url": null,
"audio_tts_text": "inquiry",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "inspiration",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a sudden good idea; a role model for creativity",
"example": "Helen had one of her flashes of inspiration",
"image_url": "/media/decks_media/barron/inspiration_1470756627987.jpg",
"audio_tts_text": "inspiration",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "insulation",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[uncountable] material used to prevent the passage of electricity, heat, or sound",
"example": "glass-fibre insulation\nGood insulation can save you money on heating bills.",
"image_url": "/media/decks_media/barron/insulation-12g.jpg",
"audio_tts_text": "insulation",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "invalid",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. not legally correct or acceptable",
"example": "Without the right date stamped on it, your ticket will be invalid.",
"image_url": "/media/decks_media/barron/invalid_1470756627987.png",
"audio_tts_text": "invalid",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "inventor",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a person who creates new things",
"example": "Franklin was a scientist, an inventor, and a statesman.",
"image_url": "/media/decks_media/barron/inventor.jpg",
"audio_tts_text": "inventor",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "investor",
"part_of_speech": null,
"phonetic": "",
"definition": "n. someone who puts money into a business",
"example": "The approach is attractive to foreign investors.",
"image_url": "/media/decks_media/barron/investor.jpg",
"audio_tts_text": "investor",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "isolation",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[uncountable] the condition of being alone or separated from others",
"example": "the isolation of rural areas.\nthe isolation of older people.",
"image_url": "/media/decks_media/barron/isolation-2.jpg",
"audio_tts_text": "isolation",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "patent",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a right to an invention granted by the government",
"example": "He wants to take out a patent on his new type of dustbin.\nThe drugs are protected by patent.\nHe applied for a patent for a new method of removing paint.",
"image_url": "/media/decks_media/barron/patent.jpg",
"audio_tts_text": "patent",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "perseverance",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[uncountable] continuation with a task despite difficulties",
"example": "It took perseverance to overcome his reading problems.",
"image_url": "/media/decks_media/barron/preser.jpg",
"audio_tts_text": "perseverance",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "pitch",
"part_of_speech": null,
"phonetic": "",
"definition": "n. the angle or slope of something",
"example": "the steep pitch of the roof",
"image_url": "/media/decks_media/barron/pitch.png",
"audio_tts_text": "pitch",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "prolonged",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. continuing for a long time",
"example": "a prolonged period of time.\nProlonged-Labour\nthe region suffered a prolonged drought.",
"image_url": "/media/decks_media/barron/Prolonged-Labour.jpg",
"audio_tts_text": "prolonged",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "propeller",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a device that causes an airplane or boat to move",
"example": "Three hundred seventy propellers were replaced.",
"image_url": "/media/decks_media/barron/propeller.jpg",
"audio_tts_text": "propeller",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "rally",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to come together, or to bring people together, to support an idea, a political party etc",
"example": null,
"image_url": "/media/decks_media/barron/rally.jpg",
"audio_tts_text": "rally",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "ransack",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to go through a place, stealing things and causing damage.to search a place very thoroughly, often making it untidy",
"example": "She ransacked the wardrobe for something to wear\n(ransack something for something)\nThe whole flat had been ransacked.",
"image_url": "/media/decks_media/barron/ransack.jpg",
"audio_tts_text": "ransack",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "refinement",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] an improvement, usually a small one, to something",
"example": "the refinement of uranium.\nThe new model has a number of refinements.",
"image_url": "/media/decks_media/barron/refinement.jpg",
"audio_tts_text": "refinement",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "reliably",
"part_of_speech": null,
"phonetic": "",
"definition": "Adv. dependably",
"example": null,
"image_url": null,
"audio_tts_text": "reliably",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "requisite",
"part_of_speech": null,
"phonetic": "",
"definition": "n. need; requirement",
"example": "He lacks the requisite qualifications.",
"image_url": "/media/decks_media/barron/urgent.jpg",
"audio_tts_text": "requisite",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "revolutionize",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to change completely",
"example": null,
"image_url": null,
"audio_tts_text": "revolutionize",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "rotation",
"part_of_speech": null,
"phonetic": "",
"definition": "n. turning motion",
"example": null,
"image_url": null,
"audio_tts_text": "rotation",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "ruling",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] an official decision, especially one made by a court",
"example": "the recent Supreme Court ruling on defendants rights",
"image_url": "/media/decks_media/barron/ruling.jpg",
"audio_tts_text": "ruling",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "set out",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to start an activity",
"example": "The band are setting out on a European tour in March.\nsalesmen who deliberately set out to defraud customers.",
"image_url": "/media/decks_media/barron/set out.jpg",
"audio_tts_text": "set out",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "snap",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to break suddenly",
"example": "I snapped the ends off the beans and dropped them into a bowl\n(snap (something) off (something))\nThe teacher snapped the chalk in two and gave me a piece\n(snap (something) in two/in half (=break into two pieces))",
"image_url": "/media/decks_media/barron/snap.jpg",
"audio_tts_text": "snap",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "suitable",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. appropriate; acceptable for something",
"example": "The house is not really suitable for a large family\n(suitable for somebody/something)\nThe house is not really suitable for a large family\n(suitable for somebody/something)",
"image_url": "/media/decks_media/barron/suitable.jpg",
"audio_tts_text": "suitable",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "sustained",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. having the ability to continue for a long time",
"example": null,
"image_url": null,
"audio_tts_text": "sustained",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "tow",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to pull behind",
"example": "Our car had been towed away\n(tow something away)\nThe ship had to be towed into the harbor.",
"image_url": "/media/decks_media/barron/tow.jpg",
"audio_tts_text": "tow",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "transmit",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to send",
"example": "Mathematical knowledge is transmitted from teacher to student\n(transmit something (from somebody/something) to somebody/something)\nThe system transmits information over digital phone lines.",
"image_url": "/media/decks_media/barron/transmit.GIF",
"audio_tts_text": "transmit",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "triumph",
"part_of_speech": null,
"phonetic": "",
"definition": "v.(formal) to succeed; win",
"example": "Trump triumphed\nIn the end, good shall triumph over evil.",
"image_url": "/media/decks_media/barron/triumph (1).jpg",
"audio_tts_text": "triumph",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "turbulence",
"part_of_speech": null,
"phonetic": "",
"definition": "n. strong, sudden movements in air",
"example": null,
"image_url": null,
"audio_tts_text": "turbulence",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "unveil",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to make public; to uncover",
"example": "The statue was unveiled by the Queen.\nThe club has unveiled plans to build a new stadium.",
"image_url": "/media/decks_media/barron/unveil.jpg",
"audio_tts_text": "unveil",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "utterly",
"part_of_speech": null,
"phonetic": "",
"definition": "Adv. totally",
"example": "You look utterly miserable.",
"image_url": "/media/decks_media/barron/whole-3 (1).jpg",
"audio_tts_text": "utterly",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "variable",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. able to change",
"example": null,
"image_url": null,
"audio_tts_text": "variable",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "Vilified",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. having one's reputation ruined; being spoken about in a bad way",
"example": "Johnson was vilified in the press for refusing to resign\n(vilify somebody/something for (doing) something)",
"image_url": "/media/decks_media/barron/Vilified.jpg",
"audio_tts_text": "Vilified",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "voltage",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable, uncountable] measure of electric power",
"example": "low-voltage electrical current.",
"image_url": "/media/decks_media/barron/voltage.jpg",
"audio_tts_text": "voltage",
"audio_lang": "en-US",
"display_order": 58
}
]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,893 @@
[
{
"word": "abstract",
"part_of_speech": null,
"phonetic": "",
"definition": "based on general ideas and not on any particular real person, thing or situation, not realistic (TRỪU TƯỢNG)",
"example": "We may talk of beautiful things but beauty itself is abstract.",
"image_url": "/media/decks_media/barron/paste-16213501542401 (1).jpg",
"audio_tts_text": "abstract",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "accompaniment",
"part_of_speech": null,
"phonetic": "",
"definition": "the noun form of \"accompany\"",
"example": "Te accompaniment of drums andchants helps the hula dancersmaintain their energy",
"image_url": "/media/decks_media/barron/accompaniment.jpg",
"audio_tts_text": "accompaniment",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "accompany",
"part_of_speech": null,
"phonetic": "",
"definition": "to go wit, happen at the se time",
"example": "strong winds accompanied by heavy rain\nHis wife accompanied him on the trip.",
"image_url": "/media/decks_media/barron/505_fit512.jpg",
"audio_tts_text": "accompany",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "adopt",
"part_of_speech": null,
"phonetic": "",
"definition": "to start to use a particular method or to show a particular attitude towards somebody/something",
"example": "All three teams adopted different approaches to the problem.",
"image_url": "/media/decks_media/barron/when_to_use_use_cases.jpg",
"audio_tts_text": "adopt",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "agricultural",
"part_of_speech": null,
"phonetic": "",
"definition": "related to farmig",
"example": "agricultural policy/land/production/development",
"image_url": "/media/decks_media/barron/1560183_orig.jpg",
"audio_tts_text": "agricultural",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "agriculture",
"part_of_speech": null,
"phonetic": "",
"definition": "the science or practice of farming",
"example": "The number of people employed in agriculture has fallen in the last decade.\n50% of the countrys population depends on agriculture.",
"image_url": "/media/decks_media/barron/paste-35334695944193.jpg",
"audio_tts_text": "agriculture",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "altar",
"part_of_speech": null,
"phonetic": "",
"definition": "a holy table for religous ceremonies (BÀN THỜ)",
"example": null,
"image_url": "/media/decks_media/barron/paste-4741643894785.jpg",
"audio_tts_text": "altar",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "atmosphere",
"part_of_speech": null,
"phonetic": "",
"definition": "the feeling or mood that you have in a particular place or situation (BẦU KHÔNG KHÍ)",
"example": "Use music and lighting to create a romantic atmosphere.\nThe hotel offers a friendly atmosphere and personal service.",
"image_url": "/media/decks_media/barron/paste-16612933500929 (1).jpg",
"audio_tts_text": "atmosphere",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "beneficial",
"part_of_speech": null,
"phonetic": "",
"definition": "having a helpful or useful effect",
"example": "Tourism is beneficial to theeconomy of Hawaii.",
"image_url": "/media/decks_media/barron/content-curation.png",
"audio_tts_text": "beneficial",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "benefit",
"part_of_speech": null,
"phonetic": "",
"definition": "an advantage that something gives you; a helpful and useful effect that something has (LỢI ÍCH)",
"example": "He couldn't see the benefit of arguing any longer.\nI've had the benefit of a good education.",
"image_url": "/media/decks_media/barron/paste-5179730558977 (1).jpg",
"audio_tts_text": "benefit",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "benefit",
"part_of_speech": null,
"phonetic": "",
"definition": "to be in a better position because of something",
"example": "Hawaii benefits fom the largenumbers of tourists who visitthe islands",
"image_url": "/media/decks_media/barron/paste-8839042695169.jpg",
"audio_tts_text": "benefit",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "carve",
"part_of_speech": null,
"phonetic": "",
"definition": "to make objects, patterns, etc. by cutting away material from wood or stone",
"example": "The statue was carved out of a single piece of stone.",
"image_url": "/media/decks_media/barron/4d15103ba2b5f42735c73c237f90984d.jpg",
"audio_tts_text": "carve",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "celebrate",
"part_of_speech": null,
"phonetic": "",
"definition": "to show that a day or an event is important by doing something special on it",
"example": "People like to celebrate importantevents by dancing\nJake's passed his exams\nWe're going out to celebrate.",
"image_url": "/media/decks_media/barron/Labor-Day-.jpg",
"audio_tts_text": "celebrate",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "celebration",
"part_of_speech": null,
"phonetic": "",
"definition": "a special event that people organize in order to celebrate something",
"example": "a party in celebration of their fiftieth wedding anniversary\nbirthday/wedding celebrations",
"image_url": "/media/decks_media/barron/birthday-celebration-despicable-me-minions-35194953-284-177.jpg",
"audio_tts_text": "celebration",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "celebratory",
"part_of_speech": null,
"phonetic": "",
"definition": "the adjective form of \"celebrate\"",
"example": "Celebrator dances wereperformed in honor of the kng",
"image_url": "/media/decks_media/barron/Celebratory-toast.jpg",
"audio_tts_text": "celebratory",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "civilization",
"part_of_speech": null,
"phonetic": "",
"definition": "a society, its culture and its way of life during a particular period of time or in a particular part of the world",
"example": "the civilizations of ancient Greece and Rome",
"image_url": "/media/decks_media/barron/nf1098_exploring-the-ancient-civilization_maya2.jpg",
"audio_tts_text": "civilization",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "conflict",
"part_of_speech": null,
"phonetic": "",
"definition": "a situation in which there are opposing ideas, opinions, feelings or wishes; a situation in which it is difficult to choose",
"example": "The story tells of a classic conflict between love and duty.",
"image_url": "/media/decks_media/barron/conflict-management-980x505.jpg",
"audio_tts_text": "conflict",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "considerable",
"part_of_speech": null,
"phonetic": "",
"definition": "great in amount, size, importance, etc. (= significant)",
"example": "The project wasted a considerable amount of time and money.\nDamage to the building was considerable.\nConsiderable progress has been made in finding a cure for the disease.",
"image_url": "/media/decks_media/barron/considerable-quantity-copper-copecks-12767049.jpg",
"audio_tts_text": "considerable",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "considerably",
"part_of_speech": null,
"phonetic": "",
"definition": "the adverb form of \"considerable\"",
"example": "The need for sleep varies considerably from person to person.\nInterest rates on bank loans have increased considerably in recent years.",
"image_url": "/media/decks_media/barron/mcdonaldsinafrica1.jpg",
"audio_tts_text": "considerably",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "creation",
"part_of_speech": null,
"phonetic": "",
"definition": "the act or process of making something that is new, or of causing something to exist that did not exist before",
"example": "Te ancient Sumers usedclay ad reeds for the creation ofproprt records.",
"image_url": "/media/decks_media/barron/paste-35867271888897.jpg",
"audio_tts_text": "creation",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "creator",
"part_of_speech": null,
"phonetic": "",
"definition": "a person who has made or invented a particular thing",
"example": "Walt Disney, the creator of Mickey Mouse",
"image_url": "/media/decks_media/barron/paste-6648609374209 (1).jpg",
"audio_tts_text": "creator",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "culminate",
"part_of_speech": null,
"phonetic": "",
"definition": "to end with a particular result, or at a particular point",
"example": "a gun battle which culminated in the death of two police officers\nMonths of hard work culminated in success.\nTheir summer tour will culminate at a spectacular concert in London.",
"image_url": "/media/decks_media/barron/grades.gif",
"audio_tts_text": "culminate",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "deed",
"part_of_speech": null,
"phonetic": "",
"definition": "a thing that somebody does that is usually very good or very bad",
"example": "a brave/charitable/evil/good deed\na tale of heroic deeds",
"image_url": "/media/decks_media/barron/Good-deed-R2.jpg",
"audio_tts_text": "deed",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "discourage",
"part_of_speech": null,
"phonetic": "",
"definition": "to try to prevent something or to prevent somebody from doing something ( >< ENCOURAGE)",
"example": "a campaign to discourage smoking among teenagers",
"image_url": "/media/decks_media/barron/aid615435-728px-Discourage-People-from-Messing-With-You-Step-4.jpg",
"audio_tts_text": "discourage",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "effect",
"part_of_speech": null,
"phonetic": "",
"definition": "a result",
"example": "His sklled perforce was theeffect of years of experience.",
"image_url": "/media/decks_media/barron/paste-24859270709249.jpg",
"audio_tts_text": "effect",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "effect",
"part_of_speech": null,
"phonetic": "",
"definition": "(quite rare and formal) to make something happen, to achieve or produce",
"example": "He worked hard to effect change.",
"image_url": "/media/decks_media/barron/3b2cd6a.jpg",
"audio_tts_text": "effect",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "effective",
"part_of_speech": null,
"phonetic": "",
"definition": "producing the result that is wanted or intended; producing a successful result",
"example": "Aspirin is a simple but highly effective treatment.",
"image_url": "/media/decks_media/barron/img3B.jpg",
"audio_tts_text": "effective",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "effectively",
"part_of_speech": null,
"phonetic": "",
"definition": "the adverb form of \"effective\"",
"example": "The company must reduce costs to compete effectively.\nYou dealt with the situation very effectively.",
"image_url": "/media/decks_media/barron/How-to-Effectively-Manage-Your-PR-Agency.jpg",
"audio_tts_text": "effectively",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "elaborate",
"part_of_speech": null,
"phonetic": "",
"definition": "very complicated and detailed; carefully prepared and organized",
"example": "elaborate designs\nShe had prepared a very elaborate meal.\nan elaborate computer system",
"image_url": "/media/decks_media/barron/779db0285b58b32973f9906c2fcfeb6c.jpg",
"audio_tts_text": "elaborate",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "emerge",
"part_of_speech": null,
"phonetic": "",
"definition": "to start to exist; to appear or become known",
"example": "After the elections opposition groups began to emerge.\nthe emerging markets of South Asia",
"image_url": "/media/decks_media/barron/11. Butterfly emerge 4 web.jpg",
"audio_tts_text": "emerge",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "encompass",
"part_of_speech": null,
"phonetic": "",
"definition": "to include a large number or range of things",
"example": "The job encompasses a wide range of responsibilities.\nThe group encompasses all ages.",
"image_url": "/media/decks_media/barron/include-everyone.gif",
"audio_tts_text": "encompass",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "energetic",
"part_of_speech": null,
"phonetic": "",
"definition": "having a lot of energy and enthusiasm",
"example": "He knew I was energetic and dynamic and would get things done.\nan energetic supporter",
"image_url": "/media/decks_media/barron/paste-6897717477377.jpg",
"audio_tts_text": "energetic",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "energetically",
"part_of_speech": null,
"phonetic": "",
"definition": "the adverb form of \"energetic\"",
"example": "The dancers performedenergetically all evening.",
"image_url": "/media/decks_media/barron/stock-photo-four-young-people-dancing-energetically-76990903.jpg",
"audio_tts_text": "energetically",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "energize",
"part_of_speech": null,
"phonetic": "",
"definition": "to make somebody enthusiastic about something",
"example": "Te beating of the drumsenergized the crowd.",
"image_url": "/media/decks_media/barron/8-Steps-to-Energize-Your-Life.jpg",
"audio_tts_text": "energize",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "energy",
"part_of_speech": null,
"phonetic": "",
"definition": "the physical and mental effort that you use to do something",
"example": "It takes a geat deal of energyto dance hula.",
"image_url": "/media/decks_media/barron/2016-07-12-1468334538-63186-energy.jpg",
"audio_tts_text": "energy",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "evidence",
"part_of_speech": null,
"phonetic": "",
"definition": "the facts, signs or objects that make you believe that something is true (BẰNG CHỨNG)",
"example": "We found further scientific evidence for this theory.",
"image_url": "/media/decks_media/barron/paste-7743826034689.jpg",
"audio_tts_text": "evidence",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "evoke",
"part_of_speech": null,
"phonetic": "",
"definition": "to bring a feeling, a memory or an image into your mind (GỢI LẠI)",
"example": "The music evoked memories of her youth.\nHis case is unlikely to evoke public sympathy.",
"image_url": "/media/decks_media/barron/paste-8130373091329.jpg",
"audio_tts_text": "evoke",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "exaggerate",
"part_of_speech": null,
"phonetic": "",
"definition": "to make something seem larger, better, worse or more important than it really is",
"example": "I'm sure he exaggerates his Irish accent (= tries to sound more Irish than he really is).\nThe hotel was really filthy and I'm not exaggerating.",
"image_url": "/media/decks_media/barron/Screen-Shot-2012-10-29-at-10.30.22-PM.png",
"audio_tts_text": "exaggerate",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "exaggerated",
"part_of_speech": null,
"phonetic": "",
"definition": "made to seem larger, better, worse or more important than it really is or needs to be",
"example": "to make greatly/grossly/wildly exaggerated claims\nShe has an exaggerated sense of her own importance.",
"image_url": "/media/decks_media/barron/140711172348exaggeration.jpg",
"audio_tts_text": "exaggerated",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "exaggeration",
"part_of_speech": null,
"phonetic": "",
"definition": "a statement or description that makes something seem larger, better, worse or more important than it really is; the act of making a statement like this",
"example": "It would be an exaggeration to say I knew her well—I only met her twice.",
"image_url": "/media/decks_media/barron/exaggeration.jpg",
"audio_tts_text": "exaggeration",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "excavation",
"part_of_speech": null,
"phonetic": "",
"definition": "a place where people are digging to look for old buildings or objects",
"example": "The excavations are open to the public.",
"image_url": "/media/decks_media/barron/23saw_bigpit1-blog480.jpg",
"audio_tts_text": "excavation",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "floral",
"part_of_speech": null,
"phonetic": "",
"definition": "related to flowers",
"example": "wallpaper with a floral design/pattern\na floral dress",
"image_url": "/media/decks_media/barron/paste-8461085573121_1470756627987.jpg",
"audio_tts_text": "floral",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "frail",
"part_of_speech": null,
"phonetic": "",
"definition": "(especially of an old person) physically weak and thinweak; easily damaged or broken",
"example": "the frail stems of the flowersHuman nature is frail.\nthe frail stems of the flowers\nHuman nature is frail.\nMother was becoming too frail to live alone.",
"image_url": "/media/decks_media/barron/bigstock-Son-Elderly-Father-2904425.jpg",
"audio_tts_text": "frail",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "frailty",
"part_of_speech": null,
"phonetic": "",
"definition": "weakness and poor health",
"example": "We are all subject to the frailties of human nature.",
"image_url": "/media/decks_media/barron/superman-sm.jpg",
"audio_tts_text": "frailty",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "function",
"part_of_speech": null,
"phonetic": "",
"definition": "to work in the correct way",
"example": "Despite the power cuts, the hospital continued to function normally",
"image_url": "/media/decks_media/barron/MA_SafetyonBoard_w734.png",
"audio_tts_text": "function",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "garland",
"part_of_speech": null,
"phonetic": "",
"definition": "a circle of flowers and leaves that is worn on the head or around the neck or is hung in a room as decoration (VÒNG HOA)",
"example": "The office was decked with garlands for the party.",
"image_url": "/media/decks_media/barron/garland.jpgbe37fc79-b104-4c06-8c6d-51e9d2588d8eLarger.jpg",
"audio_tts_text": "garland",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "gesture",
"part_of_speech": null,
"phonetic": "",
"definition": "a movement that you make with your hands, your head or your face to show a particular meaning",
"example": "He made a rude gesture at the driver of the other car.\nShe finished what she had to say with a gesture of despair.\nThey communicated entirely by gesture.",
"image_url": "/media/decks_media/barron/a683b85450d05b41b4e119bc11f34ad954617781.jpg",
"audio_tts_text": "gesture",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "graceful",
"part_of_speech": null,
"phonetic": "",
"definition": "havng beaut of movement",
"example": "Dolphins are incredibly graceful and efficient swimmers.\nHe gave a graceful bow to the audience.",
"image_url": "/media/decks_media/barron/paste-9242769620993.jpg",
"audio_tts_text": "graceful",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "humorous",
"part_of_speech": null,
"phonetic": "",
"definition": "funny and entertaining; showing a sense of humour",
"example": "He gave a humorous account of their trip to Spain.\na humorous look at the world of fashion\nHe had a wide mouth and humorous grey eyes.",
"image_url": "/media/decks_media/barron/1B255508000005DC-0-image-a-102_1458350569326.jpg",
"audio_tts_text": "humorous",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "illusion",
"part_of_speech": null,
"phonetic": "",
"definition": "a false idea or belief, especially about somebody or about a situation",
"example": "She's under the illusion that (= believes wrongly that) she'll get the job.",
"image_url": "/media/decks_media/barron/A.jpg",
"audio_tts_text": "illusion",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "image",
"part_of_speech": null,
"phonetic": "",
"definition": "a mental picture that you have of what somebody/something is like or looks like",
"example": "images of the past\nI had a mental image of what she would look like.",
"image_url": "/media/decks_media/barron/trolltunga.jpg",
"audio_tts_text": "image",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "influence",
"part_of_speech": null,
"phonetic": "",
"definition": "the effect that somebody/something has on the way a person thinks or behaves or on the way that something works or develops",
"example": "to have/exert a strong influence on somebody\nthe influence of the climate on agricultural production\nWhat exactly is the influence of television on children?",
"image_url": "/media/decks_media/barron/20141219182513-want-gain-influence-social-media-work.jpeg",
"audio_tts_text": "influence",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "influence",
"part_of_speech": null,
"phonetic": "",
"definition": "to have an effect on the way that somebody behaves or thinks, especially by giving them an example to follow",
"example": "Ancient hula influenced themodem style of hula dancing.",
"image_url": "/media/decks_media/barron/paste-13597866459137.jpg",
"audio_tts_text": "influence",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "influential",
"part_of_speech": null,
"phonetic": "",
"definition": "having a lot of influence on somebody/something",
"example": "King David Klaaua wasinfluential in the retum to old\ntraditions",
"image_url": "/media/decks_media/barron/time100landingimage.jpg",
"audio_tts_text": "influential",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "inscribe",
"part_of_speech": null,
"phonetic": "",
"definition": "to write or cut words, your name, etc. onto something",
"example": "His name was inscribed on the trophy.",
"image_url": "/media/decks_media/barron/1294509697-inscribe.jpg",
"audio_tts_text": "inscribe",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "literacy",
"part_of_speech": null,
"phonetic": "",
"definition": "the ability to read and write (opposite: illiteracy)",
"example": "basic literacy skills\na campaign to promote adult literacy",
"image_url": "/media/decks_media/barron/new-literacy-centers-whoo-hoo-B96mFK-clipart.gif",
"audio_tts_text": "literacy",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "literal",
"part_of_speech": null,
"phonetic": "",
"definition": "folowing the exact meaning (THEO ĐÚNG NGHĨA ĐEN)",
"example": "The literal meaning of petrify is turn to stone.",
"image_url": "/media/decks_media/barron/literal-signs.jpg",
"audio_tts_text": "literal",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "merge",
"part_of_speech": null,
"phonetic": "",
"definition": "to combine or make two or more things combine to form a single thing",
"example": "The banks are set to merge next year.\nThe two groups have merged to form a new party.",
"image_url": "/media/decks_media/barron/paste-21680994910209 (2).jpg",
"audio_tts_text": "merge",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "mythology",
"part_of_speech": null,
"phonetic": "",
"definition": "set of traditional stories used to explain the origns of things",
"example": "Greek mythology\na study of the religions and mythologies of ancient Rome",
"image_url": "/media/decks_media/barron/paste-32018981191681.jpg",
"audio_tts_text": "mythology",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "portray",
"part_of_speech": null,
"phonetic": "",
"definition": "to represent, act out",
"example": "Throughout the trial, he portrayed himself as the victim.\nHer father will be portrayed by Sean Connery.",
"image_url": "/media/decks_media/barron/paste-22071836934145 (1).jpg",
"audio_tts_text": "portray",
"audio_lang": "en-US",
"display_order": 59
},
{
"word": "portrayal",
"part_of_speech": null,
"phonetic": "",
"definition": "the noun form of \"portray\"",
"example": "The article examines the portrayal of gay men in the media.\nHe is best known for his chilling portrayal of Hannibal Lecter.",
"image_url": "/media/decks_media/barron/the-new-superman-isn_t-as-memorable-as-christopher-reeve_s-iconic-portrayal.jpg",
"audio_tts_text": "portrayal",
"audio_lang": "en-US",
"display_order": 60
},
{
"word": "prominent",
"part_of_speech": null,
"phonetic": "",
"definition": "important or well known",
"example": "a prominent politician\nHe played a prominent part in the campaign.\nShe was prominent in the fashion industry.",
"image_url": "/media/decks_media/barron/Steve-Jobs-is-now-in-the-iCloud-1.png",
"audio_tts_text": "prominent",
"audio_lang": "en-US",
"display_order": 61
},
{
"word": "prop",
"part_of_speech": null,
"phonetic": "",
"definition": "an object used by actors",
"example": "He is responsible for all the stage props and lighting.",
"image_url": "/media/decks_media/barron/paste-22570053140481.jpg",
"audio_tts_text": "prop",
"audio_lang": "en-US",
"display_order": 62
},
{
"word": "property",
"part_of_speech": null,
"phonetic": "",
"definition": "a thing or things that are owned by somebody",
"example": "This building is government property.\nBe careful not to damage other people's property.",
"image_url": "/media/decks_media/barron/paste-34106335297537.jpg",
"audio_tts_text": "property",
"audio_lang": "en-US",
"display_order": 63
},
{
"word": "reign",
"part_of_speech": null,
"phonetic": "",
"definition": "the period during which a king, queen, emperor, etc. rules (TRIỀU ĐẠI)",
"example": "in/during the reign of Charles II",
"image_url": "/media/decks_media/barron/paste-4737348927489.jpg",
"audio_tts_text": "reign",
"audio_lang": "en-US",
"display_order": 64
},
{
"word": "reminisce",
"part_of_speech": null,
"phonetic": "",
"definition": "to think, talk or write about a happy time in your past",
"example": "We spent a happy evening reminiscing about the past.",
"image_url": "/media/decks_media/barron/reminisce.jpg",
"audio_tts_text": "reminisce",
"audio_lang": "en-US",
"display_order": 65
},
{
"word": "reminiscence",
"part_of_speech": null,
"phonetic": "",
"definition": "the act of remembering things that happened in the past (= recollection)",
"example": "Reminiscences of the early days off would include stories of starssuch as Charlie Chaplin andBuster Keaton.",
"image_url": "/media/decks_media/barron/qqy6ww.jpg",
"audio_tts_text": "reminiscence",
"audio_lang": "en-US",
"display_order": 66
},
{
"word": "reminiscent",
"part_of_speech": null,
"phonetic": "",
"definition": "reminding you of somebody/something",
"example": "The way he laughed was strongly reminiscent of his father.\nShe writes in a style reminiscent of both Proust and Faulkner.",
"image_url": "/media/decks_media/barron/maxresdefault (15).jpg",
"audio_tts_text": "reminiscent",
"audio_lang": "en-US",
"display_order": 67
},
{
"word": "renowned",
"part_of_speech": null,
"phonetic": "",
"definition": "famous and respected",
"example": "a renowned author\nWe asked for advice from the renowned legal expert, Sam Pincher.",
"image_url": "/media/decks_media/barron/paste-23540715749377.jpg",
"audio_tts_text": "renowned",
"audio_lang": "en-US",
"display_order": 68
},
{
"word": "scholar",
"part_of_speech": null,
"phonetic": "",
"definition": "a person who knows a lot about a particular subject because they have studied it in detail",
"example": "a classical scholar\nHe was the most distinguished scholar in his field.",
"image_url": "/media/decks_media/barron/aid1935030-728px-Become-a-Scholar-Step-13.jpg",
"audio_tts_text": "scholar",
"audio_lang": "en-US",
"display_order": 69
},
{
"word": "settle",
"part_of_speech": null,
"phonetic": "",
"definition": "to make a place your permanent home",
"example": "She settled in Vienna after her father's death.",
"image_url": "/media/decks_media/barron/Optimized-Screen-Shot-2016-05-04-at-19.13.48-860x450.jpg",
"audio_tts_text": "settle",
"audio_lang": "en-US",
"display_order": 70
},
{
"word": "sharpen",
"part_of_speech": null,
"phonetic": "",
"definition": "to become or make something better, more skilful, more effective, etc. than before",
"example": "She's doing a course to sharpen her business skills",
"image_url": "/media/decks_media/barron/29mccall-articleLarge.jpg",
"audio_tts_text": "sharpen",
"audio_lang": "en-US",
"display_order": 71
},
{
"word": "specialized",
"part_of_speech": null,
"phonetic": "",
"definition": "designed or developed for a particular purpose or area of knowledge",
"example": "specialized equipment\nspecialized skills",
"image_url": "/media/decks_media/barron/paste-32435593019393 (1).jpg",
"audio_tts_text": "specialized",
"audio_lang": "en-US",
"display_order": 72
},
{
"word": "stereotype",
"part_of_speech": null,
"phonetic": "",
"definition": "a fixed idea or image that many people have of a particular type of person or thing, but which is often not true in reality",
"example": "cultural/gender/racial stereotypes\nHe doesn't conform to the usual stereotype of the businessman with a dark suit and briefcase.",
"image_url": "/media/decks_media/barron/paste-5222680231937.jpg",
"audio_tts_text": "stereotype",
"audio_lang": "en-US",
"display_order": 73
},
{
"word": "structure",
"part_of_speech": null,
"phonetic": "",
"definition": "a thing that is made of several parts, especially a building",
"example": "a stone/brick/wooden structure",
"image_url": "/media/decks_media/barron/Poker-Structure.jpg",
"audio_tts_text": "structure",
"audio_lang": "en-US",
"display_order": 74
},
{
"word": "sway",
"part_of_speech": null,
"phonetic": "",
"definition": "to move slowly from side to side; to move something in this way",
"example": "The branches were swaying in the wind.\nVicky swayed and fell.\nThey danced rhythmically, swaying their hips to the music.",
"image_url": "/media/decks_media/barron/wind8.jpg",
"audio_tts_text": "sway",
"audio_lang": "en-US",
"display_order": 75
},
{
"word": "tablet",
"part_of_speech": null,
"phonetic": "",
"definition": "a flat piece of stone that has words written on it",
"example": "The school has a memorial tablet engraved with the name of the founder.",
"image_url": "/media/decks_media/barron/paste-33247341838337.jpg",
"audio_tts_text": "tablet",
"audio_lang": "en-US",
"display_order": 76
},
{
"word": "token",
"part_of_speech": null,
"phonetic": "",
"definition": "something that is a symbol of a feeling, a fact, an event, etc.",
"example": "Please accept this small gift as a token of our gratitude.",
"image_url": "/media/decks_media/barron/tokens.png",
"audio_tts_text": "token",
"audio_lang": "en-US",
"display_order": 77
},
{
"word": "tradition",
"part_of_speech": null,
"phonetic": "",
"definition": "truyền thống",
"example": "The British are said to love tradition\nreligious/cultural, etc\ntraditions",
"image_url": "/media/decks_media/barron/carvingpumpkins.jpg",
"audio_tts_text": "tradition",
"audio_lang": "en-US",
"display_order": 78
},
{
"word": "traditional",
"part_of_speech": null,
"phonetic": "",
"definition": "the adjective form of \"traditional\"",
"example": "Hula is the traditional dance ofHawaii.",
"image_url": "/media/decks_media/barron/traditional_1.jpg",
"audio_tts_text": "traditional",
"audio_lang": "en-US",
"display_order": 79
},
{
"word": "traditionally",
"part_of_speech": null,
"phonetic": "",
"definition": "the adverb form of \"tradition\"",
"example": "Hula was traditionally performedin honor of the gods.",
"image_url": "/media/decks_media/barron/paste-14705968021505_1470756627987.jpg",
"audio_tts_text": "traditionally",
"audio_lang": "en-US",
"display_order": 80
}
]

View File

@@ -0,0 +1,981 @@
[
{
"word": "abroad",
"part_of_speech": null,
"phonetic": "",
"definition": "in or to a foreign country",
"example": "to be/go/travel/live abroad\nShe worked abroad for a year.",
"image_url": "/media/decks_media/barron/paste-33092723015681.jpg",
"audio_tts_text": "abroad",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "absorb",
"part_of_speech": null,
"phonetic": "",
"definition": "to take in a liquid, gas or other substance from the surface or space around",
"example": "Plants absorb carbon dioxide from the air.\nLet the rice cook until it has absorbed all the water.",
"image_url": "/media/decks_media/barron/android_18_absorb_by_godvore-d9bd88c.png",
"audio_tts_text": "absorb",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "absorbent",
"part_of_speech": null,
"phonetic": "",
"definition": "able to take in something easily, especially liquid",
"example": "absorbent paper/materials",
"image_url": "/media/decks_media/barron/products_image_18.jpg",
"audio_tts_text": "absorbent",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "absorption",
"part_of_speech": null,
"phonetic": "",
"definition": "noun form of \"absorb\"",
"example": "Vitamin D is necessary to aid the absorption of calcium from food.",
"image_url": "/media/decks_media/barron/rtalight.jpg",
"audio_tts_text": "absorption",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "administer",
"part_of_speech": null,
"phonetic": "",
"definition": "(formal) to give drugs, medicine, etc. to somebody",
"example": "Police believe his wife could not have administered the poison.",
"image_url": "/media/decks_media/barron/aid177206-728px-Administer-General-Anesthesia-Step-2-Version-2.jpg",
"audio_tts_text": "administer",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "aerobic",
"part_of_speech": null,
"phonetic": "",
"definition": "(of physical exercise) especially designed to improve the function of the heart and lungs",
"example": "aerobic exercise",
"image_url": "/media/decks_media/barron/tap-aerobic-co-tot-khong-jpg-201503261741120SttPbKFkS.jpg",
"audio_tts_text": "aerobic",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "alleviate",
"part_of_speech": null,
"phonetic": "",
"definition": "to make something less severe",
"example": "to alleviate suffering\nA number of measures were taken to alleviate the problem.",
"image_url": "/media/decks_media/barron/use_acupuncture_to_help_alleviate_symptoms_of_bipolar_disorder.jpg",
"audio_tts_text": "alleviate",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "ascertain",
"part_of_speech": null,
"phonetic": "",
"definition": "to find out the true or correct information about something",
"example": "I ascertained that the driver was not badly hurt.\nCould you ascertain whether she will be coming to the meeting?\nIt can be difficult to ascertain the facts.",
"image_url": "/media/decks_media/barron/15372987-Lawyer-Ascertain-Stock-Photo.jpg",
"audio_tts_text": "ascertain",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "bulk",
"part_of_speech": null,
"phonetic": "",
"definition": "(of something) the main part of something; most of something",
"example": "The bulk of the population lives in cities.",
"image_url": "/media/decks_media/barron/screenshot1.png",
"audio_tts_text": "bulk",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "capacity",
"part_of_speech": null,
"phonetic": "",
"definition": "the total number of things or people that a container or space can hold",
"example": "The theatre has a seating capacity of 2000.\na fuel tank with a capacity of 50 litres",
"image_url": "/media/decks_media/barron/T-N-116-Capacity-display-posters-cup_ver_1.jpg",
"audio_tts_text": "capacity",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "chronic",
"part_of_speech": null,
"phonetic": "",
"definition": "(especially of a disease) lasting for a long time; difficult to cure or get rid of",
"example": "chronic bronchitis/arthritis/asthma\nthe countrys chronic unemployment problem\na chronic shortage of housing in rural areas",
"image_url": "/media/decks_media/barron/pain-management-los-angeles.jpg",
"audio_tts_text": "chronic",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "cognition",
"part_of_speech": null,
"phonetic": "",
"definition": "the use of mental processes",
"example": "The connections between cognition and language seem to be similar in all cultures.",
"image_url": "/media/decks_media/barron/paste-6627134537729 (1).jpg",
"audio_tts_text": "cognition",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "combat",
"part_of_speech": null,
"phonetic": "",
"definition": "to stop something unpleasant or harmful from happening or from getting worse",
"example": "measures to combat crime/inflation/unemployment/disease",
"image_url": "/media/decks_media/barron/fight_back_fists.png",
"audio_tts_text": "combat",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "complex",
"part_of_speech": null,
"phonetic": "",
"definition": "complicated, difficult to understand",
"example": "a complex argument/problem/subject\nthe complex structure of the human brain",
"image_url": "/media/decks_media/barron/paste-34398393073665 (1).jpg",
"audio_tts_text": "complex",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "complexity",
"part_of_speech": null,
"phonetic": "",
"definition": "noun form of \"complex\"",
"example": "the increasing complexity of modern telecommunication systems\nI was astonished by the size and complexity of the problem.",
"image_url": "/media/decks_media/barron/paste-5682241732609 (1).jpg",
"audio_tts_text": "complexity",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "concentration",
"part_of_speech": null,
"phonetic": "",
"definition": "(of something) a lot of something in one place",
"example": "a concentration of industry in the north of the country",
"image_url": "/media/decks_media/barron/sapporo_buildings.jpg",
"audio_tts_text": "concentration",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "counteract",
"part_of_speech": null,
"phonetic": "",
"definition": "to work against something ;  to reduce or prevent the bad or harmful effects of something",
"example": "These exercises aim to counteract the effects of stress and tension.",
"image_url": "/media/decks_media/barron/netForce2.png",
"audio_tts_text": "counteract",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "cripple",
"part_of_speech": null,
"phonetic": "",
"definition": "to seriously damage or harm somebody/something",
"example": "The industry has been financially crippled by these policies.\nHe was crippled by polio as a child.",
"image_url": "/media/decks_media/barron/4_help-any-cripple.jpg",
"audio_tts_text": "cripple",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "culture",
"part_of_speech": null,
"phonetic": "",
"definition": "(specialist) the growing of plants or breeding of particular animals in order to get a particular substance or crop from them",
"example": "the culture of silkworms (= for silk)",
"image_url": "/media/decks_media/barron/nextgov-medium.jpg",
"audio_tts_text": "culture",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "decade",
"part_of_speech": null,
"phonetic": "",
"definition": "a period of ten years, especially a continuous period, such as 19101919 or 20002009",
"example": "The past decade has seen a huge rise in the number of broadband users.",
"image_url": "/media/decks_media/barron/years-2009.jpg",
"audio_tts_text": "decade",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "decline",
"part_of_speech": null,
"phonetic": "",
"definition": "to become smaller, fewer, weaker, etc.",
"example": "Support for the party continues to decline.\nThe number of tourists to the resort declined by 10% last year.",
"image_url": "/media/decks_media/barron/decline1.jpg",
"audio_tts_text": "decline",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "deem",
"part_of_speech": null,
"phonetic": "",
"definition": "to have a particular opinion about something",
"example": "The evening was deemed a great success.\nI deem it an honour to be invited.\nShe deemed it prudent not to say anything.\nThey would take any action deemed necessary",
"image_url": "/media/decks_media/barron/deem-scrutinizing1.jpg",
"audio_tts_text": "deem",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "dementia",
"part_of_speech": null,
"phonetic": "",
"definition": "a serious mental disorder caused by brain disease or injury, that affects the ability to think, remember and behave normally",
"example": null,
"image_url": "/media/decks_media/barron/AlzvsDem690x400.jpg",
"audio_tts_text": "dementia",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "desirable",
"part_of_speech": null,
"phonetic": "",
"definition": "(formal) that you would like to have or do; worth having or doing",
"example": "The house has many desirable features.\nShe chatted for a few minutes about the qualities she considered desirable in a secretary.",
"image_url": "/media/decks_media/barron/18jgupgscc8hujpg.jpg",
"audio_tts_text": "desirable",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "desire",
"part_of_speech": null,
"phonetic": "",
"definition": "a strong wish to have or do something",
"example": "a strong desire for power\nShe felt an overwhelming desire to return home.\nenough money to satisfy all your desires",
"image_url": "/media/decks_media/barron/paste-14864881811457 (1).jpg",
"audio_tts_text": "desire",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "desire",
"part_of_speech": null,
"phonetic": "",
"definition": "(formal) to want something; to wish for something",
"example": "We all desire health and happiness.\nThe house had everything you could desire.",
"image_url": "/media/decks_media/barron/k12020251.jpg",
"audio_tts_text": "desire",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "deterioration",
"part_of_speech": null,
"phonetic": "",
"definition": "the fact or process of becoming worse",
"example": "a serious deterioration in relations between the two countries",
"image_url": "/media/decks_media/barron/4266397-earth-deterioration.jpg",
"audio_tts_text": "deterioration",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "diagnose",
"part_of_speech": null,
"phonetic": "",
"definition": "to say exactly what an illness or the cause of a problem is",
"example": "He has recently been diagnosed with angina.\nThe test is used to diagnose a variety of diseases.",
"image_url": "/media/decks_media/barron/doctor1.jpeg.jpg",
"audio_tts_text": "diagnose",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "diagnosis",
"part_of_speech": null,
"phonetic": "",
"definition": "(of something) the act of discovering or identifying the exact cause of an illness or a problem",
"example": "An accurate diagnosis was made after a series of tests.\ndiagnosis of lung cancer",
"image_url": "/media/decks_media/barron/paste-7636451852289.jpg",
"audio_tts_text": "diagnosis",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "diagnostic",
"part_of_speech": null,
"phonetic": "",
"definition": "connected with identifying something, especially an illness",
"example": "to carry out diagnostic assessments/tests\nspecific conditions which are diagnostic of AIDS",
"image_url": "/media/decks_media/barron/paste-8143257993217 (1).jpg",
"audio_tts_text": "diagnostic",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "disorder",
"part_of_speech": null,
"phonetic": "",
"definition": "(medical) an illness that causes a part of the body to stop functioning correctly (CHỨNG RỐI LOẠN)",
"example": "a rare disorder of the liverMost people with acute mental disorder can be treated at home.\na rare disorder of the liver\nMost people with acute mental disorder can be treated at home.\neating disorders",
"image_url": "/media/decks_media/barron/man-cleaning-wall-350.jpg",
"audio_tts_text": "disorder",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "enhance",
"part_of_speech": null,
"phonetic": "",
"definition": "to increase or further improve the good quality, value or status of somebody/something",
"example": "This is an opportunity to enhance the reputation of the company.\nthe skilled use of make-up to enhance your best features",
"image_url": "/media/decks_media/barron/pareto_principle_improve.jpg",
"audio_tts_text": "enhance",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "epidemic",
"part_of_speech": null,
"phonetic": "",
"definition": "rapid spread of a disease",
"example": "the outbreak of a flu epidemic\nan epidemic of measles",
"image_url": "/media/decks_media/barron/global-epidemic-swine-flu-mexico_02.jpg",
"audio_tts_text": "epidemic",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "estimate",
"part_of_speech": null,
"phonetic": "",
"definition": "to guess about the cost, size, value etc. of something, without calculating it exactly",
"example": "Police estimate the crowd at 30000.\nThe satellite will cost an estimated £400 million.",
"image_url": "/media/decks_media/barron/estimate_1470756627987.gif",
"audio_tts_text": "estimate",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "fraction",
"part_of_speech": null,
"phonetic": "",
"definition": "a small part or amount of something",
"example": "Only a small fraction of a bank's total deposits will be withdrawn at any one time.\nShe hesitated for the merest fraction of a second.\nHe raised his voice a fraction.",
"image_url": "/media/decks_media/barron/fractions14.gif",
"audio_tts_text": "fraction",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "grave",
"part_of_speech": null,
"phonetic": "",
"definition": "(of situations, feelings, etc.) very serious and important; giving you a reason to feel worried",
"example": "The police have expressed grave concern about the missing child's safety.\nThe consequences will be very grave if nothing is done.\nWe were in grave danger.",
"image_url": "/media/decks_media/barron/11987213_1484585818501913_5621734615785924041_n.jpg",
"audio_tts_text": "grave",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "gravely",
"part_of_speech": null,
"phonetic": "",
"definition": "in a very serious and important way; in a way that gives you a reason to feel worried",
"example": "She is gravely ill.\nLocal people are gravely concerned.",
"image_url": null,
"audio_tts_text": "gravely",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "gravity",
"part_of_speech": null,
"phonetic": "",
"definition": "(formal) extreme importance and a cause for worry (synonym: seriousness)",
"example": "I don't think you realise the gravity of the situation.\nPunishment varies according to the gravity of the offence.",
"image_url": "/media/decks_media/barron/paste-9779640532993 (2).jpg",
"audio_tts_text": "gravity",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "impair",
"part_of_speech": null,
"phonetic": "",
"definition": "(formal) to damage something or make something worse",
"example": "His age impaired his chances of finding a new job.",
"image_url": "/media/decks_media/barron/is_151027_e_cigarette_800x600.jpg",
"audio_tts_text": "impair",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "impaired",
"part_of_speech": null,
"phonetic": "",
"definition": "damaged or not functioning normally",
"example": "impaired vision/memory",
"image_url": "/media/decks_media/barron/aid75038-728px-Be-Independent-When-Visually-Impaired-Step-1.jpg",
"audio_tts_text": "impaired",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "impairment",
"part_of_speech": null,
"phonetic": "",
"definition": "the state of having a physical or mental condition which means that part of your body or brain does not work correctly; a particular condition of this sort",
"example": "impairment of the functions of the kidney\nvisual impairments",
"image_url": "/media/decks_media/barron/paste-10432475561985.jpg",
"audio_tts_text": "impairment",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "indicate",
"part_of_speech": null,
"phonetic": "",
"definition": "to show that something is true or exists",
"example": "A yellowing of the skin indicates jaundice.\nRecord profits in the retail market indicate a boom in the economy.",
"image_url": "/media/decks_media/barron/paste-10264971837441.jpg",
"audio_tts_text": "indicate",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "indication",
"part_of_speech": null,
"phonetic": "",
"definition": "a remark or sign that shows that something is happening or what somebody is thinking or feeling",
"example": "He shows every indication (= clear signs) of wanting to accept the post.\nThey gave no indication of how the work should be done.",
"image_url": "/media/decks_media/barron/26b87ac2dfa718d8e4f9b2319819a75d.jpg",
"audio_tts_text": "indication",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "indicative",
"part_of_speech": null,
"phonetic": "",
"definition": "(of something) (formal) showing or suggesting something",
"example": "Their failure to act is indicative of their lack of interest.\nThe rise in unemployment is seen as indicative of a new economic recession.",
"image_url": null,
"audio_tts_text": "indicative",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "indicator",
"part_of_speech": null,
"phonetic": "",
"definition": "a sign that shows you what something is like or how a situation is changing",
"example": "These atmospheric waves are a reliable indicator of weather changes.\nThe economic indicators are better than expected.",
"image_url": "/media/decks_media/barron/paste-9723805958145.jpg",
"audio_tts_text": "indicator",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "interval",
"part_of_speech": null,
"phonetic": "",
"definition": "a period of time between two events",
"example": "The interval between major earthquakes might be 200 years.\nHe knocked on the door and after a brief interval it was opened.",
"image_url": "/media/decks_media/barron/time_interval_watch_JR.png",
"audio_tts_text": "interval",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "investigate",
"part_of_speech": null,
"phonetic": "",
"definition": "to find out information and facts about a subject or problem by study or research",
"example": "The research investigates how foreign speakers gain fluency.\nScientists are investigating the effects of diet on fighting cancer.",
"image_url": "/media/decks_media/barron/paste-6524055322625 (1).jpg",
"audio_tts_text": "investigate",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "investigation",
"part_of_speech": null,
"phonetic": "",
"definition": "a scientific or academic examination of the facts of a subject or problem",
"example": "an investigation into the spending habits of teenagers",
"image_url": "/media/decks_media/barron/investigate.png",
"audio_tts_text": "investigation",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "investigator",
"part_of_speech": null,
"phonetic": "",
"definition": "a person who examines a situation such as an accident or a crime to find out the truth",
"example": "air safety investigators\na private investigator (= a detective)",
"image_url": "/media/decks_media/barron/investigator.png",
"audio_tts_text": "investigator",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "link",
"part_of_speech": null,
"phonetic": "",
"definition": "a connection between two or more people or things",
"example": "Police suspect there may be a link between the two murders.\nevidence for a strong causal link between exposure to sun and skin cancer",
"image_url": "/media/decks_media/barron/B.S SHORT LINK CHAIN.jpg",
"audio_tts_text": "link",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "lure",
"part_of_speech": null,
"phonetic": "",
"definition": "to persuade or trick somebody to go somewhere or to do something by promising them a reward",
"example": "The child was lured into a car but managed to escape.\nYoung people are lured to the city by the prospect of a job and money.",
"image_url": "/media/decks_media/barron/amo-dei-pesci-oh-26446184.jpg",
"audio_tts_text": "lure",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "manufacture",
"part_of_speech": null,
"phonetic": "",
"definition": "(specialist) to produce a substance",
"example": "Vitamins cannot be manufactured by our bodies.\nPlants use the sun's light to manufacture their food.",
"image_url": "/media/decks_media/barron/paste-10149007720449.jpg",
"audio_tts_text": "manufacture",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "monitor",
"part_of_speech": null,
"phonetic": "",
"definition": "to watch and check something over a period of time in order to see how it develops, so that you can make any necessary changes",
"example": "Each student's progress is closely monitored.",
"image_url": "/media/decks_media/barron/observe-look-magnifying-glass1.jpg",
"audio_tts_text": "monitor",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "mood",
"part_of_speech": null,
"phonetic": "",
"definition": "the way you are feeling at a particular time",
"example": "She's in a good mood today (= happy and friendly).\nHe's always in a bad mood (= unhappy, or angry and impatient).",
"image_url": "/media/decks_media/barron/paste-5987184410625.jpg",
"audio_tts_text": "mood",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "moodily",
"part_of_speech": null,
"phonetic": "",
"definition": "in a bad-tempered way",
"example": "He stared moodily into the fire.",
"image_url": "/media/decks_media/barron/Brothers-fighting-e1391087131643-600x295.jpg",
"audio_tts_text": "moodily",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "moodiness",
"part_of_speech": null,
"phonetic": "",
"definition": "the quality of having moods that change quickly and often",
"example": "a teenager's moodiness",
"image_url": "/media/decks_media/barron/3-tips-for-dealing-with-tween-moodiness-that-dont-involve-drinking-wine-0.jpg",
"audio_tts_text": "moodiness",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "moody",
"part_of_speech": null,
"phonetic": "",
"definition": "having moods that change quickly and often",
"example": "Moody people are very difficult to deal with.\nShes a bit moody and never the same two days in a row.\nTeenagers tend to get a bad name for being moody, rude and irresponsible.",
"image_url": "/media/decks_media/barron/MOODY.jpeg",
"audio_tts_text": "moody",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "outcome",
"part_of_speech": null,
"phonetic": "",
"definition": "the result or effect of an action or event",
"example": "We are waiting to hear the final outcome of the negotiations.\nThese costs are payable whatever the outcome of the case.",
"image_url": "/media/decks_media/barron/targetarrowgraphrectangle_med.jpeg",
"audio_tts_text": "outcome",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "previously",
"part_of_speech": null,
"phonetic": "",
"definition": "at a time before the time that you are talking about",
"example": "The building had previously been used as a hotel.\nThe book contains a number of photographs not previously published.\nI had visited them three days previously.",
"image_url": "/media/decks_media/barron/TOP-10-Celebrities-photos-Now-Before-they-were-famous_04.jpg",
"audio_tts_text": "previously",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "primary",
"part_of_speech": null,
"phonetic": "",
"definition": "main, most imporant",
"example": "Good health care is of primary importance.\nThe primary aim of this course is to improve your spoken English.",
"image_url": "/media/decks_media/barron/most-important-part-of-onboarding.jpg",
"audio_tts_text": "primary",
"audio_lang": "en-US",
"display_order": 59
},
{
"word": "qualification",
"part_of_speech": null,
"phonetic": "",
"definition": "a skill or type of experience that you need for a particular job or activity",
"example": "Previous teaching experience is a necessary qualification for this job.",
"image_url": "/media/decks_media/barron/qualification_1470756627987.jpg",
"audio_tts_text": "qualification",
"audio_lang": "en-US",
"display_order": 60
},
{
"word": "qualified",
"part_of_speech": null,
"phonetic": "",
"definition": "having the training and experience that are necessary in order to do a particular job",
"example": "She's extremely well qualified for the job.\na qualified accountant/teacher, etc.",
"image_url": "/media/decks_media/barron/Qualified-versus-competent-person-SD-040513.jpg",
"audio_tts_text": "qualified",
"audio_lang": "en-US",
"display_order": 61
},
{
"word": "qualify",
"part_of_speech": null,
"phonetic": "",
"definition": "to reach the standard of ability or knowledge needed to do a particular job",
"example": "He qualified as a doctor last year.",
"image_url": "/media/decks_media/barron/qualify-for-hud-homes.jpg",
"audio_tts_text": "qualify",
"audio_lang": "en-US",
"display_order": 62
},
{
"word": "rampant",
"part_of_speech": null,
"phonetic": "",
"definition": "existing or spreading out of control",
"example": "rampant inflation\nUnemployment is now rampant in most of Europe.",
"image_url": "/media/decks_media/barron/AAEAAQAAAAAAAAJcAAAAJDNkZmZlMWMyLTYwMWItNDY2Mi05NDE4LWEzMmFhMTRiZTY0MA.jpg",
"audio_tts_text": "rampant",
"audio_lang": "en-US",
"display_order": 63
},
{
"word": "recur",
"part_of_speech": null,
"phonetic": "",
"definition": "to happen again or a number of times",
"example": "This theme recurs several times throughout the book.\na recurring illness/problem/nightmare, etc.",
"image_url": "/media/decks_media/barron/recur.png",
"audio_tts_text": "recur",
"audio_lang": "en-US",
"display_order": 64
},
{
"word": "regulate",
"part_of_speech": null,
"phonetic": "",
"definition": "to control something by means of rules",
"example": "The activities of credit companies are regulated by law.",
"image_url": "/media/decks_media/barron/banned_wordsb.jpg",
"audio_tts_text": "regulate",
"audio_lang": "en-US",
"display_order": 65
},
{
"word": "retain",
"part_of_speech": null,
"phonetic": "",
"definition": "to keep something; to continue to have something",
"example": "to retain your independence\nHe struggled to retain control of the situation.",
"image_url": "/media/decks_media/barron/Complaints-handling-done-well-can-retain-customers-495x375.jpg",
"audio_tts_text": "retain",
"audio_lang": "en-US",
"display_order": 66
},
{
"word": "rodent",
"part_of_speech": null,
"phonetic": "",
"definition": "the goup of small animals that includes mice and rats",
"example": null,
"image_url": "/media/decks_media/barron/rodents.jpg",
"audio_tts_text": "rodent",
"audio_lang": "en-US",
"display_order": 67
},
{
"word": "rudimentary",
"part_of_speech": null,
"phonetic": "",
"definition": "basic, not well developed",
"example": "Some dinosaurs had only rudimentary teeth.\nThey were given only rudimentary training in the job.",
"image_url": "/media/decks_media/barron/112.jpg",
"audio_tts_text": "rudimentary",
"audio_lang": "en-US",
"display_order": 68
},
{
"word": "short",
"part_of_speech": null,
"phonetic": "",
"definition": "not having enough of something; lacking something",
"example": "Both nurses and doctors are inshort supply in many places.\nI'm afraid I'm a little short of money this month.",
"image_url": "/media/decks_media/barron/paste-7481833029633 (1)_1470756627987.jpg",
"audio_tts_text": "short",
"audio_lang": "en-US",
"display_order": 69
},
{
"word": "shortage",
"part_of_speech": null,
"phonetic": "",
"definition": "a lack of something",
"example": "food/housing/water shortages\nThere is no shortage of (= there are plenty of) things to do in the town.",
"image_url": "/media/decks_media/barron/bk-reports-inv-shortage.jpg",
"audio_tts_text": "shortage",
"audio_lang": "en-US",
"display_order": 70
},
{
"word": "shorten",
"part_of_speech": null,
"phonetic": "",
"definition": "to make something shorter; to become shorter",
"example": "a shortened version of the gameIn November the temperatures drop and the days shorten.\na shortened version of the game\nIn November the temperatures drop and the days shorten.\nHer name's Katherine, generally shortened to Kay.",
"image_url": "/media/decks_media/barron/2586334.jpg",
"audio_tts_text": "shorten",
"audio_lang": "en-US",
"display_order": 71
},
{
"word": "shortly",
"part_of_speech": null,
"phonetic": "",
"definition": "soon, not long",
"example": "I'll be ready shortly.\nShe arrived shortly after us.",
"image_url": "/media/decks_media/barron/Coming-soon.png",
"audio_tts_text": "shortly",
"audio_lang": "en-US",
"display_order": 72
},
{
"word": "spatial",
"part_of_speech": null,
"phonetic": "",
"definition": "relating to space and the position, size, shape, etc. of things in it",
"example": null,
"image_url": "/media/decks_media/barron/main-set-data-rules.png",
"audio_tts_text": "spatial",
"audio_lang": "en-US",
"display_order": 73
},
{
"word": "standpoint",
"part_of_speech": null,
"phonetic": "",
"definition": "an opinion, a way of thinking, a point of view",
"example": "He is writing from the standpoint of someone who knows what life is like in prison.",
"image_url": "/media/decks_media/barron/tumblr_nksiyu1Zh91tpri36o1_1280.jpg",
"audio_tts_text": "standpoint",
"audio_lang": "en-US",
"display_order": 74
},
{
"word": "stave off",
"part_of_speech": null,
"phonetic": "",
"definition": "to prevent something bad from affecting you for a period of time; to delay something",
"example": "to stave off hunger\nThe company managed to stave off bankruptcy for another few months.",
"image_url": "/media/decks_media/barron/stave-off-stock-outs.jpg",
"audio_tts_text": "stave off",
"audio_lang": "en-US",
"display_order": 75
},
{
"word": "stem",
"part_of_speech": null,
"phonetic": "",
"definition": "to come fom, originate",
"example": "Most peoples insecurities stem from something that happened in their childhood.",
"image_url": "/media/decks_media/barron/maxresdefault (16)_1470756627987.jpg",
"audio_tts_text": "stem",
"audio_lang": "en-US",
"display_order": 76
},
{
"word": "stimulate",
"part_of_speech": null,
"phonetic": "",
"definition": "to make something develop or become more active; to encourage something",
"example": "a government package designed to stimulate economic growth\nThe exhibition has stimulated interest in her work.",
"image_url": "/media/decks_media/barron/aid5094155-728px-Stimulate-Gross-Motor-Skills-in-Infants-Step-3.jpg",
"audio_tts_text": "stimulate",
"audio_lang": "en-US",
"display_order": 77
},
{
"word": "substance",
"part_of_speech": null,
"phonetic": "",
"definition": "a type of solid, liquid or gas that has particular qualities",
"example": "a chemical/radioactive, etc\nsubstance\nbanned/illegal substances (= drugs)\na sticky substance",
"image_url": "/media/decks_media/barron/paste-12476879994881.jpg",
"audio_tts_text": "substance",
"audio_lang": "en-US",
"display_order": 78
},
{
"word": "supply",
"part_of_speech": null,
"phonetic": "",
"definition": "an amount of something that is provided or available to be used",
"example": "The water supply is unsafe.\nSupplies of food are almost exhausted.",
"image_url": "/media/decks_media/barron/paste-7438883356673.jpg",
"audio_tts_text": "supply",
"audio_lang": "en-US",
"display_order": 79
},
{
"word": "target",
"part_of_speech": null,
"phonetic": "",
"definition": "to focus on",
"example": "The missiles were mainly targeted at the United States.\nThe company has been targeted by animal rights groups for its use of dogs in drugs trials.",
"image_url": "/media/decks_media/barron/Target-Free-Download-PNG.png",
"audio_tts_text": "target",
"audio_lang": "en-US",
"display_order": 80
},
{
"word": "theoretical",
"part_of_speech": null,
"phonetic": "",
"definition": "abstact; based on theory",
"example": "The first year provides students with a sound theoretical basis for later study.",
"image_url": "/media/decks_media/barron/paste-13486197309441.jpg",
"audio_tts_text": "theoretical",
"audio_lang": "en-US",
"display_order": 81
},
{
"word": "theorize",
"part_of_speech": null,
"phonetic": "",
"definition": "to suggest facts and ideas to explain something; to form a theory or theories about something",
"example": "The study theorizes about the role of dreams in peoples' lives.",
"image_url": "/media/decks_media/barron/conspiracy-theory-image-250x230.jpg",
"audio_tts_text": "theorize",
"audio_lang": "en-US",
"display_order": 82
},
{
"word": "theory",
"part_of_speech": null,
"phonetic": "",
"definition": "a formal set of ideas that is intended to explain why something happens or exists",
"example": "According to the theory of relativity, nothing can travel faster than light.\nThe debate is centred around two conflicting theories.",
"image_url": "/media/decks_media/barron/einstein.jpg",
"audio_tts_text": "theory",
"audio_lang": "en-US",
"display_order": 83
},
{
"word": "toxic",
"part_of_speech": null,
"phonetic": "",
"definition": "containing poison; poisonous",
"example": "toxic chemicals/fumes/gases/substances\nto dispose of toxic waste\nMany pesticides are highly toxic.",
"image_url": "/media/decks_media/barron/wpid-toxic-sign.jpg",
"audio_tts_text": "toxic",
"audio_lang": "en-US",
"display_order": 84
},
{
"word": "toxicity",
"part_of_speech": null,
"phonetic": "",
"definition": "the quality of being poisonous; the extent to which something is poisonous",
"example": "substances with high levels of toxicity",
"image_url": "/media/decks_media/barron/toxic-chemical.jpg",
"audio_tts_text": "toxicity",
"audio_lang": "en-US",
"display_order": 85
},
{
"word": "toxin",
"part_of_speech": null,
"phonetic": "",
"definition": "a poisonous substance, especially one that is produced by bacteria in plants and animals",
"example": "The algae kills off plant and animal life and, in some cases, produces dangerous toxins.",
"image_url": "/media/decks_media/barron/paste-7657926688769 (1)_1470756627994.jpg",
"audio_tts_text": "toxin",
"audio_lang": "en-US",
"display_order": 86
},
{
"word": "vacancy",
"part_of_speech": null,
"phonetic": "",
"definition": "a job that is available for somebody to do",
"example": "Theres a vacancy in the accounts department.",
"image_url": "/media/decks_media/barron/Job-Vacancy.png",
"audio_tts_text": "vacancy",
"audio_lang": "en-US",
"display_order": 87
},
{
"word": "vacant",
"part_of_speech": null,
"phonetic": "",
"definition": "(formal) if a job in a company is va_____t, nobody is doing it and it is available for somebody to take",
"example": "A vacant position at a hospital willbe filled quickly if the salary andbenefits are attractive.\nThe position left vacant in July has not yet been filled.",
"image_url": "/media/decks_media/barron/805644-vacantseat-1418362423-712-640x480.jpg",
"audio_tts_text": "vacant",
"audio_lang": "en-US",
"display_order": 88
}
]

View File

@@ -0,0 +1,662 @@
[
{
"word": "accessible",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. reachable; easy to get",
"example": null,
"image_url": "/media/decks_media/barron/accessible.gif",
"audio_tts_text": "accessible",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "accommodations",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a place to stay such as a hotel",
"example": null,
"image_url": "/media/decks_media/barron/accommodations.jpg",
"audio_tts_text": "accommodations",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "acquire",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to learn something or get something",
"example": null,
"image_url": "/media/decks_media/barron/acquire.jpg",
"audio_tts_text": "acquire",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "adventurous",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. daring; willing to try new or dangerous activities",
"example": null,
"image_url": "/media/decks_media/barron/adventurous.jpg",
"audio_tts_text": "adventurous",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "archeologist",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a person who studies ancient cultures",
"example": null,
"image_url": "/media/decks_media/barron/archeologist.jpg",
"audio_tts_text": "archeologist",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "avoid",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to prevent from happening; stay away",
"example": null,
"image_url": "/media/decks_media/barron/avoid.jpg",
"audio_tts_text": "avoid",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "barrier",
"part_of_speech": null,
"phonetic": "",
"definition": "n. something that blocks or separates",
"example": null,
"image_url": "/media/decks_media/barron/barrier.png",
"audio_tts_text": "barrier",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "breeze",
"part_of_speech": null,
"phonetic": "",
"definition": "n. light wind",
"example": null,
"image_url": "/media/decks_media/barron/breeze.jpg",
"audio_tts_text": "breeze",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "broad",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. wide or large",
"example": null,
"image_url": "/media/decks_media/barron/broad.png",
"audio_tts_text": "broad",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "budget",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a plan for spending money",
"example": null,
"image_url": "/media/decks_media/barron/budget.jpg",
"audio_tts_text": "budget",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "category",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a group of things that have something in common",
"example": null,
"image_url": "/media/decks_media/barron/category.jpg",
"audio_tts_text": "category",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "ceremonial",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. related to traditional or formal practices",
"example": null,
"image_url": "/media/decks_media/barron/ceremonial.jpg",
"audio_tts_text": "ceremonial",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "colorful",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. interesting and unusual",
"example": null,
"image_url": "/media/decks_media/barron/colorful.png",
"audio_tts_text": "colorful",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "Concept",
"part_of_speech": null,
"phonetic": "",
"definition": "n. idea",
"example": null,
"image_url": "/media/decks_media/barron/Concept.jpg",
"audio_tts_text": "Concept",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "construct",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to build",
"example": null,
"image_url": "/media/decks_media/barron/construct.jpg",
"audio_tts_text": "construct",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "content",
"part_of_speech": null,
"phonetic": "",
"definition": "n. subject matter",
"example": null,
"image_url": "/media/decks_media/barron/content.jpg",
"audio_tts_text": "content",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "costly",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. expensive",
"example": null,
"image_url": "/media/decks_media/barron/costly.jpg",
"audio_tts_text": "costly",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "cuisine",
"part_of_speech": null,
"phonetic": "",
"definition": "n. style of cooking",
"example": null,
"image_url": "/media/decks_media/barron/cuisine.jpg",
"audio_tts_text": "cuisine",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "culprit",
"part_of_speech": null,
"phonetic": "",
"definition": "n. guilty party; origin of the problem",
"example": null,
"image_url": "/media/decks_media/barron/culprit.jpg",
"audio_tts_text": "culprit",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "delicate",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. easily hurt or broken",
"example": null,
"image_url": "/media/decks_media/barron/delicate.jpg",
"audio_tts_text": "delicate",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "destination",
"part_of_speech": null,
"phonetic": "",
"definition": "n. the place somebody or something is going to",
"example": null,
"image_url": "/media/decks_media/barron/destination.jpg",
"audio_tts_text": "destination",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "draw",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to attract, pull",
"example": null,
"image_url": "/media/decks_media/barron/draw.jpg",
"audio_tts_text": "draw",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "dump",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to get rid of garbage and trash",
"example": null,
"image_url": "/media/decks_media/barron/dump.jpg",
"audio_tts_text": "dump",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "economical",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. inexpensive",
"example": null,
"image_url": "/media/decks_media/barron/economical.jpg",
"audio_tts_text": "economical",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "endeavor",
"part_of_speech": null,
"phonetic": "",
"definition": "n. activity with a specific purpose",
"example": null,
"image_url": "/media/decks_media/barron/endeavor.jpg",
"audio_tts_text": "endeavor",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "enroll",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to sign up for a class",
"example": null,
"image_url": "/media/decks_media/barron/enroll.jpg",
"audio_tts_text": "enroll",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "hone",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to sharpen, improve",
"example": null,
"image_url": "/media/decks_media/barron/hone.jpg",
"audio_tts_text": "hone",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "imagination",
"part_of_speech": null,
"phonetic": "",
"definition": "n. the ability to think creatively or form pictures in the mind",
"example": null,
"image_url": "/media/decks_media/barron/imageination.png",
"audio_tts_text": "imagination",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "ingredient",
"part_of_speech": null,
"phonetic": "",
"definition": "n. an item in a recipe",
"example": null,
"image_url": "/media/decks_media/barron/ingredient.jpg",
"audio_tts_text": "ingredient",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "injure",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to hurt",
"example": null,
"image_url": "/media/decks_media/barron/injure.jpg",
"audio_tts_text": "injure",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "institute",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to start; put in place",
"example": null,
"image_url": "/media/decks_media/barron/institute.jpg",
"audio_tts_text": "institute",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "luxury",
"part_of_speech": null,
"phonetic": "",
"definition": "n. something expensive and desirable but unnessary",
"example": null,
"image_url": "/media/decks_media/barron/luxury.jpg",
"audio_tts_text": "luxury",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "marvel",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a wonderful thing",
"example": null,
"image_url": "/media/decks_media/barron/marvel.jpg",
"audio_tts_text": "marvel",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "mystery",
"part_of_speech": null,
"phonetic": "",
"definition": "n. something strange, unknown, or difficult to understand",
"example": null,
"image_url": "/media/decks_media/barron/mystery.jpg",
"audio_tts_text": "mystery",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "native",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. original to a place",
"example": null,
"image_url": "/media/decks_media/barron/native.jpg",
"audio_tts_text": "native",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "network",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a system of various parts that work together",
"example": null,
"image_url": "/media/decks_media/barron/network.jpg",
"audio_tts_text": "network",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "ongoing",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. continuing",
"example": null,
"image_url": "/media/decks_media/barron/ongoing.png",
"audio_tts_text": "ongoing",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "pertain",
"part_of_speech": null,
"phonetic": "",
"definition": "v. be related to something",
"example": null,
"image_url": "/media/decks_media/barron/pertain.png",
"audio_tts_text": "pertain",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "pleasure",
"part_of_speech": null,
"phonetic": "",
"definition": "n. enjoyment",
"example": null,
"image_url": null,
"audio_tts_text": "pleasure",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "practice",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a custom; method",
"example": null,
"image_url": "/media/decks_media/barron/practice.jpg",
"audio_tts_text": "practice",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "precisely",
"part_of_speech": null,
"phonetic": "",
"definition": "Adv. exactly",
"example": null,
"image_url": "/media/decks_media/barron/precisely.jpg",
"audio_tts_text": "precisely",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "preserve",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to protect; save",
"example": null,
"image_url": "/media/decks_media/barron/preserve.png",
"audio_tts_text": "preserve",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "principle",
"part_of_speech": null,
"phonetic": "",
"definition": "n. rule; basic idea behind a system",
"example": null,
"image_url": "/media/decks_media/barron/principle.jpg",
"audio_tts_text": "principle",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "publicity",
"part_of_speech": null,
"phonetic": "",
"definition": "n. activity that makes something known to the public",
"example": null,
"image_url": "/media/decks_media/barron/publicity.jpg",
"audio_tts_text": "publicity",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "recycling",
"part_of_speech": null,
"phonetic": "",
"definition": "n. collection and treatment of trash for reuse",
"example": null,
"image_url": "/media/decks_media/barron/recycling.jpg",
"audio_tts_text": "recycling",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "remote",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. far away",
"example": null,
"image_url": null,
"audio_tts_text": "remote",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "residential",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. with living accommodation, related to housing",
"example": null,
"image_url": "/media/decks_media/barron/residential.jpg",
"audio_tts_text": "residential",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "resort",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a vacation place",
"example": null,
"image_url": "/media/decks_media/barron/resort.jpg",
"audio_tts_text": "resort",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "restriction",
"part_of_speech": null,
"phonetic": "",
"definition": "n. an official limit on something",
"example": null,
"image_url": "/media/decks_media/barron/restriction.jpg",
"audio_tts_text": "restriction",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "site",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a place",
"example": null,
"image_url": "/media/decks_media/barron/site.jpg",
"audio_tts_text": "site",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "spectacular",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. wonderful to see",
"example": null,
"image_url": "/media/decks_media/barron/spectacular.jpg",
"audio_tts_text": "spectacular",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "sponsor",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to organize and be responsible",
"example": null,
"image_url": "/media/decks_media/barron/sponsor.jpg",
"audio_tts_text": "sponsor",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "strive",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to work very hard to do something",
"example": null,
"image_url": "/media/decks_media/barron/strive.jpg",
"audio_tts_text": "strive",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "supervision",
"part_of_speech": null,
"phonetic": "",
"definition": "n. direction, assistance",
"example": null,
"image_url": "/media/decks_media/barron/supervision.jpg",
"audio_tts_text": "supervision",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "survey",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a study of opinions in a sample of the population",
"example": null,
"image_url": "/media/decks_media/barron/survey.jpg",
"audio_tts_text": "survey",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "taste",
"part_of_speech": null,
"phonetic": "",
"definition": "n. preference",
"example": null,
"image_url": "/media/decks_media/barron/taste.jpg",
"audio_tts_text": "taste",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "upside",
"part_of_speech": null,
"phonetic": "",
"definition": "n. advantage; good part",
"example": null,
"image_url": "/media/decks_media/barron/upside.jpg",
"audio_tts_text": "upside",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "volunteer",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to work for no pay; freely offer to do something",
"example": null,
"image_url": "/media/decks_media/barron/volunteer.jpg",
"audio_tts_text": "volunteer",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "wary",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. not completely trusting",
"example": null,
"image_url": "/media/decks_media/barron/wary.jpg",
"audio_tts_text": "wary",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "wilderness",
"part_of_speech": null,
"phonetic": "",
"definition": "n. natural region away from towns and cities",
"example": null,
"image_url": "/media/decks_media/barron/wilderness.jpg",
"audio_tts_text": "wilderness",
"audio_lang": "en-US",
"display_order": 59
}
]

View File

@@ -0,0 +1,662 @@
[
{
"word": "afloat",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. having enough money to pay what you owe",
"example": "Somehow we kept the ship afloat\n(keep (somebody/something) afloat/stay afloat)\nThe Treasury borrowed £40 billion, just to stay afloat\n(keep (somebody/something) afloat/stay afloat)",
"image_url": "/media/decks_media/barron/afloat.jpg",
"audio_tts_text": "afloat",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "bond",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] connection",
"example": "the United States special bond with Britain.\nthe emotional bond between mother and child.\nIn each methane molecule there are four CH bonds.",
"image_url": "/media/decks_media/barron/bond.png",
"audio_tts_text": "bond",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "boon",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable usually singular] a benefit; advantage",
"example": "The bus service is a real boon to people in the village.",
"image_url": "/media/decks_media/barron/boon.jpg",
"audio_tts_text": "boon",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "branch",
"part_of_speech": null,
"phonetic": "",
"definition": "n. local office of a larger company",
"example": "She now works in our Denver branch.\na branch office in Boston",
"image_url": "/media/decks_media/barron/branch.jpg",
"audio_tts_text": "branch",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "brand",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] company name for a product",
"example": "products which lack a strong brand image",
"image_url": "/media/decks_media/barron/brand.jpg",
"audio_tts_text": "brand",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "burgeoning",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. growing",
"example": "the burgeoning market for digital cameras.",
"image_url": "/media/decks_media/barron/burgeoning.jpg",
"audio_tts_text": "burgeoning",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "Catch up",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to reach someone or something that is ahead",
"example": "You go on ahead\nIll catch you up in a minute.\nYou go on ahead\nIll catch you up in a minute.",
"image_url": "/media/decks_media/barron/Catch up.jpg",
"audio_tts_text": "Catch up",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "characteristic",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable usually plural] a feature or a quality",
"example": "a baby discovering the physical characteristics of objects",
"image_url": "/media/decks_media/barron/characteristics.jpg",
"audio_tts_text": "characteristic",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "coincide",
"part_of_speech": null,
"phonetic": "",
"definition": "v.[intransitive] to happen at the same time",
"example": "His entry to the party coincided with his marriage.\nThe show is timed to coincide with the launch of a new book\n(planned/timed/arranged to coincide)\nThe show is timed to coincide with the launch of a new book.",
"image_url": "/media/decks_media/barron/coincide.jpg",
"audio_tts_text": "coincide",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "compete",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to do as well as or better than others",
"example": "The stores have to compete for customers in the Christmas season.\nThe company must be able to compete in the international marketplace.\nThey found themselves competing with/againstforeign companies for a share of the market.",
"image_url": "/media/decks_media/barron/compete.jpg",
"audio_tts_text": "compete",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "confront",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to face a difficulty",
"example": "Troops were confronted by an angry mob.\nWe try to help people confront their problems.",
"image_url": "/media/decks_media/barron/confront.jpg",
"audio_tts_text": "confront",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "conglomerate",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a large company that owns smaller companies",
"example": "an international conglomerate",
"image_url": "/media/decks_media/barron/conglomerate.jpg",
"audio_tts_text": "conglomerate",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "consistently",
"part_of_speech": null,
"phonetic": "",
"definition": "Adv. regularly; always",
"example": "consistently high performance",
"image_url": "/media/decks_media/barron/consistently.jpg",
"audio_tts_text": "consistently",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "controversy",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable, uncountable] a lot of disagreement affecting many people",
"example": "The judges decision provoked controversy.\na political controversy",
"image_url": "/media/decks_media/barron/controversy.jpg",
"audio_tts_text": "controversy",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "convince",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to get somebody to do or believe something",
"example": "Ive been trying to convince Jean to come with me.\nThe officials were eager to convince us of the safety of the nuclear reactors.",
"image_url": "/media/decks_media/barron/convince.jpg",
"audio_tts_text": "convince",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "decisive",
"part_of_speech": null,
"phonetic": "",
"definition": "Adv. important; affecting a decision",
"example": "a talent for quick decisive action.\nThe answer was a decisive no.\na decisive leader.",
"image_url": "/media/decks_media/barron/decisive (1).jpg",
"audio_tts_text": "decisive",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "edge",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[singular, uncountable] an advantage",
"example": "The next version of the software will have the edge over its competitors.\nCompanies are employing more research teams to get an edge.",
"image_url": "/media/decks_media/barron/edge.jpg",
"audio_tts_text": "edge",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "endorsement",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable, uncountable] public support for something",
"example": "celebrity endorsements.\nthe official endorsement of his candidacy.",
"image_url": "/media/decks_media/barron/endorsement.jpg",
"audio_tts_text": "endorsement",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "enticing",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. attractive",
"example": "It was a hot day and the water looked enticing.",
"image_url": "/media/decks_media/barron/enticing.jpg",
"audio_tts_text": "enticing",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "epicenter",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] central or most important place",
"example": "Its epicentre was in the sea 19 miles from the town of Maumere, with its 70,000 inhabitants.\nLondon became the epicentre of the world fashion industry.",
"image_url": "/media/decks_media/barron/epicenter.jpg",
"audio_tts_text": "epicenter",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "financial",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. related to money",
"example": "financial transactions\nfinancial assistance\na financial advisor.\nOrganic farmers should be encouraged with financial incentives.",
"image_url": "/media/decks_media/barron/financial.jpg",
"audio_tts_text": "financial",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "firm",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a company; business",
"example": "Kevin is with a firm of accountants in Birmingham.\nShe works for an electronics firm.",
"image_url": "/media/decks_media/barron/firm.jpg",
"audio_tts_text": "firm",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "fleeting",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. lasting for only a short time; brief; ending quickly",
"example": "For one fleeting moment, Paula allowed herself to forget her troubles.\na fleeting smile\nCarol was paying a fleeting visit to Paris.",
"image_url": "/media/decks_media/barron/fleeting.jpg",
"audio_tts_text": "fleeting",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "ignore",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to not pay attention to",
"example": "The phone rang, but she ignored it.\nYou cant ignore the fact that many criminals never go to prison.",
"image_url": "/media/decks_media/barron/ignore_1470756627987.jpg",
"audio_tts_text": "ignore",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "inevitably",
"part_of_speech": null,
"phonetic": "",
"definition": "Adv. certainly; to be expected",
"example": "Inevitably, the situation did not please everyone.\nThe decision will inevitably lead to political tensions.",
"image_url": "/media/decks_media/barron/inevitably.jpg",
"audio_tts_text": "inevitably",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "initial",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj.[only before noun] happening at the beginning",
"example": "the initial stages of the disease.\nan initial investment of £5,000.",
"image_url": "/media/decks_media/barron/initial.jpg",
"audio_tts_text": "initial",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "looming",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. nearing, usually said of a threat or difficulty",
"example": "The two countries believe that a crisis is looming.",
"image_url": "/media/decks_media/barron/looming.jpg",
"audio_tts_text": "looming",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "loyalty",
"part_of_speech": null,
"phonetic": "",
"definition": "n. faithfulness; belief in something",
"example": "In the rural areas, family and tribal loyalties continue to be important.\nElizabeth understood her husbands loyalty to his sister.",
"image_url": "/media/decks_media/barron/loyalty.jpg",
"audio_tts_text": "loyalty",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "motivation",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[uncountable] reason for doing something",
"example": "Jack is an intelligent pupil, but he lacks motivation\na high level of motivation\nefforts to improve employees motivation",
"image_url": "/media/decks_media/barron/motivation.jpg",
"audio_tts_text": "motivation",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "niche",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] position or place that is very suitable, specialized market",
"example": "Hes managed to create a niche for himself in local politics.\nAmanda soon found her niche at the club.",
"image_url": "/media/decks_media/barron/niche.jpg",
"audio_tts_text": "niche",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "opponent",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] someone who disagrees and speaks out",
"example": "Grafs opponent in todays final will be Sukova.",
"image_url": "/media/decks_media/barron/opponent.jpg",
"audio_tts_text": "opponent",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "outperform",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to perform better than",
"example": "Stocks generally outperform other investments.",
"image_url": "/media/decks_media/barron/outperform.jpg",
"audio_tts_text": "outperform",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "particular",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. specific",
"example": "Most students choose one particular area for research.\na particular type of food\nIn this particular case, no one else was involved.",
"image_url": "/media/decks_media/barron/particular (1).jpg",
"audio_tts_text": "particular",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "passion",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a strong feeling or interest in",
"example": "His eyes were burning with passion.\nhis passion for football.",
"image_url": "/media/decks_media/barron/passion.jpg",
"audio_tts_text": "passion",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "personalized",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. made or done especially for a certain person",
"example": "a personalized number plate.",
"image_url": "/media/decks_media/barron/personalized (1).jpg",
"audio_tts_text": "personalized",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "phenomenon",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] something unusual that happens, a fact",
"example": "Homelessness is not a new phenomenon.\nthe growing phenomenon of telecommuting.",
"image_url": "/media/decks_media/barron/phenomenon.jpg",
"audio_tts_text": "phenomenon",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "point",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to call attention to",
"example": "Look! she said and pointed.\nShe was pointing to a small boat that was approaching the shore.",
"image_url": "/media/decks_media/barron/point (1).jpg",
"audio_tts_text": "point",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "potential",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj.[only before noun] possible",
"example": "the potential benefitsof the new system\n(potential benefit/problem)the potential risks to health associated with the drug\n(potential danger/threat/risk)\nthe potential risks to health associated with the drug",
"image_url": "/media/decks_media/barron/potential.jpg",
"audio_tts_text": "potential",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "preponderance",
"part_of_speech": null,
"phonetic": "",
"definition": "n.(formal) the largest amount",
"example": "There is a preponderance of female students in the music department\n(a preponderance of something)",
"image_url": "/media/decks_media/barron/preponderance.jpg",
"audio_tts_text": "preponderance",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "prevail",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to be common among certain groups; be stronger",
"example": "It is hard for logic to prevail over emotion.\nThe economic conditions which prevail in England and Wales.",
"image_url": "/media/decks_media/barron/prevail.jpg",
"audio_tts_text": "prevail",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "product",
"part_of_speech": null,
"phonetic": "",
"definition": "n. something that is made",
"example": "He works in marketing and product development.\nThe London factory assembles the finished product.",
"image_url": "/media/decks_media/barron/product.jpg",
"audio_tts_text": "product",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "profit",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable, uncountable] money earned after paying costs",
"example": "She sold the business and bought a farm with the profits.\nThey sold their house at a healthy profit.\nThe shops daily profit is usually around $500.",
"image_url": "/media/decks_media/barron/profit_1470756627987.jpg",
"audio_tts_text": "profit",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "project",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to estimate; calculate a future amount",
"example": "projected sales figures.\nTotal expenditure is projected to rise by 25%\n(be projected to do something)\nThe company projected an annual growth rate of 3%.",
"image_url": "/media/decks_media/barron/project.jpg",
"audio_tts_text": "project",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "promote",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to advertise",
"example": "Shes in London to promote her new book.\na meeting to promote trade between Taiwan and the UK.",
"image_url": "/media/decks_media/barron/promote.jpg",
"audio_tts_text": "promote",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "proponent",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a supporter; someone who supports something or persuades people to do something",
"example": "Dr George is one of the leading proponents of this view\n(leading/main/major proponent)\nSteinem has always been a strong proponent of womens rights.",
"image_url": "/media/decks_media/barron/proponent.jpg",
"audio_tts_text": "proponent",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "remainder",
"part_of_speech": null,
"phonetic": "",
"definition": "n. the rest; what is left",
"example": "He spent the remainder of his police career behind a desk.\nThe remainder must be paid by the end of June.",
"image_url": "/media/decks_media/barron/remainder.jpg",
"audio_tts_text": "remainder",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "reputation",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] the general opinion about something or somebody",
"example": "In her last job she gained a reputation as a hard worker.\nJudge Kelso has a reputation for being strict but fair.",
"image_url": "/media/decks_media/barron/reputation.jpg",
"audio_tts_text": "reputation",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "reverse",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to turn around; change to its opposite",
"example": "More changes are required to reverse the trend towards centralised power.\nThe decision was reversed on appeal.",
"image_url": "/media/decks_media/barron/reverse.jpg",
"audio_tts_text": "reverse",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "routinely",
"part_of_speech": null,
"phonetic": "",
"definition": "Adv. on a regular basis",
"example": "The staff routinely ignored my requests.",
"image_url": "/media/decks_media/barron/routinely.png",
"audio_tts_text": "routinely",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "selective",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. intentionally choosing some things and not others",
"example": "He has a very selective memory (=he chooses what he wants to remember and what to forget).\nWere very selective about what we let the children watch.",
"image_url": "/media/decks_media/barron/selective.jpg",
"audio_tts_text": "selective",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "shift",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] period of work time",
"example": "The thought of working night shifts put her off becoming a nurse.\nDave had to work a 12-hour shift yesterday.",
"image_url": "/media/decks_media/barron/shift.jpg",
"audio_tts_text": "shift",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "sound",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. healthy; without financial risk",
"example": "safe and sound.",
"image_url": "/media/decks_media/barron/sound.jpg",
"audio_tts_text": "sound",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "staple",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a basic household item",
"example": "bread, milk, and other staples\nBananas and sugar are the staples of Jamaica.\nTortillas are a staple of Mexican cooking.\nstaples like flour and rice.",
"image_url": "/media/decks_media/barron/staple.jpg",
"audio_tts_text": "staple",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "status",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a social position",
"example": "These documents have no legal status in Britain.\nWhat is your marital status?",
"image_url": "/media/decks_media/barron/status.jpg",
"audio_tts_text": "status",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "thirst",
"part_of_speech": null,
"phonetic": "",
"definition": "n. strong desire",
"example": "European fashion companies are taking advantage of Chinese consumers' thirst for designer labels.",
"image_url": "/media/decks_media/barron/thirst.jpg",
"audio_tts_text": "thirst",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "tip",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a piece of advice",
"example": "handy tips for decorating a small flat\n[handy tip (=useful tip)]\nPerhaps she could give us a few tips.",
"image_url": "/media/decks_media/barron/tip.jpg",
"audio_tts_text": "tip",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "turnover",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[singular, uncountable] the rate at which employees leave and are replaced",
"example": "Turnover rose 9%.",
"image_url": "/media/decks_media/barron/turnover.jpg",
"audio_tts_text": "turnover",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "unique",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. special; different from all others",
"example": "Each persons fingerprints are unique.",
"image_url": "/media/decks_media/barron/unique.jpg",
"audio_tts_text": "unique",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "vital",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. very important, necessary for success",
"example": "Regular exercise is vital for your health\n(vital for)\nIt is vital that you keep accurate records\n(it is vital (that))",
"image_url": "/media/decks_media/barron/vital (1).jpg",
"audio_tts_text": "vital",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "wealthy",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. rich",
"example": "the wealthy nations of the world\nHe left as a poor, working class boy and returned as a wealthy man.",
"image_url": "/media/decks_media/barron/wealthy.jpg",
"audio_tts_text": "wealthy",
"audio_lang": "en-US",
"display_order": 59
}
]

View File

@@ -0,0 +1,662 @@
[
{
"word": "abound",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to exist in large numbers",
"example": "Rumours abound as to the reasons for his resignation.",
"image_url": "/media/decks_media/barron/abound.jpg",
"audio_tts_text": "abound",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "absence",
"part_of_speech": null,
"phonetic": "",
"definition": "n. not being present; time away",
"example": "The absence of certain species of flora and fauna\nIn the absence of any evidence, the police had to let Myers go.",
"image_url": "/media/decks_media/barron/absence.jpg",
"audio_tts_text": "absence",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "academic",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. related to school, especially the university",
"example": "a program to raise academic standards",
"image_url": "/media/decks_media/barron/academic.jpg",
"audio_tts_text": "academic",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "account for",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to be responsible for; be the cause of",
"example": "The transportation sector accounts for 27 percent of all greenhouse gases produced in Canada.\nAccidents account for most disabilities.\nRecent pressure at work may account for his behavior.",
"image_url": "/media/decks_media/barron/Account for (2).jpg",
"audio_tts_text": "account for",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "acquaintance",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a friend you do not know well",
"example": "She was a casual acquaintance of my family in Vienna.",
"image_url": "/media/decks_media/barron/acquaintance.jpg",
"audio_tts_text": "acquaintance",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "adolescent",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a person between the ages of thirteen and nineteen",
"example": "adolescent girls",
"image_url": "/media/decks_media/barron/adolescent.jpg",
"audio_tts_text": "adolescent",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "apparently",
"part_of_speech": null,
"phonetic": "",
"definition": "Adv. seemingly",
"example": "Apparently the company is losing a lot of money.",
"image_url": "/media/decks_media/barron/apparently.jpg",
"audio_tts_text": "apparently",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "approximately",
"part_of_speech": null,
"phonetic": "",
"definition": "Adv. close but not exactly",
"example": "The plane will be landing in approximately 20 minutes.",
"image_url": "/media/decks_media/barron/approximately.jpg",
"audio_tts_text": "approximately",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "bear",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to carry; have responsibilities for",
"example": "She was afraid she wouldnt be able to bear the pain.\nMake the water as hot as you can bear.",
"image_url": "/media/decks_media/barron/bear.jpg",
"audio_tts_text": "bear",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "capable",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. able to do something",
"example": "I'm perfectly capable of taking care of myself",
"image_url": "/media/decks_media/barron/capable.jpg",
"audio_tts_text": "capable",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "carry out",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to do; perform",
"example": "We need to carry out more research.",
"image_url": "/media/decks_media/barron/Carry out.jpg",
"audio_tts_text": "carry out",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "commensurate",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. similar in size or amount",
"example": "Salary will be commensurate with age and experience.",
"image_url": "/media/decks_media/barron/commensurate.jpg",
"audio_tts_text": "commensurate",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "community",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a social group",
"example": "different ethnic communities\nThe new arts centre will serve the whole community.",
"image_url": "/media/decks_media/barron/community_1470756627987.jpg",
"audio_tts_text": "community",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "compact",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. small",
"example": "The students rooms were compact, with a desk, bed, and closet built in.",
"image_url": "/media/decks_media/barron/compact.jpg",
"audio_tts_text": "compact",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "consequence",
"part_of_speech": null,
"phonetic": "",
"definition": "n. result",
"example": "Many believe that poverty is a direct consequence of overpopulation.",
"image_url": "/media/decks_media/barron/consequence_1470756627987.jpg",
"audio_tts_text": "consequence",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "contact",
"part_of_speech": null,
"phonetic": "",
"definition": "n. communication; connection",
"example": "We stay in contact by email.",
"image_url": "/media/decks_media/barron/contact.jpg",
"audio_tts_text": "contact",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "corridor",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] hallway",
"example": "Go down here and the bathrooms at the end of the corridor.",
"image_url": "/media/decks_media/barron/corridor.jpg",
"audio_tts_text": "corridor",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "curb",
"part_of_speech": null,
"phonetic": "",
"definition": "n. the raised edge of the street",
"example": "A car was parked at the curb.",
"image_url": "/media/decks_media/barron/curb.jpg",
"audio_tts_text": "curb",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "devote",
"part_of_speech": null,
"phonetic": "",
"definition": "v. give; commit;",
"example": "He devoted his energies to writing films.\nShe devoted herself full-time to her business.",
"image_url": "/media/decks_media/barron/devote.jpg",
"audio_tts_text": "devote",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "dire",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. very serious or extreme; very bad",
"example": "The country is in dire need of food aid.",
"image_url": "/media/decks_media/barron/dire.jpg",
"audio_tts_text": "dire",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "disability",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a physical or mental condition that makes it difficult to do things other people do",
"example": "Public places are becoming more accessible to people with disabilities.",
"image_url": "/media/decks_media/barron/disability.jpg",
"audio_tts_text": "disability",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "discrepancy",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable, uncountable] a difference between two amounts, details, reports etc that should be the same",
"example": "There is a large discrepancy between the ideal image of motherhood and the reality.\nPolice found discrepancies in the two mens reports.",
"image_url": "/media/decks_media/barron/discrepancy (1).jpg",
"audio_tts_text": "discrepancy",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "equality",
"part_of_speech": null,
"phonetic": "",
"definition": "n. being the same; having the same rights and opportunities",
"example": "equality between men and women\nAll people have the right to equality of opportunity.",
"image_url": "/media/decks_media/barron/equality.jpg",
"audio_tts_text": "equality",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "eradicate",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to remove completely",
"example": "We can eradicate this disease from the world.",
"image_url": "/media/decks_media/barron/eradicate.jpg",
"audio_tts_text": "eradicate",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "exchange",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to trade something",
"example": "He exchanged the black jacket for a blue one\n(exchange something for something)\nWe exchange gifts at Christmas.",
"image_url": "/media/decks_media/barron/exchange.jpg",
"audio_tts_text": "exchange",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "explode",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to grow suddenly and rapidly; to suddenly increase greatly in number, amount, or degree",
"example": "Floridas population exploded after World War II.",
"image_url": "/media/decks_media/barron/explode.jpg",
"audio_tts_text": "explode",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "exterior",
"part_of_speech": null,
"phonetic": "",
"definition": "n. the outside of something",
"example": "the exterior of the building.",
"image_url": "/media/decks_media/barron/exterior.jpg",
"audio_tts_text": "exterior",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "frustration",
"part_of_speech": null,
"phonetic": "",
"definition": "n. lack of satisfaction; inability to reach goals",
"example": "People often feel a sense of frustration that they are not being promoted quickly enough.\nI was practically screaming with frustration.",
"image_url": "/media/decks_media/barron/frustration.jpg",
"audio_tts_text": "frustration",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "funding",
"part_of_speech": null,
"phonetic": "",
"definition": "n. money provided, especially by an organization or government, for a particular purpose.",
"example": "The money will also be used to provide funding for an ethnic officer to work in the community",
"image_url": "/media/decks_media/barron/funding.jpg",
"audio_tts_text": "funding",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "guidance",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[uncountable] advice; assistance",
"example": "Children need moral guidance.\nI went to a counselor for guidance on my career\n(guidance on/about)",
"image_url": "/media/decks_media/barron/guidance (1).jpg",
"audio_tts_text": "guidance",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "immense",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. very big; huge",
"example": "People who travel by rail still read an immense amount.",
"image_url": "/media/decks_media/barron/immense_1470756627987.jpg",
"audio_tts_text": "immense",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "impose",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to force",
"example": "parents who impose their own moral values on their children\nThe government imposed a ban on the sale of ivory.",
"image_url": "/media/decks_media/barron/impose.jpg",
"audio_tts_text": "impose",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "incapacitated",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. unable to do things normally",
"example": "Richard was temporarily incapacitated",
"image_url": "/media/decks_media/barron/incapacitated.jpg",
"audio_tts_text": "incapacitated",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "inordinate",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. far more than you would reasonably or normally expect",
"example": "Testing is taking up an inordinate amount of teachers time.",
"image_url": "/media/decks_media/barron/inordinate.jpg",
"audio_tts_text": "inordinate",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "interact",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to communicate with",
"example": "Lucy interacts well with other children in the class.",
"image_url": "/media/decks_media/barron/interact.jpg",
"audio_tts_text": "interact",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "interior",
"part_of_speech": null,
"phonetic": "",
"definition": "n. the inside of something",
"example": "The interior of the church was dark.",
"image_url": "/media/decks_media/barron/interior (1).jpg",
"audio_tts_text": "interior",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "invaluable",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. very valuable; extremely useful",
"example": "Your advice has been invaluable to us\n(invaluable to/for)\nThis help was invaluable in focussing my ideas\n(be invaluable in/for (doing) something)",
"image_url": "/media/decks_media/barron/invaluable.jpg",
"audio_tts_text": "invaluable",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "mentor",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a person who gives help and advice",
"example": "Auden later became a friend and mentor.\nyou need a mentor to guide you along the way.",
"image_url": "/media/decks_media/barron/mentor_1470756627987.jpg",
"audio_tts_text": "mentor",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "necessitate",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to make necessary",
"example": "This would necessitate interviewing all the staff.\nLack of money necessitated a change of plan.",
"image_url": "/media/decks_media/barron/necessitate.jpg",
"audio_tts_text": "necessitate",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "persist",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to continue",
"example": "She persisted in asking the question.\n(persist in (doing) something)",
"image_url": "/media/decks_media/barron/persist.jpg",
"audio_tts_text": "persist",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "post",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to display information in a public place",
"example": "There was post after post criticizing the Minister.",
"image_url": "/media/decks_media/barron/post.jpg",
"audio_tts_text": "post",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "poverty",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[uncountable] the condition of being poor",
"example": "Millions of elderly people live in poverty.",
"image_url": "/media/decks_media/barron/poverty.jpg",
"audio_tts_text": "poverty",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "pressure",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[uncountable] demands; responsibilities",
"example": "the pressure of his hand on my arm.\nThe minister was under pressure to resign\n(be/come under pressure to do something)",
"image_url": "/media/decks_media/barron/pressure.jpg",
"audio_tts_text": "pressure",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "progress",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to move forward",
"example": "The police are disappointed by the slow progress of the investigation.",
"image_url": "/media/decks_media/barron/progress (1).jpg",
"audio_tts_text": "progress",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "pursue",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to hunt for; seek",
"example": "She plans to pursue a career in politics.",
"image_url": "/media/decks_media/barron/pursue.jpg",
"audio_tts_text": "pursue",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "ramp",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a smooth surface that allows access between levels",
"example": "Ramps are needed at exits and entrances for wheelchair users.",
"image_url": "/media/decks_media/barron/ramp_1470756627987.jpg",
"audio_tts_text": "ramp",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "recreation",
"part_of_speech": null,
"phonetic": "",
"definition": "n. leisure activities",
"example": "His only recreations are drinking beer and watching football.",
"image_url": "/media/decks_media/barron/recreation.jpg",
"audio_tts_text": "recreation",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "slippery",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. causing things to slide or slip; difficult to hold or stand on",
"example": "In places, the path can be wet and slippery.",
"image_url": "/media/decks_media/barron/slippery (1).jpg",
"audio_tts_text": "slippery",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "slope",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a surface at an angle; with the top higher than the bottom",
"example": "a slope of 30 degrees",
"image_url": "/media/decks_media/barron/slope (1).jpg",
"audio_tts_text": "slope",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "statistics",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[plural] information in the form of numbers; data",
"example": "statistics for injuries at work.\nthe official crime statistics.",
"image_url": "/media/decks_media/barron/statistics.jpg",
"audio_tts_text": "statistics",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "struggle",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to fight",
"example": "She struggled to free herself.\nShes struggling to bring up a family alone.",
"image_url": "/media/decks_media/barron/struggle (1).jpg",
"audio_tts_text": "struggle",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "susceptible",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. easily affected",
"example": "She was very susceptible to flattery.\nA lot of TV advertising is aimed at susceptible young children.",
"image_url": "/media/decks_media/barron/susceptible.jpg",
"audio_tts_text": "susceptible",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "switch",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a button used to turn on lights or machines",
"example": "Wheres the light switch?",
"image_url": "/media/decks_media/barron/switch.jpg",
"audio_tts_text": "switch",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "terrain",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable, uncountable] a particular type of land",
"example": "rocky terrain",
"image_url": "/media/decks_media/barron/terrain.jpg",
"audio_tts_text": "terrain",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "trend",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] movement in a certain direction; popular fashion",
"example": "Lately there has been a trend towards hiring younger, cheaper employees.",
"image_url": "/media/decks_media/barron/trend.jpg",
"audio_tts_text": "trend",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "undergo",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to experience; suffer",
"example": "The country has undergone massive changes recently.",
"image_url": "/media/decks_media/barron/undergo.jpg",
"audio_tts_text": "undergo",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "unfold",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to develop; open up",
"example": "As the story unfolds, we learn more about Maxs childhood.\nHe unfolded the map.",
"image_url": "/media/decks_media/barron/unfold.jpg",
"audio_tts_text": "unfold",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "unwieldy",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. difficult to manage;",
"example": "the first mechanical clocks were large and unwieldy",
"image_url": "/media/decks_media/barron/unwieldy.jpg",
"audio_tts_text": "unwieldy",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "update",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to modernize; improve",
"example": "security measures are continually updated and improved.",
"image_url": "/media/decks_media/barron/update.jpg",
"audio_tts_text": "update",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "validate",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to confirm; make a person feel valued",
"example": "Many scientists plan to wait until the results of the study are validated by future research.",
"image_url": "/media/decks_media/barron/validate.jpg",
"audio_tts_text": "validate",
"audio_lang": "en-US",
"display_order": 59
}
]

View File

@@ -0,0 +1,662 @@
[
{
"word": "address",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to deal with a problem or issue",
"example": "a fundamental problem has still to be addressed",
"image_url": "/media/decks_media/barron/address.jpg",
"audio_tts_text": "address",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "adequately",
"part_of_speech": null,
"phonetic": "",
"definition": "Adv. Well enough",
"example": "Students need to be adequately prepared for the world of work.",
"image_url": "/media/decks_media/barron/adequately.jpg",
"audio_tts_text": "adequately",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "alternative",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] something you can choose to do or use instead of something else",
"example": "I had no alternative but to report him to the police.",
"image_url": "/media/decks_media/barron/alternative.jpg",
"audio_tts_text": "alternative",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "approach",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] method",
"example": "a new approach to teaching languages",
"image_url": "/media/decks_media/barron/approach (1).jpg",
"audio_tts_text": "approach",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "assess",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to measure; to evaluate",
"example": "a report to assess the impact of advertising on children",
"image_url": "/media/decks_media/barron/assess_1470756627987.jpg",
"audio_tts_text": "assess",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "auditory",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj.[only before noun] related to hearing",
"example": "the auditory nerves",
"image_url": "/media/decks_media/barron/auditory.jpg",
"audio_tts_text": "auditory",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "blend",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a mixture; combination",
"example": "an excellent team, with a nice blend of experience and youthful enthusiasm",
"image_url": "/media/decks_media/barron/blend.jpg",
"audio_tts_text": "blend",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "circumstance",
"part_of_speech": null,
"phonetic": "",
"definition": "n. situation",
"example": "I cant imagine a circumstance in which I would be willing to steal.",
"image_url": "/media/decks_media/barron/circumstance.jpg",
"audio_tts_text": "circumstance",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "compulsory",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. required",
"example": "Car insurance is compulsory.\n11 years of compulsory education.",
"image_url": "/media/decks_media/barron/compulsory.png",
"audio_tts_text": "compulsory",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "concerned",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. worried",
"example": "He called the police because he was concerned for Gemmas safety.\nShe is concerned about how little food I eat.",
"image_url": "/media/decks_media/barron/concerned.jpg",
"audio_tts_text": "concerned",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "confidence",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[uncountable] belief in one's abilities",
"example": "She had complete confidence in the doctors.",
"image_url": "/media/decks_media/barron/confidence.jpg",
"audio_tts_text": "confidence",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "constructive",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. positive; beneficial",
"example": "We welcome any constructive criticism.\nThe meeting was very constructive.",
"image_url": "/media/decks_media/barron/constructive.jpg",
"audio_tts_text": "constructive",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "conventional",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. normal; traditional",
"example": "Internet connections through conventional phone lines are fairly slow.",
"image_url": "/media/decks_media/barron/conventional (1).jpg",
"audio_tts_text": "conventional",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "curriculum",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] the set of subjects taught at a school",
"example": "Languages are an essential part of the school curriculum.",
"image_url": "/media/decks_media/barron/curriculum.jpg",
"audio_tts_text": "curriculum",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "dedicate",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to give; devote; to give all your attention and effort to one particular thing",
"example": "The actress now dedicates herself to childrens charity work.",
"image_url": "/media/decks_media/barron/dedicate (1).jpg",
"audio_tts_text": "dedicate",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "diagram",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a simple drawing to explain how something works",
"example": "a diagram of the heating system",
"image_url": "/media/decks_media/barron/diagram.jpg",
"audio_tts_text": "diagram",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "discipline",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[uncountable] the ability to control your own behaviour, so that you do what you are expected to do",
"example": "Working from home requires a good deal of discipline.\nThe book gives parents advice on discipline.",
"image_url": "/media/decks_media/barron/discipline.jpg",
"audio_tts_text": "discipline",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "dissatisfied",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. not pleased",
"example": "If you are dissatisfied with this product, please return it.",
"image_url": "/media/decks_media/barron/dissatisfied.jpg",
"audio_tts_text": "dissatisfied",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "dominant",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. most important, powerful, or influential.",
"example": "its dominant position within the group",
"image_url": "/media/decks_media/barron/dominant.png",
"audio_tts_text": "dominant",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "encouragement",
"part_of_speech": null,
"phonetic": "",
"definition": "n. praise; support to keep going",
"example": "With encouragement, Sally is starting to play with the other children.",
"image_url": "/media/decks_media/barron/Encouragement.jpg",
"audio_tts_text": "encouragement",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "enriched",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. improved; describing something of higher quality;",
"example": "enriched uranium",
"image_url": "/media/decks_media/barron/enriched.png",
"audio_tts_text": "enriched",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "exceptional",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. unusual; not typical, special, above average",
"example": "This is an exceptional case; Ive never seen anything like it before.\nan exceptional student\n(good )",
"image_url": "/media/decks_media/barron/exceptional.jpg",
"audio_tts_text": "exceptional",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "expose",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to give an opportunity to experience or learn new things",
"example": "He lifted his T-shirt to expose a jagged scar across his chest.",
"image_url": "/media/decks_media/barron/expose.jpg",
"audio_tts_text": "expose",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "extraordinary",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. very much greater or more impressive than usual",
"example": "an extraordinary talent.\na woman of extraordinary beauty.",
"image_url": "/media/decks_media/barron/extraordinary.jpg",
"audio_tts_text": "extraordinary",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "facial",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. related to the face",
"example": "facial expressions\nfacial hair",
"image_url": "/media/decks_media/barron/facial (1).jpg",
"audio_tts_text": "facial",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "fidget",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to move constantly in a nervous manner",
"example": "Stop fidgeting with your pens!\nThe kids had started to fidget.",
"image_url": "/media/decks_media/barron/fidget (1).jpg",
"audio_tts_text": "fidget",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "gifted",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. having special talents or abilities; having a natural ability to do one or more things extremely well",
"example": "She was an extremely gifted poet.",
"image_url": "/media/decks_media/barron/gifted.jpg",
"audio_tts_text": "gifted",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "hinder",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to prevent; et in the way",
"example": "Higher interest rates could hinder economic growth.\nHis career has been hindered by injury.",
"image_url": "/media/decks_media/barron/hinder.jpg",
"audio_tts_text": "hinder",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "incorporate",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to add in; bring together",
"example": "Which activities would you like to incorporate in your life?",
"image_url": "/media/decks_media/barron/incorporate.jpg",
"audio_tts_text": "incorporate",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "inquisitiveness",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[uncountable] desire for knowledge",
"example": "Children have an inquisitiveness about the world.",
"image_url": "/media/decks_media/barron/inquisitiveness.jpg",
"audio_tts_text": "inquisitiveness",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "instruction",
"part_of_speech": null,
"phonetic": "",
"definition": "n. teaching; a statement telling someone what they must do",
"example": "Make sure you carry out the doctors instructions.",
"image_url": "/media/decks_media/barron/instruction.jpg",
"audio_tts_text": "instruction",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "interpretation",
"part_of_speech": null,
"phonetic": "",
"definition": "n. the way in which someone explains or understands an event, information, someones actions etc",
"example": "One possible interpretation is that they want you to resign.",
"image_url": "/media/decks_media/barron/interpretation.jpg",
"audio_tts_text": "interpretation",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "kinesthetic",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. related to body motion",
"example": null,
"image_url": "/media/decks_media/barron/kinesthetic.jpg",
"audio_tts_text": "kinesthetic",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "latter",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj.[only before noun] near the end",
"example": "the latter half of 1989\nIn the latter case, buyers pay a 15% commission.",
"image_url": "/media/decks_media/barron/latter.jpg",
"audio_tts_text": "latter",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "majority",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[singular] the larger part; most; most of the people or things in a group",
"example": "An overwhelming majority of the members were against the idea.\nIn the vast majority of cases the disease is fatal.",
"image_url": "/media/decks_media/barron/majority.jpg",
"audio_tts_text": "majority",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "mandate",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to order officially; require",
"example": "Justice mandates that we should treat all candidates equally.",
"image_url": "/media/decks_media/barron/mandate.jpg",
"audio_tts_text": "mandate",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "manipulate",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to move things around with the hands",
"example": "The workmen manipulated some knobs and levers.\nYou can integrate text with graphics and manipulate graphic images.\nsoftware designed to store and manipulate data",
"image_url": "/media/decks_media/barron/manipulate.jpg",
"audio_tts_text": "manipulate",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "moderately",
"part_of_speech": null,
"phonetic": "",
"definition": "Adv. somewhat; fairly, but not very",
"example": "He did moderately well in the exams.",
"image_url": "/media/decks_media/barron/moderately.jpg",
"audio_tts_text": "moderately",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "novel",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. new and unusual",
"example": null,
"image_url": "/media/decks_media/barron/Novel.jpg",
"audio_tts_text": "novel",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "obligatory",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. required",
"example": "it is obligatory for somebody (to do something)\nIt is obligatory for companies to provide details of their industrial processes.",
"image_url": "/media/decks_media/barron/obligatory.jpg",
"audio_tts_text": "obligatory",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "obstruction",
"part_of_speech": null,
"phonetic": "",
"definition": "n. something that blocks or stands in the way",
"example": "Police can remove a vehicle that is causing an obstruction.",
"image_url": "/media/decks_media/barron/obstruction.jpg",
"audio_tts_text": "obstruction",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "peer",
"part_of_speech": null,
"phonetic": "",
"definition": "n.[countable] a person at an equal level with another",
"example": "Staff members are trained by their peers.\nAmerican children did less well in math than their peers in Japan.",
"image_url": "/media/decks_media/barron/peer.jpg",
"audio_tts_text": "peer",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "periodic",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. repeated regularly",
"example": "the periodic visits she made to her father",
"image_url": "/media/decks_media/barron/periodic.jpg",
"audio_tts_text": "periodic",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "philosophy",
"part_of_speech": null,
"phonetic": "",
"definition": "n. set of beliefs and values",
"example": "the philosophy of science",
"image_url": "/media/decks_media/barron/philosophy.jpg",
"audio_tts_text": "philosophy",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "prior",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. existing or arranged before something else or before the present situation",
"example": "Some prior experience with the software is needed.\nYou do not need any prior knowledge of the subject.",
"image_url": "/media/decks_media/barron/prior.png",
"audio_tts_text": "prior",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "profoundly",
"part_of_speech": null,
"phonetic": "",
"definition": "Adv. Greatly; extremely",
"example": "He was profoundly affected by his time in the army.",
"image_url": "/media/decks_media/barron/profoundly.jpg",
"audio_tts_text": "profoundly",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "recite",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to say or repeat out loud",
"example": "She recited a poem that she had learnt at school.",
"image_url": "/media/decks_media/barron/recite.jpg",
"audio_tts_text": "recite",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "recognize",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to identify",
"example": "I didnt recognize you in your uniform.",
"image_url": "/media/decks_media/barron/recognize.jpg",
"audio_tts_text": "recognize",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "relatively",
"part_of_speech": null,
"phonetic": "",
"definition": "Adv. something that is relatively small, easy etc is fairly small, easy etc compared to other things",
"example": "E-commerce is a relatively recent phenomenon.\nThe system is relatively easy to use.",
"image_url": "/media/decks_media/barron/relatively.png",
"audio_tts_text": "relatively",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "remedial",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. a special course etc that helps students who have difficulty learning something",
"example": "remedial course/class/teacher etc\nAbout one quarter of entering college students now take at least one remedial course.",
"image_url": "/media/decks_media/barron/remedial.jpg",
"audio_tts_text": "remedial",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "simultaneous",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. happening at the same time",
"example": "a simultaneous withdrawal of all troops",
"image_url": "/media/decks_media/barron/simultaneous.jpg",
"audio_tts_text": "simultaneous",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "solitary",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. done alone; independent",
"example": "a long, solitary walk\nthe solitary goal of the match",
"image_url": "/media/decks_media/barron/solitary.jpg",
"audio_tts_text": "solitary",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "sophisticated",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. advanced, complex",
"example": "a highly sophisticated weapons system",
"image_url": "/media/decks_media/barron/sophisticated.jpg",
"audio_tts_text": "sophisticated",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "transfer",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to move from one place to another",
"example": "a transfer of wealth to the poorer nations",
"image_url": "/media/decks_media/barron/transfer.jpg",
"audio_tts_text": "transfer",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "turn into",
"part_of_speech": null,
"phonetic": "",
"definition": "v. to become something different, or to make someone or something do this",
"example": "(turn (somebody/something) into something)\nA few weeks later, winter had turned into spring.\nThe sofa turns into a bed.",
"image_url": "/media/decks_media/barron/turn-into.jpg",
"audio_tts_text": "turn into",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "tutor",
"part_of_speech": null,
"phonetic": "",
"definition": "n. a private teacher",
"example": "She was my tutor at Durham.",
"image_url": "/media/decks_media/barron/tutor.jpg",
"audio_tts_text": "tutor",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "vast",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. extremely large",
"example": "vast areas of rainforest\nThe government will have to borrow vast amounts of money.",
"image_url": "/media/decks_media/barron/vast.jpg",
"audio_tts_text": "vast",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "verbal",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. related to words",
"example": "verbal abuse (=cruel words) from other kids on the street\nverbal skills",
"image_url": "/media/decks_media/barron/verbal.png",
"audio_tts_text": "verbal",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "widespread",
"part_of_speech": null,
"phonetic": "",
"definition": "Adj. common; happening in a lot of places or done by a lot of people",
"example": "the widespread use of chemicals in agriculture.\nThe report claimed that the problem of police brutality was widespread.",
"image_url": "/media/decks_media/barron/widespread.jpg",
"audio_tts_text": "widespread",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "withdrawal",
"part_of_speech": null,
"phonetic": "",
"definition": "n. not wanting to participate; the act of no longer taking part in an activity or being a member of an organization",
"example": "the Russian withdrawal from Afghanistan.\nGermanys withdrawal from the talks.",
"image_url": "/media/decks_media/barron/withdrawal.jpg",
"audio_tts_text": "withdrawal",
"audio_lang": "en-US",
"display_order": 59
}
]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
[]

View File

@@ -0,0 +1,717 @@
[
{
"word": "ABIDE BY",
"part_of_speech": "v",
"phonetic": "/əˈbaɪd baɪ/",
"definition": "to comply with, to conform. tuân theo",
"example": "The two parties agreed to abide by the judge's decision",
"image_url": "/media/decks_media/toeic600/78_7_1325507262_44_images649104_t6.nvsk1.JPG",
"audio_tts_text": "ABIDE BY",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "ACCOMMODATE",
"part_of_speech": "v",
"phonetic": "/əˈkɒmədeɪt/",
"definition": "to fit, to provide with something needed. điều tiết, làm cho thích nghi, làm cho phù hợp",
"example": "The ballroom can accommodate 400 people.",
"image_url": "/media/decks_media/toeic600/A-Growth-Tableing-To-Accommodate-The-Whole-Family-1.jpg",
"audio_tts_text": "ACCOMMODATE",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "ADDRESS",
"part_of_speech": "v",
"phonetic": "/əˈdres/",
"definition": "to direct to the attention of. diễn thuyết, nói chuyện, địa chỉ, chuyển đi tới",
"example": "She gave an address to the Royal Academy.",
"image_url": "/media/decks_media/toeic600/Envelope_-_Boonville_Address-000.jpg",
"audio_tts_text": "ADDRESS",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "AGREE",
"part_of_speech": "v",
"phonetic": "/əˈɡriː/",
"definition": "agreeable (adj). đồng ý, tán thành, bằng lòng, thoả thuận",
"example": "Teenagers and their parents rarely agree.",
"image_url": "/media/decks_media/toeic600/HiRes.jpg",
"audio_tts_text": "AGREE",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "AGREEMENT",
"part_of_speech": "n",
"phonetic": "/əˈɡriːmənt/",
"definition": "a mutual arrangement, a contract. hợp đồng, giao kèo",
"example": "a trade agreement",
"image_url": "/media/decks_media/toeic600/group-thumbs-up.jpg",
"audio_tts_text": "AGREEMENT",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "ARRANGEMENT",
"part_of_speech": "n",
"phonetic": "/əˈreɪndʒmənt/",
"definition": "the plan or organization. sự sắp xếp, sự sắp đặt, cái được sắp xếp, cái được sắp đặt",
"example": "The family are making arrangements for his funeral.",
"image_url": "/media/decks_media/toeic600/9584058-arrangement-of-spices-on-a-white-background.jpg",
"audio_tts_text": "ARRANGEMENT",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "ASSOCIATION",
"part_of_speech": "n",
"phonetic": "/əˌsəʊʃiˈeɪʃn̩/",
"definition": "an organization of persons or groups having a common interest. hội, hội liên hiệp; đoàn thể, công ty",
"example": "The Football Association",
"image_url": "/media/decks_media/toeic600/NSW Bus Proprietors Association.jpg",
"audio_tts_text": "ASSOCIATION",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "ASSURANCE",
"part_of_speech": "n",
"phonetic": "/əˈʃɔːrəns/",
"definition": "guarantee, confidence. sự chắc chắn; sự tin chắc; điều chắc chắn, điều tin chắc",
"example": "Despite my repeated assurances, Rob still looked very nervous.",
"image_url": "/media/decks_media/toeic600/assurances-1024x498.jpg",
"audio_tts_text": "ASSURANCE",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "ATTEND",
"part_of_speech": "v",
"phonetic": "/əˈtend/",
"definition": "to go to, to pay attention to. dự, có mặt",
"example": "Only 12 people attended the meeting.",
"image_url": "/media/decks_media/toeic600/Sarangani+officials+attend+municipal+reporting+of+accomplishments.jpg",
"audio_tts_text": "ATTEND",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "ATTRACT",
"part_of_speech": "v",
"phonetic": "/əˈtrækt/",
"definition": "to draw by appeal. thu hút, hấp dẫn, lôi cuốn",
"example": "The story has attracted a lot of interest from the media.",
"image_url": "/media/decks_media/toeic600/Opposites_attract_by_stella_marina.jpg",
"audio_tts_text": "ATTRACT",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "AVOID",
"part_of_speech": "v",
"phonetic": "/əˈɪd/",
"definition": "to stay clear of, to keep from happening. tránh, tránh xa",
"example": "It is important to take measures to avoid the risk of fire.",
"image_url": "/media/decks_media/toeic600/1-How_to_Avoid_Disputes.jpg",
"audio_tts_text": "AVOID",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "CANCEL",
"part_of_speech": "v",
"phonetic": "/ˈkænsəl/",
"definition": "to annul, to call off. hủy bỏ",
"example": "Our flight was cancelled.",
"image_url": "/media/decks_media/toeic600/1195435793898672465dagobert83_cancel.svg.hi.png",
"audio_tts_text": "CANCEL",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "CHARACTERISTIC",
"part_of_speech": "adj",
"phonetic": "/ˌkærəktəˈrɪstɪk/",
"definition": "Revealing of individual traits. riêng, riêng biệt, đặc thù, đặc trưng",
"example": "She behaved with characteristic dignity.",
"image_url": "/media/decks_media/toeic600/24378-verifinger_standard_sdk_trial.gif",
"audio_tts_text": "CHARACTERISTIC",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "COMPARE",
"part_of_speech": "v",
"phonetic": "/kəmˈpeə/",
"definition": "to examine similarities and differences. + with so, đối chiếu :    to compare the orginal with the copy",
"example": "The report compares the different types of home computer available.",
"image_url": "/media/decks_media/toeic600/compare.jpg",
"audio_tts_text": "COMPARE",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "COMPETE",
"part_of_speech": "v",
"phonetic": "/kəmˈpiːt/",
"definition": "to strive against a rival. đua tranh, ganh đua, cạnh tranh",
"example": "The stores have to compete for customers in the Christmas season.",
"image_url": "/media/decks_media/toeic600/COMPETITION 2.jpg",
"audio_tts_text": "COMPETE",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "CONFERENCE",
"part_of_speech": "n",
"phonetic": "/ˈkɒnfərəns/",
"definition": "meeting. hội nghị",
"example": "Representatives from over 100 countries attended the International Peace Conference in Geneva.",
"image_url": "/media/decks_media/toeic600/012_ISC_2012_Monday_IZ3A1945.JPG",
"audio_tts_text": "CONFERENCE",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "CONSEQUENCE",
"part_of_speech": "n",
"phonetic": "/ˈkɒnsɪkwəns/",
"definition": "that which follows necessarily. tầm quan trọng, tính trọng đại",
"example": "Many believe that poverty is a direct consequence of overpopulation.",
"image_url": "/media/decks_media/toeic600/handcuffs.jpg",
"audio_tts_text": "CONSEQUENCE",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "CONSIDER",
"part_of_speech": "v",
"phonetic": "/kənˈsɪdə/",
"definition": "to think about carefully. cân nhắc, xem xét, suy xét, suy nghĩ",
"example": "I seriously considered resigning",
"image_url": "/media/decks_media/toeic600/Depositphotos_2187676_L%2B.jpg",
"audio_tts_text": "CONSIDER",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "CONSTRUCTIVE",
"part_of_speech": "adj",
"phonetic": "/kənˈstrʌktɪv/",
"definition": ", high yield. hữu ích, có ích,có tính cách xây dựng",
"example": "We welcome any constructive criticism.",
"image_url": "/media/decks_media/toeic600/depositphotos_2539722-Constructive-Team.jpg",
"audio_tts_text": "CONSTRUCTIVE",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "CONSUMABLE",
"part_of_speech": "adj",
"phonetic": "/kənˈsjuːməbl̩/",
"definition": "consumable goods are intended to be used and. có thể ăn được, có thể tiêu thụ được",
"example": "This computer is consumable",
"image_url": "/media/decks_media/toeic600/supplierconsumabledicikarang.jpg",
"audio_tts_text": "CONSUMABLE",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "CONSUME",
"part_of_speech": "v",
"phonetic": "/kənˈsjuːm/",
"definition": "to absorb, to use up. dùng, tiêu thụ",
"example": "A smaller vehicle will consume less fuel.",
"image_url": "/media/decks_media/toeic600/images748083_minh_khai_5.jpg",
"audio_tts_text": "CONSUME",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "CONSUMER",
"part_of_speech": "n",
"phonetic": "/kənˈsjuːmə/",
"definition": ". người tiêu dùng, người tiêu thụ",
"example": "Consumers will soon be paying higher airfares.",
"image_url": "/media/decks_media/toeic600/mWjXlNM.jpg",
"audio_tts_text": "CONSUMER",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "CONVINCE",
"part_of_speech": "v",
"phonetic": "/kənˈvɪns/",
"definition": "to bring to believe by argument, to persuade. làm cho tin, làm cho nghe theo, thuyết phục",
"example": "Her arguments didn't convince everyone, but changes were made.",
"image_url": "/media/decks_media/toeic600/a20eb_000-TS-Was7860492-1378094673.jpg",
"audio_tts_text": "CONVINCE",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "COVER",
"part_of_speech": "v",
"phonetic": "/ˈkʌvə/",
"definition": "to provide protection against. che, phủ, bao phủ,bảo hiểm",
"example": "Much of the country is covered by snow.",
"image_url": "/media/decks_media/toeic600/finger-cuddles-facebook-cover-photo.jpg",
"audio_tts_text": "COVER",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "CURRENT",
"part_of_speech": "adj",
"phonetic": "/ˈkʌrənt/",
"definition": "Happening or existing at the present time, adv. To be on top of things. chiều, hướng dư luận, tư tưởng...",
"example": "The committee reflects the different political currents within the organization.",
"image_url": "/media/decks_media/toeic600/ripfromabove.jpg",
"audio_tts_text": "CURRENT",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "DEMONSTRATE",
"part_of_speech": "v",
"phonetic": "/ˈdemənstreɪt/",
"definition": "to show clearly and deliberately, to present by example. chứng minh, giải thích, bày tỏ, biểu lộ, làm thấy rõ",
"example": "The study demonstrates the link between poverty and malnutrition.",
"image_url": "/media/decks_media/toeic600/lecturer.gif",
"audio_tts_text": "DEMONSTRATE",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "DETERMINE",
"part_of_speech": "v",
"phonetic": "/dɪˈːmɪn/",
"definition": "to find out, to influence. định, xác định, định rõ",
"example": "Investigators are still trying to determine the cause of the fire.",
"image_url": "/media/decks_media/toeic600/person-trying-to-determine-path-to-take.jpg",
"audio_tts_text": "DETERMINE",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "DEVELOP",
"part_of_speech": "v",
"phonetic": "/dɪˈveləp/",
"definition": "to expand, progress, or improve. phát triển, mở mang, mở rộng, khuếch trương, làm cho phát đạt",
"example": "Corsica has developed its economy around the tourist industry.",
"image_url": "/media/decks_media/toeic600/TreeHiRes.jpg",
"audio_tts_text": "DEVELOP",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "ENGAGE",
"part_of_speech": "v",
"phonetic": "/ɪnˈɡeɪdʒ/",
"definition": "to hire, to involve+. dàn xếp để tuyển dụng một người; thuê một người",
"example": "I have engaged a secretary to deal with all my paperwork.",
"image_url": "/media/decks_media/toeic600/recruitment-peopleonchairs.png",
"audio_tts_text": "ENGAGE",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "ESTABLISH",
"part_of_speech": "v",
"phonetic": "/ɪˈstæblɪʃ/",
"definition": "to institute permanently, to bring about. lập, thành lập, thiết lập, kiến lập",
"example": "Our goal is to establish a new research centre in the North.",
"image_url": "/media/decks_media/toeic600/RIAN_archive_848095_Signing_the_Agreement_to_eliminate_the_USSR_and_establish_the_Commonwealth_of_Independent_States.jpg",
"audio_tts_text": "ESTABLISH",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "EVALUATE",
"part_of_speech": "v",
"phonetic": "/ɪˈvæljʊeɪt/",
"definition": "to determine the value or impact of. ước lượng , định giá",
"example": "We need to evaluate the success of the campaign.",
"image_url": "/media/decks_media/toeic600/dinh-gia-thuong-hieu.jpg",
"audio_tts_text": "EVALUATE",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "EXPIRE",
"part_of_speech": "v",
"phonetic": "/ɪkˈspaɪə/",
"definition": "to come to an end. mãn hạn, kết thúc, hết hiệu lực luật; mai một, mất đi",
"example": "My driving licence expires in March.",
"image_url": "/media/decks_media/toeic600/Expire+Cover+Art.jpeg",
"audio_tts_text": "EXPIRE",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "FAD",
"part_of_speech": "n",
"phonetic": "/fæd/",
"definition": "a practice followed enthusiastically for a short time, a craze. mốt",
"example": "Interest in organic food is not a fad, it's here to stay.",
"image_url": "/media/decks_media/toeic600/505926493_c23ef3202f.jpg",
"audio_tts_text": "FAD",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "FREQUENTLY",
"part_of_speech": "adv",
"phonetic": "/ˈfriːkwəntli/",
"definition": "Occurring commonly, widespread. thường xuyên, hay xảy ra, có luôn",
"example": "Limestone was frequently used as a building material.",
"image_url": "/media/decks_media/toeic600/Curaprox-4260-2.jpg",
"audio_tts_text": "FREQUENTLY",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "GATHER",
"part_of_speech": "v",
"phonetic": "/ˈɡæðə/",
"definition": "to accumulate, to conclude. tập hợp lại, tụ họp lại, kéo đến",
"example": "A crowd gathered to watch the fight.",
"image_url": "/media/decks_media/toeic600/gather.jpg",
"audio_tts_text": "GATHER",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "GET IN TOUCH",
"part_of_speech": "v",
"phonetic": "/ˈɡet ɪn tʌtʃ/",
"definition": "to make contact with. giữ liên lạc",
"example": "Please get in touch with her manager as soon as possible",
"image_url": "/media/decks_media/toeic600/Contact us.jpg",
"audio_tts_text": "GET IN TOUCH",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "HOLD",
"part_of_speech": "v",
"phonetic": "/həʊld/",
"definition": "to accommodate; to conduct. tổ chức, tiến hành",
"example": "This year's conference will be held at the Hilton Hotel.",
"image_url": "/media/decks_media/toeic600/DSC02735.jpg",
"audio_tts_text": "HOLD",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "IMPLY",
"part_of_speech": "v",
"phonetic": "/ɪmˈplaɪ/",
"definition": "to indicate by inference. ý nói; ngụ ý; bao hàm ý",
"example": "Cleo blushed. She had not meant to imply that he was lying.",
"image_url": "/media/decks_media/toeic600/Picture14.png",
"audio_tts_text": "IMPLY",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "INSPIRE",
"part_of_speech": "v",
"phonetic": "/ɪnˈspaɪə/",
"definition": "to spur on, to stimulate imagination or emotion. truyền cảm hứng, ý nghĩ...; truyền cảm hứng cho ai, gây cảm hứng cho ai",
"example": "We need someone who can inspire the team.",
"image_url": "/media/decks_media/toeic600/Tony-Robbins (1).jpg",
"audio_tts_text": "INSPIRE",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "LOCATION",
"part_of_speech": "n",
"phonetic": "/ləʊˈkeɪʃn̩/",
"definition": ", a position or site. vị trí",
"example": "His apartment is in a really good location.",
"image_url": "/media/decks_media/toeic600/194611405_1378002698.jpg",
"audio_tts_text": "LOCATION",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "MARKET",
"part_of_speech": "v",
"phonetic": "/ˈmɑːkɪt/",
"definition": "the course of buying and selling a product, n. the demand for a product. giá thị trường; tình hình thị trường",
"example": "I usually buy all my vegetables at the market.",
"image_url": "/media/decks_media/toeic600/marketing.jpg",
"audio_tts_text": "MARKET",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "OBLIGATE",
"part_of_speech": "v",
"phonetic": "/ˈɒblɪɡeɪt/",
"definition": "to bind legally or morally. bắt buộc, ép buộc",
"example": "Tenants are obligated to pay their rent on time.",
"image_url": "/media/decks_media/toeic600/1318490737.nv.gif",
"audio_tts_text": "OBLIGATE",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "OBLIGATION",
"part_of_speech": "n",
"phonetic": "/ˌɒblɪˈɡeɪʃn̩/",
"definition": "obligatory adj. nghĩa vụ, bổn phận",
"example": "Employers have an obligation to treat all employees equally.",
"image_url": "/media/decks_media/toeic600/huan_luyen_quan_su_hoc_sinh_lop_1.jpg",
"audio_tts_text": "OBLIGATION",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "OFFER",
"part_of_speech": "v",
"phonetic": "/ˈɒfə/",
"definition": "to propose, to present in order to meet a need or satisfy a requirement. đưa ra đề nghị",
"example": "Can I offer you something to drink?",
"image_url": "/media/decks_media/toeic600/WinningOffer.jpg",
"audio_tts_text": "OFFER",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "OVERCROWDED",
"part_of_speech": "adj",
"phonetic": "/ˌəʊvəˈkraʊdɪd/",
"definition": "a, too crowded. kéo vào quá đông, dồn vào quá đông, chật ních",
"example": "Staff had to work in overcrowded conditions .",
"image_url": "/media/decks_media/toeic600/Overcrowded-Campus.jpg",
"audio_tts_text": "OVERCROWDED",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "PARTY",
"part_of_speech": "n",
"phonetic": "/ˈpɑːti/",
"definition": "a person or group participating in an action or plan, the persons or sides , concerned in a legal matter. các bên tham gia, tiêc, đội, nhóm.",
"example": "The parties agreed to a settlement in their contract dispute",
"image_url": "/media/decks_media/toeic600/348127_html_65fc6a03.gif",
"audio_tts_text": "PARTY",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "PERSUADE",
"part_of_speech": "v",
"phonetic": "/pəˈsweɪd/",
"definition": "to move by argument or logic. làm cho tin; thuyết phục",
"example": "I finally managed to persuade her to go out for a drink with me.",
"image_url": "/media/decks_media/toeic600/pushing-to-work.jpg",
"audio_tts_text": "PERSUADE",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "PRIMARY",
"part_of_speech": "adj",
"phonetic": "/ˈpraɪməri/",
"definition": "Most important, first in a list, series, or sequence. chủ yếu, chính, bậc nhất",
"example": "Our primary concern is to provide the refugees with food and healthcare.",
"image_url": "/media/decks_media/toeic600/Primary-school-class-Oxfo-001.jpg",
"audio_tts_text": "PRIMARY",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "PROMISE",
"part_of_speech": "v n",
"phonetic": "/ˈprɒmɪs/",
"definition": "to pledge to do, bring about, or provide. lời hứa, điều hứa, điều hẹn ước; sự hứa hẹn",
"example": "Last night the headmaster promised a full investigation.",
"image_url": "/media/decks_media/toeic600/promise_day_02.png",
"audio_tts_text": "PROMISE",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "PROTECT",
"part_of_speech": "v",
"phonetic": "/prəˈtekt/",
"definition": "to guard. bảo vệ, sự bảo vệ, chê chở",
"example": "Are we doing enough to protect the environment?",
"image_url": "/media/decks_media/toeic600/3694192-hands-of-young-woman-protect-a-green-sprout.jpg",
"audio_tts_text": "PROTECT",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "PROVISION",
"part_of_speech": "n",
"phonetic": "/prəˈvɪʒn̩/",
"definition": "a measure taken beforehand, a stipulation. điều khoản, đồ dự phòng.",
"example": "The agreement includes a provision for each side to check the other side's weapons.",
"image_url": "/media/decks_media/toeic600/576_Dieu_khoan_chung_M1.jpg",
"audio_tts_text": "PROVISION",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "REGISTER",
"part_of_speech": "V",
"phonetic": "/ˈredʒɪstə/",
"definition": ", to record. đăng ký",
"example": "How many students have registered for English classes?",
"image_url": "/media/decks_media/toeic600/tinchi1jpg-060937.jpg",
"audio_tts_text": "REGISTER",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "REPUTATION",
"part_of_speech": "n",
"phonetic": "/ˌrepjʊˈteɪʃn̩/",
"definition": "the overall quality of character. tiếng tốt, thanh danh, danh tiếng",
"example": "Judge Kelso has a reputation for being strict but fair.",
"image_url": "/media/decks_media/toeic600/shutterstock_68988925.jpg",
"audio_tts_text": "REPUTATION",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "REQUIRE",
"part_of_speech": "v",
"phonetic": "/rɪˈkwaɪə/",
"definition": "to deem  necessary or essential. đòi hỏi, yêu cầu",
"example": "Most house plants require regular watering.",
"image_url": "/media/decks_media/toeic600/Screen-Shot-2012-06-04-at-7.41.38-PM1.jpeg",
"audio_tts_text": "REQUIRE",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "RESOLVE",
"part_of_speech": "v",
"phonetic": "/rɪˈzɒlv/",
"definition": "to deal with successfully, to declare. quyết tâm, giải quyết",
"example": "The crisis was resolved by negotiations.",
"image_url": "/media/decks_media/toeic600/quyettam.jpg",
"audio_tts_text": "RESOLVE",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "RISK",
"part_of_speech": "n",
"phonetic": "/rɪsk/",
"definition": "the chance of loss or damage. sự rủi ro, sự nguy hiểm",
"example": "There is a risk that the crisis may spread further.",
"image_url": "/media/decks_media/toeic600/Risk-Taking.jpg",
"audio_tts_text": "RISK",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "SATISFY",
"part_of_speech": "v",
"phonetic": "/ˈsætɪsfaɪ/",
"definition": "to make happy. làm thoả mãn, làm vừa lòng, đáp ứng được yêu cầu, điều kiện...",
"example": "Nothing I did would ever satisfy my father.",
"image_url": "/media/decks_media/toeic600/ton-trong-khach-hang.jpg",
"audio_tts_text": "SATISFY",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "SELECT",
"part_of_speech": "v",
"phonetic": "/sɪˈlekt/",
"definition": "to choose from a group. chọn, lựa chọn",
"example": "They selected the winner from six finalists.",
"image_url": "/media/decks_media/toeic600/Selecting-a-Real-Estate-Agent-Red.png",
"audio_tts_text": "SELECT",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "SESSION",
"part_of_speech": "n",
"phonetic": "/ˈseʃn̩/",
"definition": "a meeting. buổi họp, kỳ họp, khóa học",
"example": "Board members met in closed session",
"image_url": "/media/decks_media/toeic600/Obama_Health_Care_Speech_to_Joint_Session_of_Congress.jpg",
"audio_tts_text": "SESSION",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "SPECIFY",
"part_of_speech": "v",
"phonetic": "/ˈspesɪfaɪ/",
"definition": "to mention explicitly. chỉ rõ, ghi rõ, định rõ, ghi chú vào phần chi tiết kỹ thuật",
"example": "Regulations specify how long maintenance crews can work.",
"image_url": "/media/decks_media/toeic600/Specify Hardware.jpg",
"audio_tts_text": "SPECIFY",
"audio_lang": "en-US",
"display_order": 59
},
{
"word": "STRATEGY",
"part_of_speech": "n",
"phonetic": "/ˈstrætədʒi/",
"definition": "a plan of action. chiến lược",
"example": "the government's long-term economic strategy",
"image_url": "/media/decks_media/toeic600/strategy1.jpg",
"audio_tts_text": "STRATEGY",
"audio_lang": "en-US",
"display_order": 60
},
{
"word": "STRONG",
"part_of_speech": "adj",
"phonetic": "/strɒŋ/",
"definition": "Powerful, economically or financially sound. mạnh khỏe, bền vững",
"example": "He was a big strong man.",
"image_url": "/media/decks_media/toeic600/048380_Serve_PushUp_BusShelter.jpg",
"audio_tts_text": "STRONG",
"audio_lang": "en-US",
"display_order": 61
},
{
"word": "SUBSTITUTE",
"part_of_speech": "v",
"phonetic": "/ˈsʌbstɪtjuːt/",
"definition": "to take the place of another. thế, thay thế",
"example": "The coach has to find a substitute for Tim.",
"image_url": "/media/decks_media/toeic600/substitute.png",
"audio_tts_text": "SUBSTITUTE",
"audio_lang": "en-US",
"display_order": 62
},
{
"word": "TAKE PART IN",
"part_of_speech": "v",
"phonetic": "/teɪk pɑːt ɪn/",
"definition": "to join or participate. tham gia, tham dự",
"example": "We took part in Your Club 2 years ago",
"image_url": "/media/decks_media/toeic600/Huong-dan-tham-gia-dau-gia-709c0.jpg",
"audio_tts_text": "TAKE PART IN",
"audio_lang": "en-US",
"display_order": 63
},
{
"word": "VARY",
"part_of_speech": "v",
"phonetic": "/ˈveəri/",
"definition": "to be different from another, to change. làm cho khác nhau, thay đổi, biến đổi",
"example": "Test scores vary from school to school .",
"image_url": "/media/decks_media/toeic600/20090523035603_090523-peace-car-karlovy-vary.jpg",
"audio_tts_text": "VARY",
"audio_lang": "en-US",
"display_order": 64
}
]

View File

@@ -0,0 +1,673 @@
[
{
"word": "ACCESS",
"part_of_speech": "V",
"phonetic": "/ˈækses/",
"definition": ", to obtain, to gain entry. truy cập, đường vào",
"example": "The main access to the building is at the side.",
"image_url": "/media/decks_media/toeic600/25.03.10.jpg",
"audio_tts_text": "ACCESS",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "AFFORDABLE",
"part_of_speech": "adj",
"phonetic": "/əˈːdəbl̩/",
"definition": "a, able to be paid for; not too expensive. hợp lý, có thể chi trả được",
"example": "the company's first priority was to find an affordable phone system",
"image_url": "/media/decks_media/toeic600/Depositphotos_6747302_s.jpg",
"audio_tts_text": "AFFORDABLE",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "ALLOCATE",
"part_of_speech": "V",
"phonetic": "/ˈæləkeɪt/",
"definition": ", to designate for a specific purpose. sắp xếp, phân bổ",
"example": "Several patients were waiting to be allocated a bed.",
"image_url": "/media/decks_media/toeic600/BB595D05-848C-4D46-8D3A-CB220A2B2BD2_mw1024_n_s.jpg",
"audio_tts_text": "ALLOCATE",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "APPRECIATE",
"part_of_speech": "V",
"phonetic": "/əˈpriːʃieɪt/",
"definition": ", to recognize, understand the importance of; to be thankful for. đánh giá cao",
"example": "He did not fully appreciate the significance of signing the contract.",
"image_url": "/media/decks_media/toeic600/j04024461.jpg",
"audio_tts_text": "APPRECIATE",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "AS NEEDED",
"part_of_speech": "adv",
"phonetic": "/əz ˈniːdɪd/",
"definition": "as necessary. cần thiết",
"example": "the courier service did not come every day, only as needed",
"image_url": "/media/decks_media/toeic600/THELESSONREPEATS.jpg",
"audio_tts_text": "AS NEEDED",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "ASSEMBLE",
"part_of_speech": "V",
"phonetic": "/əˈsembl̩/",
"definition": ", to put together; to bring together. thu thập,tập hợp lắp ráp",
"example": "She had assembled a collection of her favourite songs.",
"image_url": "/media/decks_media/toeic600/NRT Harajuku Tokyo - Cos-play-zoku or Costume Play Gang assemble on Sunday at Jingu-bashi near Harajuku JR station 02 3008x2000.jpg",
"audio_tts_text": "ASSEMBLE",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "BEFOREHAND",
"part_of_speech": "Adv",
"phonetic": "/bɪˈːhænd/",
"definition": ", early, in advance. sớm, trước",
"example": "When you give a speech, it's natural to feel nervous beforehand.",
"image_url": "/media/decks_media/toeic600/Sớm+mai+ở+Khánh+Lê+(1).JPG",
"audio_tts_text": "BEFOREHAND",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "BE IN CHARGE OF",
"part_of_speech": "v",
"phonetic": "/bi ɪn tʃɑːdʒ ɒv/",
"definition": "to be in control or command of. có trách nhiệm, nghĩa vụ",
"example": "He appointed someone to be in charge of maintaining a supply of paper in the fax machine",
"image_url": "/media/decks_media/toeic600/bxp155984h.jpg",
"audio_tts_text": "BE IN CHARGE OF",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "BRING IN",
"part_of_speech": "v",
"phonetic": "/brɪŋ ɪn/",
"definition": "to hire or recruit; to cause to appear. đưa vào, thuê,đem vào, mang vào",
"example": "the company brought in a new team of project planners",
"image_url": "/media/decks_media/toeic600/iStock_000011028610Small.jpg",
"audio_tts_text": "BRING IN",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "CAPACITY",
"part_of_speech": "N",
"phonetic": "/kəˈpæsɪti/",
"definition": "the ability to contain or hold; the maximum that something can hold. sức chứa, khả năng",
"example": "The room had seating capacity for about 80.",
"image_url": "/media/decks_media/toeic600/carrying.capacity.of.earth.jpg",
"audio_tts_text": "CAPACITY",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "CASUAL",
"part_of_speech": "adj",
"phonetic": "/ˈkæʒʊəl/",
"definition": "informal. không trịnh trọng, bình thường, thường, tình cờ, bất chợt, ngẫu nhiên",
"example": "His eyes were angry, though he sounded casual.",
"image_url": "/media/decks_media/toeic600/casual-outfits-51.jpg",
"audio_tts_text": "CASUAL",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "CODE",
"part_of_speech": "N",
"phonetic": "/kəʊd/",
"definition": ", rules of behavior. bộ luật, quy luật,điều lệ,  mã",
"example": "Each state in the US has a different criminal and civil code.",
"image_url": "/media/decks_media/toeic600/code39checksum.gif",
"audio_tts_text": "CODE",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "COMPATIBLE",
"part_of_speech": "adj",
"phonetic": "/kəmˈpætəbl̩/",
"definition": "a, able to function together. tương tác, thích ứng",
"example": "Stephen's political views often weren't compatible with her own.",
"image_url": "/media/decks_media/toeic600/3441compatible.jpg",
"audio_tts_text": "COMPATIBLE",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "COMPLICATED",
"part_of_speech": "adj",
"phonetic": "/ˈkɒmplɪkeɪtɪd/",
"definition": "not easy to understand. phức tạp",
"example": "For young children, getting dressed is a complicated business.",
"image_url": "/media/decks_media/toeic600/facebook-is-getting-too-damn-complicated-opinion--546bc3b1a1.jpg",
"audio_tts_text": "COMPLICATED",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "COURIER",
"part_of_speech": "N",
"phonetic": "/ˈkʊrɪə/",
"definition": "a messenger. người chuyển phát, đưa thư",
"example": "I want to have this package delivered by motorcycle courier.",
"image_url": "/media/decks_media/toeic600/9881500-courier-man.jpg",
"audio_tts_text": "COURIER",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "DELETE",
"part_of_speech": "v",
"phonetic": "/dɪˈliːt/",
"definition": "to remove; to erase. xóa",
"example": "His name was deleted from the list.",
"image_url": "/media/decks_media/toeic600/delete-big.jpg",
"audio_tts_text": "DELETE",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "DISK",
"part_of_speech": "N",
"phonetic": "/dɪsk/",
"definition": ", an object used to store digital information. đĩa máy tính",
"example": "Please insert this disk into my computer",
"image_url": "/media/decks_media/toeic600/disk.jpg",
"audio_tts_text": "DISK",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "DISPLAY",
"part_of_speech": "N",
"phonetic": "/dɪˈspleɪ/",
"definition": "what is visible on a monitor;. to show trình bày, trưng bày",
"example": "Family photographs were displayed on the wall.",
"image_url": "/media/decks_media/toeic600/Corrugated-Displays.jpg",
"audio_tts_text": "DISPLAY",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "DUPLICATE",
"part_of_speech": "V",
"phonetic": "/ˈdjuːplɪkeɪt/",
"definition": ", to produce something equal; to make identical. bản sao, gấp đôi",
"example": "The video had been duplicated illegally.",
"image_url": "/media/decks_media/toeic600/what-is-duplicate-content.jpg",
"audio_tts_text": "DUPLICATE",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "DURABLE",
"part_of_speech": "Adj",
"phonetic": "/ˈdjʊərəbl̩/",
"definition": "sturdy, strong, lasting. lâu bền",
"example": "Wood is a durable material.",
"image_url": "/media/decks_media/toeic600/2013-07-05-WindTurbing.jpg",
"audio_tts_text": "DURABLE",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "EXPOSE",
"part_of_speech": "v",
"phonetic": "/bi ɪkˈspəʊzd tuː/",
"definition": "to become aware of; to gain experience in. phơi bày ra, lộ ra",
"example": "He lifted his T-shirt to expose a jagged scar across his chest.",
"image_url": "/media/decks_media/toeic600/expose3679.jpg",
"audio_tts_text": "EXPOSE",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "EXPRESS",
"part_of_speech": "v",
"phonetic": "/ɪkˈspres/",
"definition": ", to give an opinion or depict emotion. bày tỏ, biểu lộ tình cảm, nhanh, tốc hành",
"example": "Bill's not afraid to express his opinions.",
"image_url": "/media/decks_media/toeic600/Beijing_Airport_Express.jpeg",
"audio_tts_text": "EXPRESS",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "FACILITATE",
"part_of_speech": "v",
"phonetic": "/fəˈsɪlɪteɪt/",
"definition": "to make easier. làm cho dễ dàng, thuận tiện",
"example": "Computers can be used to facilitate language learning.",
"image_url": "/media/decks_media/toeic600/13540568-business-team-help-facilitate-company-deal-partnership-merger-or-collaboration.jpg",
"audio_tts_text": "FACILITATE",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "FAILURE",
"part_of_speech": "n",
"phonetic": "/ˈfeɪ.ljəʳ/",
"definition": "an unsuccessful work or effort. sự thất bại",
"example": "The repeated failure of her printer baffled the technician",
"image_url": "/media/decks_media/toeic600/that-bai-khi-tu-bo.jpg",
"audio_tts_text": "FAILURE",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "FIGURE OUT",
"part_of_speech": "V",
"phonetic": "/ˈfɪɡə aʊt/",
"definition": ", to understand , to solve. chỉ ra, hiểu ra",
"example": "The technicians figured out how to fix the problem",
"image_url": "/media/decks_media/toeic600/1A825A9F-8F07-4B81-AA77-591EDEE1724B_mw1024_n_s.jpg",
"audio_tts_text": "FIGURE OUT",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "FOLD",
"part_of_speech": "V",
"phonetic": "/fəʊld/",
"definition": "to bend paper. phủ, bao bọc, gấp lại",
"example": "Fold the paper along the dotted line.",
"image_url": "/media/decks_media/toeic600/Blintz-fold.jpg",
"audio_tts_text": "FOLD",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "GLIMPSE",
"part_of_speech": "N",
"phonetic": "/ɡlɪmps/",
"definition": ", a quick look. lướt qua, thoáng qua",
"example": "They caught a glimpse of a dark green car.",
"image_url": "/media/decks_media/toeic600/glimpse-6-cover-lowres.png",
"audio_tts_text": "GLIMPSE",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "IGNORE",
"part_of_speech": "V",
"phonetic": "/ɪɡˈː/",
"definition": ", not to notice; to disregard. bỏ qua, lờ đi",
"example": "The phone rang, but she ignored it.",
"image_url": "/media/decks_media/toeic600/3-Digital-Marketing-Strategies-you-Should-Not-Ignore.jpg",
"audio_tts_text": "IGNORE",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "INITIATE",
"part_of_speech": "v",
"phonetic": "/ɪˈnɪʃɪeɪt/",
"definition": "formal to arrange for something important to start, such as an official process or a new plan. bắt đầu, khởi đầu, đề xướng",
"example": "Who initiated the violence?",
"image_url": "/media/decks_media/toeic600/moon-walk.jpg",
"audio_tts_text": "INITIATE",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "INITIATIVE",
"part_of_speech": "N",
"phonetic": "/ɪˈnɪʃətɪv/",
"definition": ", the first step; an active role. sáng kiến",
"example": "Don't keep asking me for advice. Use your initiative .",
"image_url": "/media/decks_media/toeic600/1350618361.nv.gif",
"audio_tts_text": "INITIATIVE",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "LAYOUT",
"part_of_speech": "N",
"phonetic": "/ˈleɪaʊt/",
"definition": ", a format; the organization of material on a page. Sự bố trí trang giấy",
"example": "I like the the layout of the house.",
"image_url": "/media/decks_media/toeic600/shop_layout2.jpg",
"audio_tts_text": "LAYOUT",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "MADE OF",
"part_of_speech": "V",
"phonetic": "/ˈmeɪd ɒv/",
"definition": ", to consist of. tạo nên, làm từ",
"example": "people say that the negotiator has nerves made of steel",
"image_url": "/media/decks_media/toeic600/guinness-beer-made-of-more-1-1024-72167.jpg",
"audio_tts_text": "MADE OF",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "MENTION",
"part_of_speech": "V",
"phonetic": "/ˈmenʃn̩/",
"definition": "to refer to; n, something read or written. đưa ra, đề cập đến",
"example": "Was my name mentioned at all?",
"image_url": "/media/decks_media/toeic600/hidden-agenda-clipart.jpg",
"audio_tts_text": "MENTION",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "NETWORK",
"part_of_speech": "n",
"phonetic": "/ˈnetwɜːk/",
"definition": "an interconnected group or system. mạng lưới",
"example": "It's important to build up a network of professional contacts.",
"image_url": "/media/decks_media/toeic600/NIMS.jpg",
"audio_tts_text": "NETWORK",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "OUTDATED",
"part_of_speech": "adj",
"phonetic": "/aʊtˈdeɪtɪd/",
"definition": "obsolete; not currently in use. hết hạn",
"example": "His writing style is now boring and outdated.",
"image_url": "/media/decks_media/toeic600/Retainage-Is-Outdated-and-Causes-Problems.png",
"audio_tts_text": "OUTDATED",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "OUT OF",
"part_of_speech": "prep",
"phonetic": "/aʊt ɒv/",
"definition": "no longer having, missing. hết, mất",
"example": "orders should be placed before you run out of the suppliers",
"image_url": "/media/decks_media/toeic600/depositphotos_5316140-Out-of-stock-temporarily-stamp.jpg",
"audio_tts_text": "OUT OF",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "PETITION",
"part_of_speech": "Nv",
"phonetic": "/pɪˈtɪʃn̩/",
"definition": "(n) a formal, written request; (v), to make a formal request. lời thỉnh cầu, đề nghị",
"example": "She's filing a petition for divorce.",
"image_url": "/media/decks_media/toeic600/annual-appeal-photo-web.jpg",
"audio_tts_text": "PETITION",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "PHYSICAL",
"part_of_speech": "adj",
"phonetic": "/ˈfɪzɪkl̩/",
"definition": "perceived by the senses. vật chất, điều gì đó liên quan đến tự nhiên",
"example": "She was in constant physical pain.",
"image_url": "/media/decks_media/toeic600/Physical-Conditioning.jpg",
"audio_tts_text": "PHYSICAL",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "POPULARITY",
"part_of_speech": "N",
"phonetic": "/ˌpɒpjʊˈlærɪti/",
"definition": ", the state of being widely admired, sought. tính đại chúng, phổ biến",
"example": "Country music is growing in popularity.",
"image_url": "/media/decks_media/toeic600/Catwalk_by_David_Shankbone.jpg",
"audio_tts_text": "POPULARITY",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "PRACTICE",
"part_of_speech": "N",
"phonetic": "/ˈpræktɪs/",
"definition": ", method of doing something. tập luyện",
"example": "It takes hours of practice to learn to play the guitar.",
"image_url": "/media/decks_media/toeic600/6d87ea0a44d1d7552cce3f7351218b30.jpg",
"audio_tts_text": "PRACTICE",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "PROCESS",
"part_of_speech": "N",
"phonetic": "/ˈprəʊses/",
"definition": "a series of operations or actions to bring about a result. quy trình",
"example": "Repetition can help the learning process.",
"image_url": "/media/decks_media/toeic600/engineering-design-process1.gif",
"audio_tts_text": "PROCESS",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "PROOF",
"part_of_speech": "V",
"phonetic": "/pruːf/",
"definition": ", to look for errors. bằng chứng",
"example": "This latest interview was further proof of how good at her job Cara was.",
"image_url": "/media/decks_media/toeic600/proof.jpg",
"audio_tts_text": "PROOF",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "PROVIDER",
"part_of_speech": "N",
"phonetic": "/prəˈvaɪdə/",
"definition": ", a supplier. nhà cung cấp",
"example": "Until her illness she was the main provider in the family.",
"image_url": "/media/decks_media/toeic600/warehouse.jpg",
"audio_tts_text": "PROVIDER",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "RECUR",
"part_of_speech": "v",
"phonetic": "/rɪˈː/",
"definition": "to occur again or repeatedly. tái diễn, tái hiện",
"example": "The theme of freedom recurs throughout her writing.",
"image_url": "/media/decks_media/toeic600/Repeat.jpg",
"audio_tts_text": "RECUR",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "REDUCTION",
"part_of_speech": "n",
"phonetic": "/rɪˈdʌkʃn̩/",
"definition": "a lessening , a decrease. thu nhỏ, giảm bớt",
"example": "the reduction of interest rates",
"image_url": "/media/decks_media/toeic600/CP_Cost reduction.jpg",
"audio_tts_text": "REDUCTION",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "REGISTERED",
"part_of_speech": "adj",
"phonetic": "/ˈredʒɪstəd/",
"definition": "recorded and tracked. đã vào sổ, đã đăng ký",
"example": "a registered nurse",
"image_url": "/media/decks_media/toeic600/GA_Convict_Registers_1.JPG",
"audio_tts_text": "REGISTERED",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "REINFORCE",
"part_of_speech": "V",
"phonetic": "/ˌriːɪnˈːs/",
"definition": ", to strengthen, support. củng cố, gia cố, tăng cường",
"example": "employees reinforced their learning with practice in the workplace",
"image_url": "/media/decks_media/toeic600/RebarCloseup.jpg",
"audio_tts_text": "REINFORCE",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "REPLACE",
"part_of_speech": "V",
"phonetic": "/rɪˈpleɪs/",
"definition": ", to put back in a former place or position. thay thế",
"example": "I'm replacing Sue on the team.",
"image_url": "/media/decks_media/toeic600/Two_man_replace_a_main_landing_gear_tire_of_a_plane.jpg",
"audio_tts_text": "REPLACE",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "REVISE",
"part_of_speech": "V",
"phonetic": "/rɪˈvaɪz/",
"definition": ", to rewrite. sửa lại, bản sửa",
"example": "She's revising for her history exam.",
"image_url": "/media/decks_media/toeic600/revision-005.jpg",
"audio_tts_text": "REVISE",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "REVOLUTION",
"part_of_speech": "N",
"phonetic": "/ˌrevəˈluːʃn̩/",
"definition": ", a sudden or momentous change in a situation. cuộc cách mạng, quay vòng",
"example": "In the last ten years there has been a revolution in education.",
"image_url": "/media/decks_media/toeic600/vector-art-buy-search-vectors-name.jpg",
"audio_tts_text": "REVOLUTION",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "SEARCH",
"part_of_speech": "V",
"phonetic": "/sɜːtʃ/",
"definition": ", to look for; n, investigation. tìm kiếm, tìm hiểu",
"example": "The police have already carried out a search .",
"image_url": "/media/decks_media/toeic600/original (4).jpg",
"audio_tts_text": "SEARCH",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "SHARP",
"part_of_speech": "adj",
"phonetic": "/ʃɑːp/",
"definition": "abrupt or acute; smart. sắc nét, sắc, nhọn",
"example": "Make sure you use a good sharp knife.",
"image_url": "/media/decks_media/toeic600/sharp-tv.jpg",
"audio_tts_text": "SHARP",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "SHUT DOWN",
"part_of_speech": "V",
"phonetic": "/ʃʌt daʊn/",
"definition": ", to turn off; to cease operation. đóng lại, ngừng lại",
"example": "please shut down the computer before you leave",
"image_url": "/media/decks_media/toeic600/shut-the-door.gif",
"audio_tts_text": "SHUT DOWN",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "SKILL",
"part_of_speech": "N",
"phonetic": "/skɪlz/",
"definition": ", developed ability. kỹ năng",
"example": "Reading and writing are two different skills.",
"image_url": "/media/decks_media/toeic600/Daniel_Hochsteiner.jpg",
"audio_tts_text": "SKILL",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "SOFTWARE",
"part_of_speech": "N",
"phonetic": "/ˈsɒftweə/",
"definition": ", the programs for a computer. phần mềm",
"example": "She loaded the new software .",
"image_url": "/media/decks_media/toeic600/Software_Icons_Pack_by_deleket.jpg",
"audio_tts_text": "SOFTWARE",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "STAY ON TOP OF",
"part_of_speech": "v",
"phonetic": "/steɪ ɒn tɒp ɒv/",
"definition": "to know what is going on; to know the latest information. nắm được, biết được cái gì đang diễn ra",
"example": "in this industry, you must stay on top of current developments",
"image_url": "/media/decks_media/toeic600/staying-ahead-fish.jpg",
"audio_tts_text": "STAY ON TOP OF",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "STOCK",
"part_of_speech": "N",
"phonetic": "/stɒk/",
"definition": "a supply;. dự trữ, cổ phần, cổ phiếu",
"example": "the trading of stocks and shares",
"image_url": "/media/decks_media/toeic600/Stock-Market-Drop.jpg",
"audio_tts_text": "STOCK",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "STORAGE",
"part_of_speech": "N",
"phonetic": "/ˈstɔːrɪdʒ/",
"definition": ", the safekeeping of goods or information. kho, sự dự trữ",
"example": "I put some of my things in storage.",
"image_url": "/media/decks_media/toeic600/huge storage space.jpg",
"audio_tts_text": "STORAGE",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "TECHNICAL",
"part_of_speech": "adj",
"phonetic": "/ˈteknɪkl̩/",
"definition": "special skill or knowledge. Kỹ thuật",
"example": "Our staff will be available to give you technical support .",
"image_url": "/media/decks_media/toeic600/Cọkhi.jpg",
"audio_tts_text": "TECHNICAL",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "VERBAL",
"part_of_speech": "Adj",
"phonetic": "/ˈːbl̩/",
"definition": "oral. bằng lời nói",
"example": "the guarantee was made only verbally",
"image_url": "/media/decks_media/toeic600/aware-verbal-abuse-fist.jpg",
"audio_tts_text": "VERBAL",
"audio_lang": "en-US",
"display_order": 59
},
{
"word": "WARN",
"part_of_speech": "V",
"phonetic": "/wɔːn/",
"definition": ", to alert; to tell about a danger or problem. cảnh báo",
"example": "I warned you not to walk home alone.",
"image_url": "/media/decks_media/toeic600/shutterstock_609637661.JPG",
"audio_tts_text": "WARN",
"audio_lang": "en-US",
"display_order": 60
}
]

View File

@@ -0,0 +1,695 @@
[
{
"word": "ABILITY",
"part_of_speech": "n",
"phonetic": "/əˈbɪləti/",
"definition": ", a skill, a competence. khả năng",
"example": "I don't have the ability to say 'no'.",
"image_url": "/media/decks_media/toeic600/ability.gif",
"audio_tts_text": "ABILITY",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "ABUNDANT",
"part_of_speech": "adj",
"phonetic": "/əˈbʌndənt/",
"definition": "something that is abundant exists or is available in large quantities so that there is more than enough. nhiều, thừa thãi",
"example": "Cheap consumer goods are abundant in this part of the world.",
"image_url": "/media/decks_media/toeic600/bigstockphoto_Success_Concept_Woman_With_Lo_3346184.jpg",
"audio_tts_text": "ABUNDANT",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "ACCOMPLISHMENT",
"part_of_speech": "n",
"phonetic": "/əˈkʌmplɪʃmənt/",
"definition": ", an achievement, a success. Việc đã hoàn thành, thành quả, thành tựu, thành tích",
"example": "Cutting the budget was an impressive accomplishment.",
"image_url": "/media/decks_media/toeic600/top-of-mountain-high-five-accomplishment-goal.jpg",
"audio_tts_text": "ACCOMPLISHMENT",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "ACHIEVE",
"part_of_speech": "v",
"phonetic": "/əˈtʃiːv/",
"definition": ", to succeed , to reach a goal. giành được, hoàn thành",
"example": "Frances achieved very good exam results.",
"image_url": "/media/decks_media/toeic600/achieve_a_dream_to_fly_by_AQIELBALIGH.jpg",
"audio_tts_text": "ACHIEVE",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "APPLY",
"part_of_speech": "v",
"phonetic": "/əˈplaɪ/",
"definition": ", to look for. Xin việc, tìm việc",
"example": "She applied for a job with the local newspaper.",
"image_url": "/media/decks_media/toeic600/apply (1).jpg",
"audio_tts_text": "APPLY",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "AWARE",
"part_of_speech": "adj",
"phonetic": "/əˈweə/",
"definition": ", having knowledge. có kiến thức hoặc nhận thức về ai/cái gì, nhận thức",
"example": "The children are aware of the danger of taking drugs.",
"image_url": "/media/decks_media/toeic600/1702.jpg",
"audio_tts_text": "AWARE",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "BACKGROUND",
"part_of_speech": "n",
"phonetic": "/ˈbækɡraʊnd/",
"definition": "a persons experience. kinh nghiệm, quá trình học hành, quá trình đào tạo",
"example": "Steve has a background in computer engineering.",
"image_url": "/media/decks_media/toeic600/PROFILE-A-KHOA2.jpg",
"audio_tts_text": "BACKGROUND",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "BASIS",
"part_of_speech": "n",
"phonetic": "/ˈbeɪsɪs/",
"definition": "the main reason for something, a base or foundation. nền tảng, cơ bản",
"example": "Their claim had no basis in fact",
"image_url": "/media/decks_media/toeic600/Zuerich_Neumuenster_Basis.jpg",
"audio_tts_text": "BASIS",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "BE AWARE OF",
"part_of_speech": "v",
"phonetic": "/bi əˈweər ɒv/",
"definition": "to be conscious of, to be knowledgeable about. am hiểu về, nhận thức",
"example": "The children are aware of the danger of taking drugs.",
"image_url": "/media/decks_media/toeic600/1 (3).jpg",
"audio_tts_text": "BE AWARE OF",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "BENEFIT",
"part_of_speech": "n",
"phonetic": "/ˈbenɪfɪts/",
"definition": "the advantages provided to a employee in addition to salary. tiền trợ cấp, lợi ích",
"example": "I never had the benefit of a university education.",
"image_url": "/media/decks_media/toeic600/2641 Trao biểu trưng tiền trợ cấp cho giáo viên, học sinh mắc bệnh hiểm nghèo.JPG",
"audio_tts_text": "BENEFIT",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "BENEFIT",
"part_of_speech": "v",
"phonetic": "/ˈbenɪfɪt/",
"definition": "an advantage, improvement, or help that you get from something. lợi ích, giúp ích cho",
"example": "The new credit cards will be of great benefit to our customers.",
"image_url": "/media/decks_media/toeic600/lots-of-money-wallpapers_10164_1024x768.jpg",
"audio_tts_text": "BENEFIT",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "BE READY FOR",
"part_of_speech": "v",
"phonetic": "/bi ˈredi fɔː/",
"definition": ", to be prepared. sẵn sàng cho…",
"example": "I don't feel that I'm ready for my driving test yet.",
"image_url": "/media/decks_media/toeic600/athlete-ready-race-23616875.jpg",
"audio_tts_text": "BE READY FOR",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "BRING TOGETHER",
"part_of_speech": "v",
"phonetic": "/brɪŋ təˈɡeðə/",
"definition": ", to join, to gather. gom lại; nhóm lại, họp lại",
"example": "our goal this year is to bring together the most creative group we can find",
"image_url": "/media/decks_media/toeic600/bring_together.jpg",
"audio_tts_text": "BRING TOGETHER",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "CALL IN",
"part_of_speech": "v",
"phonetic": "/kɔːl ɪn/",
"definition": ", to request. yêu cầu, ,mời tới",
"example": "I am called in for an interview tomorrow",
"image_url": "/media/decks_media/toeic600/Updated-postcard.png",
"audio_tts_text": "CALL IN",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "CANDIDATE",
"part_of_speech": "n",
"phonetic": "/ˈkændɪdət/",
"definition": ", one being considered for a position, office. Người dự thi; thí sinh",
"example": "There are only three candidates for the job.",
"image_url": "/media/decks_media/toeic600/Debate_620_102212.jpg",
"audio_tts_text": "CANDIDATE",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "COME UP WITH",
"part_of_speech": "v",
"phonetic": "/kʌm ʌp wɪð/",
"definition": ", to plan, to invent, to think of. ý định",
"example": "we need to come up with a good advertising plan",
"image_url": "/media/decks_media/toeic600/550px-Come-Up-with-Funny-Conversation-Topics-Step-2Bullet4.jpg",
"audio_tts_text": "COME UP WITH",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "COMMENSURATE",
"part_of_speech": "adj",
"phonetic": "/kəˈmenʃərət/",
"definition": "in proportion to, corresponding, equal to. tương xứng với, thích hợp với",
"example": "Salary will be commensurate with age and experience.",
"image_url": "/media/decks_media/toeic600/dsc_9654.JPG",
"audio_tts_text": "COMMENSURATE",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "COMPENSATE",
"part_of_speech": "v",
"phonetic": "/ˈkɒmpənseɪt/",
"definition": "to pay, to make up for. .bồi thường, đền bù",
"example": "the government's promise to compensate victims of the flood",
"image_url": "/media/decks_media/toeic600/Compensation+balance.jpg",
"audio_tts_text": "COMPENSATE",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "CONDUCT",
"part_of_speech": "v",
"phonetic": "/kənˈdʌkt/",
"definition": ", to hold, to take place, to behave. hướng dẫn, chỉ đạo, tiến hành",
"example": "We are conducting a survey of consumer attitudes towards organic food.",
"image_url": "/media/decks_media/toeic600/CAPT-Megan-directs-the-U.S.-Coast-Guard-Band.jpg",
"audio_tts_text": "CONDUCT",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "CONFIDENCE",
"part_of_speech": "n",
"phonetic": "/ˈkɒnfɪdəns/",
"definition": ", a belief in ones ability. tự tin",
"example": "good applicants show confidence during an interview",
"image_url": "/media/decks_media/toeic600/self-confidence-quotes1-650x520.jpg",
"audio_tts_text": "CONFIDENCE",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "CONSTANTLY",
"part_of_speech": "phó từ",
"phonetic": "/ˈkɒnstəntli/",
"definition": ", on a continual basis, happening all the time. liên tục, luôn luôn, không đổi",
"example": "He talked constantly about his work.",
"image_url": "/media/decks_media/toeic600/constantly-connected_collections_bn.jpg",
"audio_tts_text": "CONSTANTLY",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "CONTRIBUTE",
"part_of_speech": "v",
"phonetic": "/kənˈtrɪbjuːt/",
"definition": ", to add to, to donate, to give. đóng góp, góp phần",
"example": "City employees cannot contribute to political campaigns.",
"image_url": "/media/decks_media/toeic600/retirement+planning.jpg",
"audio_tts_text": "CONTRIBUTE",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "DEDICATION",
"part_of_speech": "n",
"phonetic": "/ˌdedɪˈkeɪʃn̩/",
"definition": ", a commitment to something. cống hiến",
"example": "I admire his dedication to the job.",
"image_url": "/media/decks_media/toeic600/hoc_tap_tron_doi_nhung_cong_hien_xuat_sac_cho_nhan_loai.764x1183.w.b.jpg",
"audio_tts_text": "DEDICATION",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "DELICATE",
"part_of_speech": "adj",
"phonetic": "/ˈdelɪkət/",
"definition": "Sensitive, (adv). With sensitivity. nhạy bén, khéo léo, nhẹ nhàng",
"example": "it's a delicate matter .",
"image_url": "/media/decks_media/toeic600/Delicate_Storm_by_fhrankee.jpg",
"audio_tts_text": "DELICATE",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "ELIGIBLE",
"part_of_speech": "adj",
"phonetic": "/ˈelɪdʒəbl̩/",
"definition": "Able to participate in something, qualified. đủ tư cách, thích hợp",
"example": "Students on a part-time course are not eligible for a loan.",
"image_url": "/media/decks_media/toeic600/who-are-the-most-eligible-bachelors-and-bachelorettes-in-the-video-game-industry.jpg",
"audio_tts_text": "ELIGIBLE",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "EXPERT",
"part_of_speech": "n",
"phonetic": "/ˈekspɜːt/",
"definition": ", a specialist. nhà chuyên môn, chuyên sâu, thành thạo",
"example": "Tests should be administered by a medical expert.",
"image_url": "/media/decks_media/toeic600/man-koon-suh.jpg",
"audio_tts_text": "EXPERT",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "FLEXIBLE",
"part_of_speech": "adj",
"phonetic": "/ˈfleksəbl̩/",
"definition": "Not rigid, able to change easily. linh hoạt, dễ sai khiến, dễ uốn nắn",
"example": "We can be flexible about your starting date.",
"image_url": "/media/decks_media/toeic600/How-Flexible-Is-Your-BI-1.jpg",
"audio_tts_text": "FLEXIBLE",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "FOLLOW UP",
"part_of_speech": "v",
"phonetic": "/ˈfɒləʊ ʌp/",
"definition": "to take additional steps, to continue. tiếp tục, tiếp theo",
"example": "always follow up an interview with a thank-you note",
"image_url": "/media/decks_media/toeic600/Five-Reasons-why-it-is-Necessary-to-Follow-Leads-with-Website-Visitor-Tracking.jpg",
"audio_tts_text": "FOLLOW UP",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "GENERATE",
"part_of_speech": "v",
"phonetic": "/ˈdʒenəreɪt/",
"definition": ", to create, to produce. sinh ra, tạo ra",
"example": "The program would generate a lot of new jobs.",
"image_url": "/media/decks_media/toeic600/real-cost-of-solar-panels.png",
"audio_tts_text": "GENERATE",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "HESITATE",
"part_of_speech": "v",
"phonetic": "/ˈhezɪteɪt/",
"definition": ", to pause, to be reluctant. do dự, lưỡng lự",
"example": "Kay hesitated for a moment and then said 'yes'.",
"image_url": "/media/decks_media/toeic600/hesitate1.jpg",
"audio_tts_text": "HESITATE",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "HIRE",
"part_of_speech": "v",
"phonetic": "/ˈhaɪə/",
"definition": ", to employ, to offer a job or position. thuê, mướn",
"example": "The best way to explore the island is to hire a car.",
"image_url": "/media/decks_media/toeic600/Barclays_Cycle_Hire,_Euston_-_IMG_0788.JPG",
"audio_tts_text": "HIRE",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "KEEP UP WITH",
"part_of_speech": "v",
"phonetic": "/kiːp ʌp wɪð/",
"definition": ", to stay equal with. giữ cân bằng",
"example": "employees are enouraged to take courses in order to keep up with new developments",
"image_url": "/media/decks_media/toeic600/parents-brave-to-keep-up-with-ever-changing-rules-of-tech-79426a787b.jpg",
"audio_tts_text": "KEEP UP WITH",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "LOOK FORWARD TO",
"part_of_speech": "v",
"phonetic": "/lʊk ˈːwəd tuː/",
"definition": ", to anticipate, to be eager for something to happen. chờ đợi, mong đợi",
"example": "we looking forward to seeing you at the next meeting",
"image_url": "/media/decks_media/toeic600/j0430487_1_.jpg",
"audio_tts_text": "LOOK FORWARD TO",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "LOOK TO",
"part_of_speech": "v",
"phonetic": "/lʊkt tuː/",
"definition": ", to depend on , to rely on. phụ thuộc vào",
"example": "the workers always looked to him to settle their disagreements",
"image_url": "/media/decks_media/toeic600/rely1 (1).jpg",
"audio_tts_text": "LOOK TO",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "LOOK UP TO",
"part_of_speech": "v",
"phonetic": "/lʊk ʌp tuː/",
"definition": ", to admire, to think highly of. Khâm phục, ngưỡng mộ",
"example": "I look up to the director because of his working style",
"image_url": "/media/decks_media/toeic600/3148457a496311e1a87612313804ec91_7.jpeg",
"audio_tts_text": "LOOK UP TO",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "LOYAL",
"part_of_speech": "adj",
"phonetic": "/ˈɪəl/",
"definition": ", faithful, believing in something or somebody. trung thành",
"example": "loyal customers",
"image_url": "/media/decks_media/toeic600/loyal_by_1illustratinglady-d384q68.jpg",
"audio_tts_text": "LOYAL",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "MATCH",
"part_of_speech": "n",
"phonetic": "/mætʃ/",
"definition": ", a fit, a similarity. vừa phù hợp",
"example": "Does this shirt match these trousers?",
"image_url": "/media/decks_media/toeic600/toy-tool-match-up-matching-activity-for-toddlers-the-measured-mom.jpg",
"audio_tts_text": "MATCH",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "MENTOR",
"part_of_speech": "n",
"phonetic": "/ˈmentɔː/",
"definition": ", a person who guides. người cố vấn",
"example": "the mentor help me make home decisions about job",
"image_url": "/media/decks_media/toeic600/mentor.jpg",
"audio_tts_text": "MENTOR",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "MERIT",
"part_of_speech": "n",
"phonetic": "/ˈmerɪt/",
"definition": ", experience, high quality. giá trị, công lao",
"example": "The great merit of the project is its flexibility and low cost.",
"image_url": "/media/decks_media/toeic600/certificate_of_merit.jpg",
"audio_tts_text": "MERIT",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "NEGOTIATE",
"part_of_speech": "v",
"phonetic": "/nɪˈɡəʊʃɪeɪt/",
"definition": "to talk for the purpose of reaching an agreement especially on prices or contracts. đàm phán, thương lượng",
"example": "The government refuses to negotiate with terrorists.",
"image_url": "/media/decks_media/toeic600/salary3.jpg",
"audio_tts_text": "NEGOTIATE",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "OBVIOUS",
"part_of_speech": "adj",
"phonetic": "/ˈɒbvɪəs/",
"definition": ", easy to see or understand. rõ ràng, hiển nhiên",
"example": "The obvious way of reducing pollution is to use cars less.",
"image_url": "/media/decks_media/toeic600/obvious____by_darkdeedee-d34iory.jpg",
"audio_tts_text": "OBVIOUS",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "ON TRACK",
"part_of_speech": "adj",
"phonetic": "/ɒn træk/",
"definition": "on schedule. tiếp tục làm theo tiến trình đã định ra",
"example": "if we stay on track, the meeting should be finished at 9:30",
"image_url": "/media/decks_media/toeic600/stay_on_track.jpg",
"audio_tts_text": "ON TRACK",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "PRESENT",
"part_of_speech": "v",
"phonetic": "/prɪˈzent/",
"definition": "to introduce, to show, to offer for consideration. trình bày, giới thiệu",
"example": "She was presented with an award .",
"image_url": "/media/decks_media/toeic600/Salman-Khan-TED.jpg",
"audio_tts_text": "PRESENT",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "PRESENTATION",
"part_of_speech": "n",
"phonetic": "/ˌpreznˈteɪʃn̩/",
"definition": "show,. sự bày ra, sự phô ra; sự trình ra",
"example": "Dr Evans thanked him for coming to make the presentations",
"image_url": "/media/decks_media/toeic600/SirKenRobinsonPhoto_RyanLashTED.jpg",
"audio_tts_text": "PRESENTATION",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "PRODUCTIVE",
"part_of_speech": "adj",
"phonetic": "/prəˈdʌktɪv/",
"definition": ", useful, getting a lot done. năng suất, khả năng làm việc",
"example": "Most of us are more productive in the morning.",
"image_url": "/media/decks_media/toeic600/4453018910_9d02aaf925_o.jpg",
"audio_tts_text": "PRODUCTIVE",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "PROFILE",
"part_of_speech": "n",
"phonetic": "/ˈprəʊfaɪl/",
"definition": ", a group of characteristics or traits. Tiểu sử sơ lược; mô tả sơ lược",
"example": "Dani has a lovely profile.",
"image_url": "/media/decks_media/toeic600/img_profile1.jpg",
"audio_tts_text": "PROFILE",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "PROMOTE",
"part_of_speech": "v",
"phonetic": "/prəˈməʊt/",
"definition": ", to give someone a better job; to support, to make known. đề đạt, thăng chức",
"example": "Helen was promoted to senior manager.",
"image_url": "/media/decks_media/toeic600/type-employee-boss-promote.jpg",
"audio_tts_text": "PROMOTE",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "QUALIFICATION",
"part_of_speech": "n",
"phonetic": "/ˌkwɒlɪfɪˈkeɪʃn̩z/",
"definition": "requirements, qualities, or abilities needed for something. Phẩm chất, năng lực,",
"example": "jobs require technical qualifications",
"image_url": "/media/decks_media/toeic600/skillful_circus_acrobatics_04.jpg",
"audio_tts_text": "QUALIFICATION",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "RAISE",
"part_of_speech": "n",
"phonetic": "/reɪz/",
"definition": "an increase in salary. sự tăng lương",
"example": "The Trust hopes to raise $1 million to buy land.",
"image_url": "/media/decks_media/toeic600/pay-raise.jpg",
"audio_tts_text": "RAISE",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "RECOGNITION",
"part_of_speech": "n",
"phonetic": "/ˌrekəɡˈnɪʃn̩/",
"definition": "credit, praise for doing something well. sự công nhận, sự thừa nhận",
"example": "There is general recognition that the study techniques of many students are weak.",
"image_url": "/media/decks_media/toeic600/thumbsup.jpg",
"audio_tts_text": "RECOGNITION",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "RECRUIT",
"part_of_speech": "v",
"phonetic": "/rɪˈkruːt/",
"definition": "to attract people to join an organization of a cause. tuyển dụng",
"example": "We're having difficulty recruiting enough qualified staff.",
"image_url": "/media/decks_media/toeic600/recruitment-peopleonchairs.png",
"audio_tts_text": "RECRUIT",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "REJECT",
"part_of_speech": "v",
"phonetic": "/rɪˈdʒekt/",
"definition": ", to turn down, to say no. từ chối",
"example": "Sarah rejected her brother's offer of help.",
"image_url": "/media/decks_media/toeic600/hand-reject-glass-beer-21367704.jpg",
"audio_tts_text": "REJECT",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "RETIRE",
"part_of_speech": "v",
"phonetic": "/rɪˈtaɪə/",
"definition": "to stop working, to withdraw from a business or profession. nghỉ hưu",
"example": "Most people retire at 65.",
"image_url": "/media/decks_media/toeic600/how-to-retire-early-1.jpg",
"audio_tts_text": "RETIRE",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "SET UP",
"part_of_speech": "v",
"phonetic": "/set ʌp/",
"definition": ", to establish, to arrange; a , arranged. thiết lập, tạo dựng",
"example": "please set up the time and place fot the meeting",
"image_url": "/media/decks_media/toeic600/nvivo_setup.jpg",
"audio_tts_text": "SET UP",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "SUBMIT",
"part_of_speech": "v",
"phonetic": "/səbˈmɪt/",
"definition": ", to present for consideration. đệ trình, đưa ra ý kiến là",
"example": "All applications must be submitted by Monday.",
"image_url": "/media/decks_media/toeic600/paper.gif",
"audio_tts_text": "SUBMIT",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "SUCCESS",
"part_of_speech": "n",
"phonetic": "/səkˈses/",
"definition": ", reaching a goal. thành công",
"example": "The experiment was a big success.",
"image_url": "/media/decks_media/toeic600/success-1.jpg",
"audio_tts_text": "SUCCESS",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "TIME-CONSUMING",
"part_of_speech": "adj",
"phonetic": "/ˈtaɪmkənˈsjuːmɪŋ/",
"definition": ", taking up a lot of time. cần nhiều thời jan",
"example": "a complex and time-consuming process",
"image_url": "/media/decks_media/toeic600/TimeRunningOut.jpg",
"audio_tts_text": "TIME-CONSUMING",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "TRAINING",
"part_of_speech": "n",
"phonetic": "/ˈtreɪnɪŋ/",
"definition": ", the preparation or education for a specific job. đào tạo",
"example": "On the course we received training in every aspect of the job.",
"image_url": "/media/decks_media/toeic600/employee-training.jpg",
"audio_tts_text": "TRAINING",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "UPDATE",
"part_of_speech": "v",
"phonetic": "/ˌʌpˈdeɪt/",
"definition": "to make current. the latest information. cập nhật",
"example": "Can you update me on what's been happening?",
"image_url": "/media/decks_media/toeic600/applesoftwareupdate.png",
"audio_tts_text": "UPDATE",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "VALUE",
"part_of_speech": "n",
"phonetic": "/ˈvæljuː/",
"definition": ", worth. đáng giá, giá trị",
"example": "The alterations doubled the value of the house.",
"image_url": "/media/decks_media/toeic600/Measuring-Customer-Value.jpg",
"audio_tts_text": "VALUE",
"audio_lang": "en-US",
"display_order": 59
},
{
"word": "VESTED",
"part_of_speech": "adj",
"phonetic": "/ˈvestɪd/",
"definition": "Absolute, authorized. được quyền, được phép, được ban cho",
"example": "He only took the job to get vested in the pension fund.",
"image_url": "/media/decks_media/toeic600/report-nsa-asks-for-encryption-keys-that-could-allow-it-to-live-on-the-network.jpg",
"audio_tts_text": "VESTED",
"audio_lang": "en-US",
"display_order": 60
},
{
"word": "WAGE",
"part_of_speech": "n",
"phonetic": "/weɪdʒ/",
"definition": "the money paid for work done, usually hourly. tiền công, tiền lương",
"example": "He earns a good wage .",
"image_url": "/media/decks_media/toeic600/workers-wages-vs.jpg",
"audio_tts_text": "WAGE",
"audio_lang": "en-US",
"display_order": 61
},
{
"word": "WEAKNESS",
"part_of_speech": "n",
"phonetic": "/ˈwiːknəs/",
"definition": ", a fault, a quality lacking strength. điểm yếu",
"example": "The plan has strengths and weaknesses .",
"image_url": "/media/decks_media/toeic600/Weakness3.jpg",
"audio_tts_text": "WEAKNESS",
"audio_lang": "en-US",
"display_order": 62
}
]

View File

@@ -0,0 +1,684 @@
[
{
"word": "ACCURATE",
"part_of_speech": "adj",
"phonetic": "/ˈækjərət/",
"definition": ", exact; errorless. đúng, chính xác",
"example": "The brochure tries to give a fair and accurate description of each hotel.",
"image_url": "/media/decks_media/toeic600/accurate-keyword-research.jpg",
"audio_tts_text": "ACCURATE",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "ADJUST",
"part_of_speech": "v",
"phonetic": "/əˈdʒʌst/",
"definition": "to change in order to match or fit, to cause to correspond. điều chỉnh, dàn xếp",
"example": "Check and adjust the brakes regularly.",
"image_url": "/media/decks_media/toeic600/3.03+Adjust+hub+cone.jpg",
"audio_tts_text": "ADJUST",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "AUTOMATIC",
"part_of_speech": "adj",
"phonetic": "/ˌɔːˈmætɪk/",
"definition": "Operating independently. tự động",
"example": "My camera is fully automatic .",
"image_url": "/media/decks_media/toeic600/BMW+automatic+gears+review.jpg",
"audio_tts_text": "AUTOMATIC",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "BARGAIN",
"part_of_speech": "n",
"phonetic": "/ˈbɑːɡɪn/",
"definition": ", something offered or acquired at a price advantageous to the buyer. mặc cả, sự thỏa thuận mua bán",
"example": "There are no bargains in the clothes shops at the moment.",
"image_url": "/media/decks_media/toeic600/2107669.jpg",
"audio_tts_text": "BARGAIN",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "BEAR",
"part_of_speech": "v",
"phonetic": "/beə/",
"definition": ", to have a tolerance for, to endure. chịu đựng,mang, vác",
"example": "She was afraid she wouldn't be able to bear the pain.",
"image_url": "/media/decks_media/toeic600/10nhan2.jpg",
"audio_tts_text": "BEAR",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "BEHAVIOUR",
"part_of_speech": "n",
"phonetic": "/bɪˈheɪvjə/",
"definition": ", the manner of ones action. cách ứng xử, đối xử",
"example": "It is important to reward good behaviour .",
"image_url": "/media/decks_media/toeic600/supernanny_1380196c.jpg",
"audio_tts_text": "BEHAVIOUR",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "CARRIER",
"part_of_speech": "n",
"phonetic": "/ˈkærɪə/",
"definition": ", a person or business that transports passengers or goods. người hoặc một hãng vận chuyển",
"example": "an international carrier",
"image_url": "/media/decks_media/toeic600/UPS-Truck.jpg",
"audio_tts_text": "CARRIER",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "CATALOGUE",
"part_of_speech": "n",
"phonetic": "/ˈkætəlɒɡ/",
"definition": ", a list or itemized display; (v,) to make an itemized list of. sách danh mục chi tiết",
"example": "The whole holiday was a catalogue of disasters.",
"image_url": "/media/decks_media/toeic600/Contico-P02-Catalogue-index.jpg",
"audio_tts_text": "CATALOGUE",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "CHARGE",
"part_of_speech": "n",
"phonetic": "/tʃɑːdʒ/",
"definition": ", an expense or a cost; v, to demand payment. thu phí, tính phí, chi phí",
"example": "Gas charges will rise in July.",
"image_url": "/media/decks_media/toeic600/Debit-card-fees-How-to-avoid-them-F8EK9FJ-x-large.jpg",
"audio_tts_text": "CHARGE",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "CHECKOUT",
"part_of_speech": "n",
"phonetic": "/ˈtʃekaʊt/",
"definition": ", the act, time, or place of checking out, as at a hotel or a supermarket. thanh toán, quầy thanh toán",
"example": "Why can't they have more checkouts open?",
"image_url": "/media/decks_media/toeic600/Wal-Mart_checkout.jpg",
"audio_tts_text": "CHECKOUT",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "COMFORT",
"part_of_speech": "n",
"phonetic": "/ˈkʌmfət/",
"definition": ", a condition or feeling of pleasurable ease, well-being, and contentment. thỏai mái, dễ dàng, an ủi",
"example": "some people use shopping as a way comfort themselves after a stressful day",
"image_url": "/media/decks_media/toeic600/hands-holding-comfort.jpg",
"audio_tts_text": "COMFORT",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "COMPILE",
"part_of_speech": "v",
"phonetic": "/kəmˈpaɪl/",
"definition": ", to gather together from several sources. thu thập, biên soạn",
"example": "The report was compiled from a survey of 5000 households.",
"image_url": "/media/decks_media/toeic600/Russland.jpg",
"audio_tts_text": "COMPILE",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "CRUCIAL",
"part_of_speech": "adj",
"phonetic": "/ˈkruːʃl̩/",
"definition": "Extremely significant or important. chủ yếu,quyết định; cốt yếu",
"example": "This aid money is crucial to the government's economic policies.",
"image_url": "/media/decks_media/toeic600/2850391_HiRes.jpg",
"audio_tts_text": "CRUCIAL",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "CUSTOMER",
"part_of_speech": "n",
"phonetic": "/ˈkʌstəmə/",
"definition": ", one who purchases a commodity or service. khách hàng",
"example": "We aim to offer good value and service to all our customers.",
"image_url": "/media/decks_media/toeic600/customers.jpg",
"audio_tts_text": "CUSTOMER",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "DISCOUNT",
"part_of_speech": "n",
"phonetic": "/ˈdɪskaʊnt/",
"definition": ", a reduction in price; to reduce in price. giảm giá, chiết khấu",
"example": "Members get a 15% discount .",
"image_url": "/media/decks_media/toeic600/discount-shopping-720.jpg",
"audio_tts_text": "DISCOUNT",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "DISCREPANCY",
"part_of_speech": "n",
"phonetic": "/dɪˈskrepənsi/",
"definition": "a divergence or disagreement. sự bất đồng, bất hòa,sự không nhất quán",
"example": "There is a large discrepancy between the ideal image of motherhood and the reality.",
"image_url": "/media/decks_media/toeic600/discrepancy.jpg",
"audio_tts_text": "DISCREPANCY",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "DISTURB",
"part_of_speech": "v",
"phonetic": "/dɪˈstɜːb/",
"definition": "to interfere with, to interrupt. làm phiền",
"example": "Sorry to disturb you , but I have an urgent message.",
"image_url": "/media/decks_media/toeic600/do-not-disturb-1645313.jpg",
"audio_tts_text": "DISTURB",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "DIVERSE",
"part_of_speech": "adj",
"phonetic": "/daɪˈːs/",
"definition": ", different; made up of distinct qualities. đa dạng",
"example": "New York is a very culturally diverse city.",
"image_url": "/media/decks_media/toeic600/diversity.jpg",
"audio_tts_text": "DIVERSE",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "EFFICIENT",
"part_of_speech": "adj",
"phonetic": "/ɪˈfɪʃnt/",
"definition": "acting or producing effectively with a minimum of waste. có hiệu lực, hiệu quả",
"example": "a very efficient secretary",
"image_url": "/media/decks_media/toeic600/clip-art-phoning-553315.jpg",
"audio_tts_text": "EFFICIENT",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "ENTERPRISE",
"part_of_speech": "n",
"phonetic": "/ˈentəpraɪz/",
"definition": ", a business; a large project. Công trình dự án lớn, tổ chức kinh doanh",
"example": "the management of state enterprise",
"image_url": "/media/decks_media/toeic600/business-managers.jpg",
"audio_tts_text": "ENTERPRISE",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "ESSENTIAL",
"part_of_speech": "adj",
"phonetic": "/ɪˈsenʃl̩/",
"definition": ", indispensable, necessary. cần thiết",
"example": "A good diet is essential for everyone.",
"image_url": "/media/decks_media/toeic600/water2.jpg",
"audio_tts_text": "ESSENTIAL",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "ESTIMATE",
"part_of_speech": "v",
"phonetic": "/ˈestɪmeɪt/",
"definition": ", to approximate the amount or value of something; to form am opinion. ước lượng. định giá",
"example": "The tree is estimated to be at least 700 years old.",
"image_url": "/media/decks_media/toeic600/math_estimate.gif",
"audio_tts_text": "ESTIMATE",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "EVERYDAY",
"part_of_speech": "adj",
"phonetic": "/ˈevrɪdeɪ/",
"definition": ", common, ordinary. thông thường, thông dụng",
"example": "I go to school everday",
"image_url": "/media/decks_media/toeic600/everyday_ntsc.jpg",
"audio_tts_text": "EVERYDAY",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "EXPAND",
"part_of_speech": "v",
"phonetic": "/ɪkˈspænd/",
"definition": ", to increase the size, volume, quantity, or scope of; to enlarge. nới rộng",
"example": "Sydney's population expanded rapidly in the 1960s.",
"image_url": "/media/decks_media/toeic600/expand-your-business-with-us_1.jpg",
"audio_tts_text": "EXPAND",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "EXPLORE",
"part_of_speech": "v",
"phonetic": "/ɪkˈsplɔː/",
"definition": ", to investigate systematically. thăm dò, khảo sát",
"example": "Venice is a wonderful city to explore.",
"image_url": "/media/decks_media/toeic600/Explore_2.jpg",
"audio_tts_text": "EXPLORE",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "FULFILL",
"part_of_speech": "v",
"phonetic": "/fʊlˈfɪl/",
"definition": "to finish completely. hoàn thànhcông việc, nhiệm vụ",
"example": "we knew they would be hard to fulfill this report",
"image_url": "/media/decks_media/toeic600/If-you-want-to-fulfill-your-dreams.jpg",
"audio_tts_text": "FULFILL",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "FUNCTION",
"part_of_speech": "v",
"phonetic": "/ˈfʌŋkʃn̩/",
"definition": ", to perform tasks. chức năng, trách nhiệm",
"example": "what is the function of this device?",
"image_url": "/media/decks_media/toeic600/Công bố tiêu chuẩn thực phẩm chức năng.jpg",
"audio_tts_text": "FUNCTION",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "IMPOSE",
"part_of_speech": "v",
"phonetic": "/ɪmˈpəʊz/",
"definition": ", to establish or apply as compulsory; to force upon others. áp đặt, ép buộc, bắt ai phải làm gì đó",
"example": "The court can impose a fine or a prison sentence.",
"image_url": "/media/decks_media/toeic600/201003_114_Impose.jpg",
"audio_tts_text": "IMPOSE",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "INTEGRAL",
"part_of_speech": "adj",
"phonetic": "/ˈɪntɪɡrəl/",
"definition": ", necessary for completion. cái phần cần thiết của 1 thứ nào đó, thuộc tính toàn bộ; thuộc tính nguyên",
"example": "Vegetables are an integral part of our diet.",
"image_url": "/media/decks_media/toeic600/525625d1301545469-indian-bus-scene-discuss-new-launches-market-info-here-chassis_cobus_01.jpg",
"audio_tts_text": "INTEGRAL",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "INVENTORY",
"part_of_speech": "n",
"phonetic": "/ˈɪnvəntr̩i/",
"definition": ", goods in stock; an itemized record of these goods. Kiểm kê hàng hóa",
"example": "We made an inventory of everything in the apartment.",
"image_url": "/media/decks_media/toeic600/woman-checking-inventory.jpg",
"audio_tts_text": "INVENTORY",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "ITEM",
"part_of_speech": "n",
"phonetic": "/ˈaɪtəm/",
"definition": "a single article or unit. mặt hàng, món",
"example": "He opened the cardboard box and took out each item.",
"image_url": "/media/decks_media/toeic600/mi_han_quoc_2_0.jpg",
"audio_tts_text": "ITEM",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "LIABILITY",
"part_of_speech": "n",
"phonetic": "/ˌlaɪəˈbɪlɪti/",
"definition": "an obligation a responsibility. trách nhiệm pháp lý",
"example": "Tenants have legal liability for any damage they cause.",
"image_url": "/media/decks_media/toeic600/egg-donation-contract.jpg",
"audio_tts_text": "LIABILITY",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "MAINTAIN",
"part_of_speech": "v",
"phonetic": "/meɪnˈteɪn/",
"definition": ", to continue, to support, to sustain. duy trì",
"example": "Britain wants to maintain its position as a world power.",
"image_url": "/media/decks_media/toeic600/MAKE-and-MAINTAIN-eye-contact.jpeg",
"audio_tts_text": "MAINTAIN",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "MANDATORY",
"part_of_speech": "adj",
"phonetic": "/ˈmændətr̩i/",
"definition": ", required or commanded, obligatory. bắt buộc, thuộc lệnh",
"example": "Crash helmets are mandatory for motorcyclists.",
"image_url": "/media/decks_media/toeic600/Licence-To-Kill-1989-HD.jpg",
"audio_tts_text": "MANDATORY",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "MERCHANDISE",
"part_of_speech": "n",
"phonetic": "/ˈːtʃəndaɪz/",
"definition": ", items available in stores. hàng hóa mua bán",
"example": "They inspected the merchandise carefully.",
"image_url": "/media/decks_media/toeic600/Team_merchandise9084.JPG",
"audio_tts_text": "MERCHANDISE",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "MINIMIZE",
"part_of_speech": "v",
"phonetic": "/ˈmɪnɪmaɪz/",
"definition": ", to reduce, to give less importance to. giảm tới mức tối thiểu",
"example": "Every effort is being made to minimize civilian casualties.",
"image_url": "/media/decks_media/toeic600/vista_windows_microsoft_minimize_maximize_close_buttons_desktop_2560x1600_wallpaper-85160.jpg",
"audio_tts_text": "MINIMIZE",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "MISTAKE",
"part_of_speech": "n",
"phonetic": "/mɪˈsteɪk/",
"definition": ", an error or a fault. lỗi, sai lầm, sai sót",
"example": "We may have made a mistake in our calculations.",
"image_url": "/media/decks_media/toeic600/12-motivate-after-mistake.jpg",
"audio_tts_text": "MISTAKE",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "OBTAIN",
"part_of_speech": "v",
"phonetic": "/əbˈteɪn/",
"definition": ", to acquire. đạt được, có được",
"example": "Further information can be obtained from head office.",
"image_url": "/media/decks_media/toeic600/tot_nghiep.jpg",
"audio_tts_text": "OBTAIN",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "ON HAND",
"part_of_speech": "adj",
"phonetic": "/ɒn hænd/",
"definition": ", available. sẵn sàng, sẵn có",
"example": "we had too much stock on hand, so we had a summer sale",
"image_url": "/media/decks_media/toeic600/House-on-hand-jpg.jpg",
"audio_tts_text": "ON HAND",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "ORDER",
"part_of_speech": "n",
"phonetic": "/ˈɔːdə/",
"definition": "a request made to purchase something ; (v), to command or direct. đơn đặt hàng",
"example": "What are your orders ?",
"image_url": "/media/decks_media/toeic600/gty_man_ordering_food_thg_120113_wg.jpg",
"audio_tts_text": "ORDER",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "PREREQUISITE",
"part_of_speech": "n",
"phonetic": "/ˌpriːˈrekwɪzɪt/",
"definition": ", something that is required or necessary as a prior condition. điều kiện ưu tiên, điều kiện tiên quyết",
"example": "A reasonable proficiency in English is a prerequisite for the course.",
"image_url": "/media/decks_media/toeic600/dieu-kien-cua-hanh-phuc.jpg",
"audio_tts_text": "PREREQUISITE",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "PROMPT",
"part_of_speech": "adj",
"phonetic": "/prɒmpt/",
"definition": "being on time or punctual, carried out without delay, (n). a reminder or a cue. nhanh chóng",
"example": "Prompt action must be taken.",
"image_url": "/media/decks_media/toeic600/26583431.jpg",
"audio_tts_text": "PROMPT",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "QUALITY",
"part_of_speech": "n",
"phonetic": "/ˈkwɒlɪti/",
"definition": ", a distinguishing characteristic. chất lượng",
"example": "Much of the land was of poor quality.",
"image_url": "/media/decks_media/toeic600/Quality.jpg",
"audio_tts_text": "QUALITY",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "RECTIFY",
"part_of_speech": "v",
"phonetic": "/ˈrektɪfaɪ/",
"definition": "to set right or correct. chỉnh sửa",
"example": "I did my best to rectify the situation, but the damage was already done.",
"image_url": "/media/decks_media/toeic600/rectify-sundance-tv-show.jpg",
"audio_tts_text": "RECTIFY",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "REFLECT",
"part_of_speech": "v",
"phonetic": "/rɪˈflekt/",
"definition": "to given back a likeness. phản ánh, phản chiếu",
"example": "She could see her face reflected in the car's windshield.",
"image_url": "/media/decks_media/toeic600/obama-and-first-lady-michelle-obama-reflect-at-an-interfaith-prayer-service-dedicated-to-the-victims-of-the-boston-marathon-bombings.jpg",
"audio_tts_text": "REFLECT",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "REMEMBER",
"part_of_speech": "v",
"phonetic": "/rɪˈmembə/",
"definition": ", to think of again. nhớ, nhớ lại",
"example": "Do you remember Rosa Davies?",
"image_url": "/media/decks_media/toeic600/remember-brain.jpg",
"audio_tts_text": "REMEMBER",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "RUN",
"part_of_speech": "v",
"phonetic": "/rʌn/",
"definition": "to operate. chạy, hoạt động",
"example": "I ran down the stairs as fast as I could.",
"image_url": "/media/decks_media/toeic600/original (5).jpg",
"audio_tts_text": "RUN",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "SCAN",
"part_of_speech": "v",
"phonetic": "/skæn/",
"definition": "to look over quickly. xem lướt, xem qua",
"example": "He scanned the horizon, but there was no sign of the ship.",
"image_url": "/media/decks_media/toeic600/OmniBarcodeScan.jpg",
"audio_tts_text": "SCAN",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "SHIP",
"part_of_speech": "v",
"phonetic": "/ʃɪp/",
"definition": ", to transport; to send. vận chuyển",
"example": "We ship books out to New York every month.",
"image_url": "/media/decks_media/toeic600/cargo-cruise.jpg",
"audio_tts_text": "SHIP",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "SHIPPER",
"part_of_speech": "n",
"phonetic": "/ˈʃɪpə/",
"definition": "shipment. nhà buôn chở hàng bằng tàu",
"example": "wine shippers",
"image_url": "/media/decks_media/toeic600/4226.jpg",
"audio_tts_text": "SHIPPER",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "SMOOTH",
"part_of_speech": "adj",
"phonetic": "/smuːð/",
"definition": ", without difficulties; deliberately polite and agreeable in order to win favor. êm thấm, suôn sẻ",
"example": "Her skin felt smooth and cool.",
"image_url": "/media/decks_media/toeic600/AnhBaiChinhOezil1.jpg",
"audio_tts_text": "SMOOTH",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "SMOOTH",
"part_of_speech": "adj",
"phonetic": "/smuːð/",
"definition": "without difficulties, deliberately polite and agreeable in order to win favor. suôn sẻ",
"example": "Her smooh manner won her the appreciation of the manager but not her colleagues",
"image_url": "/media/decks_media/toeic600/IMG_0305.jpg",
"audio_tts_text": "SMOOTH",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "SOURCE",
"part_of_speech": "n",
"phonetic": "/sɔːs/",
"definition": ", the origin. nguồn, nguồn gốc",
"example": "Beans are a very good source of protein.",
"image_url": "/media/decks_media/toeic600/source-700x467.jpg",
"audio_tts_text": "SOURCE",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "STATIONERY",
"part_of_speech": "n",
"phonetic": "/ˈsteɪʃənri/",
"definition": ", writing paper and envelopes. đồ dùng văn phòng",
"example": "we do not have enough stationery",
"image_url": "/media/decks_media/toeic600/DSC01643.jpg",
"audio_tts_text": "STATIONERY",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "STRICT",
"part_of_speech": "adj",
"phonetic": "/strɪkt/",
"definition": ", precise. Exact. chặt chẽ, nghiêm khắc",
"example": "This company is very strict about punctuality.",
"image_url": "/media/decks_media/toeic600/15154980-strict-girl-in-glasses-on-a-white-background.jpg",
"audio_tts_text": "STRICT",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "SUBTRACT",
"part_of_speech": "v",
"phonetic": "/səbˈtrækt/",
"definition": "to take away, to deduct. trừ đi, khấu trừ",
"example": "If you subtract 30 from 45, you get 15.",
"image_url": "/media/decks_media/toeic600/zoom_out.png",
"audio_tts_text": "SUBTRACT",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "SUFFICIENT",
"part_of_speech": "adj",
"phonetic": "/səˈfɪʃnt/",
"definition": ", as much as is needed. vừa đủ",
"example": "We need sufficient time to deal with the problem.",
"image_url": "/media/decks_media/toeic600/water.jpg",
"audio_tts_text": "SUFFICIENT",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "SUPPLY",
"part_of_speech": "v",
"phonetic": "/səˈplaɪ/",
"definition": ", to make available for use. cung cấp",
"example": "Electrical power is supplied by underground cables.",
"image_url": "/media/decks_media/toeic600/supplier1.png",
"audio_tts_text": "SUPPLY",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "TEDIOUS",
"part_of_speech": "adj",
"phonetic": "/ˈtiːdɪəs/",
"definition": "Tiresome by reason of length, slowness, or dullness, boring. chán ngắt, buồn tẻ",
"example": "The work was tiring and tedious.",
"image_url": "/media/decks_media/toeic600/stc_ren_a0019_large.jpg",
"audio_tts_text": "TEDIOUS",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "TERMS",
"part_of_speech": "n",
"phonetic": "/tɜːmz/",
"definition": "conditions. điều khỏan",
"example": "Under the terms of their contract, employees must give 3 months' notice if they leave.",
"image_url": "/media/decks_media/toeic600/1352763769_terms1.gif",
"audio_tts_text": "TERMS",
"audio_lang": "en-US",
"display_order": 59
},
{
"word": "TREND",
"part_of_speech": "n",
"phonetic": "/trend/",
"definition": ", the current style. xu hướng, xu thế",
"example": "The current trend is towards more part-time employment.",
"image_url": "/media/decks_media/toeic600/7009206-upward-trend-and-career.jpg",
"audio_tts_text": "TREND",
"audio_lang": "en-US",
"display_order": 60
},
{
"word": "VERIFY",
"part_of_speech": "v",
"phonetic": "/ˈverɪfaɪ/",
"definition": "to prove the truth of. Xác minh, kiểm lại",
"example": "A computer program verifies that the system is working.",
"image_url": "/media/decks_media/toeic600/US_Navy_050217-N-6665R-001_Hospital_Corpsmen_verify_the_result_of_a_blood_sample._the_result_of_a_blood_sample._the_result_of_a_blood_sample.jpg",
"audio_tts_text": "VERIFY",
"audio_lang": "en-US",
"display_order": 61
}
]

View File

@@ -0,0 +1,706 @@
[
{
"word": "ACCEPT",
"part_of_speech": "v",
"phonetic": "/əkˈsept/",
"definition": "to receive, to respond favorably. đồng ý, chấp thuận",
"example": "Rick accepted her offer of coffee.",
"image_url": "/media/decks_media/toeic600/marriage-proposal.jpg",
"audio_tts_text": "ACCEPT",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "ACCOUNTING",
"part_of_speech": "n",
"phonetic": "/əˈkaʊntɪŋ/",
"definition": "the recording and gathering of financial information for a company. sự thanh toán, tính toán",
"example": "good accounting is needed in all businesses",
"image_url": "/media/decks_media/toeic600/istock_000003584033small.jpg",
"audio_tts_text": "ACCOUNTING",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "ACCUMULATE",
"part_of_speech": "v",
"phonetic": "/əˈkjuːmjəleɪt/",
"definition": "to gather, to collect. tích lũy, lũy kế",
"example": "We've accumulated so much rubbish over the years.",
"image_url": "/media/decks_media/toeic600/make-money.png",
"audio_tts_text": "ACCUMULATE",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "ACCUMULATION",
"part_of_speech": "n",
"phonetic": "/əˌkjuːmjəˈleɪʃn̩/",
"definition": "to gradually get more and more money, possessions, knowledge etc over a period of time. sự chất đống, sự chồng chất, sự tích luỹ, sự tích lại",
"example": "Despite this accumulation of evidence, the Government persisted in doing nothing.",
"image_url": "/media/decks_media/toeic600/dogs-is-your-team-duplicating.jpg",
"audio_tts_text": "ACCUMULATION",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "AGGRESSIVE",
"part_of_speech": "adj",
"phonetic": "/əˈɡresɪv/",
"definition": "Competitive, assertive. lấn sân, xâm chiếm, hung hăng",
"example": "Jim's voice became aggressive.",
"image_url": "/media/decks_media/toeic600/7923217-aggressive-walking-lion-big-cats.jpg",
"audio_tts_text": "AGGRESSIVE",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "ASSET",
"part_of_speech": "n",
"phonetic": "/ˈæset/",
"definition": "something of value. tài sản",
"example": "the value of a company's assets",
"image_url": "/media/decks_media/toeic600/original (6).jpg",
"audio_tts_text": "ASSET",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "ATTITUDE",
"part_of_speech": "n",
"phonetic": "/ˈætɪtjuːd/",
"definition": "a felling about something or someone. thái độ, quan điểm",
"example": "Pete's attitude towards women really scares me.",
"image_url": "/media/decks_media/toeic600/mood.jpg",
"audio_tts_text": "ATTITUDE",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "AUDIT",
"part_of_speech": "n",
"phonetic": "/ˈɔːdɪt/",
"definition": "a formal examination of financial records, (v). to examine the financial. kiểm toán, kiểm tra",
"example": "The company has an audit at the end of each financial year.",
"image_url": "/media/decks_media/toeic600/fornsic_audit_2_ttdh.jpg",
"audio_tts_text": "AUDIT",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "BALANCE",
"part_of_speech": "n",
"phonetic": "/ˈbæləns/",
"definition": "the remainder, (v). to compute the difference between credits and debits of an account. Số dư tài khoản",
"example": "his healthy bank balance showed a long habit of savings",
"image_url": "/media/decks_media/toeic600/BIDV_the_ghi_no_quoc_te_BIDV_Ready.jpg",
"audio_tts_text": "BALANCE",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "BORROW",
"part_of_speech": "v",
"phonetic": "/ˈbɒrəʊ/",
"definition": "to use temporarily. vay mượn",
"example": "Can I borrow your pen for a minute?",
"image_url": "/media/decks_media/toeic600/library_checkout.jpg",
"audio_tts_text": "BORROW",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "BUDGET",
"part_of_speech": "n",
"phonetic": "/ˈbʌdʒət/",
"definition": "a list of probable expenses and income for a given period. ngân quỹ, ngân sách.",
"example": "The budget for photography has been cut.",
"image_url": "/media/decks_media/toeic600/HRA budget.jpg",
"audio_tts_text": "BUDGET",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "BUILD UP",
"part_of_speech": "n",
"phonetic": "/bɪld ʌp/",
"definition": "to increase over time. Sự tăng cường, xây dựng dần lên",
"example": "be careful, your inventory of parts is building up",
"image_url": "/media/decks_media/toeic600/build-up-success-machines-building-success-word-29361008.jpg",
"audio_tts_text": "BUILD UP",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "CALCULATE",
"part_of_speech": "v",
"phonetic": "/ˈkælkjʊleɪt/",
"definition": "to figure out, to compute. tính toán",
"example": "I'm trying to calculate how much paint we need.",
"image_url": "/media/decks_media/toeic600/j0411753.jpg",
"audio_tts_text": "CALCULATE",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "CALCULATION",
"part_of_speech": "n",
"phonetic": "/ˌkælkjʊˈleɪʃn̩/",
"definition": "when you use numbers in order to find out an amount, price, or value. sự tính, sự tính toán",
"example": "Dee looked at the bill and made some rapid calculations.",
"image_url": "/media/decks_media/toeic600/calculation.jpg",
"audio_tts_text": "CALCULATION",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "CAUTIOUS",
"part_of_speech": "adj",
"phonetic": "/ˈːʃəs/",
"definition": "Careful, wary. thận trọng",
"example": "Keller is cautious about making predictions for the success of the program.",
"image_url": "/media/decks_media/toeic600/sports-clip-art-of-a-cautious-basketball-mascot-cartoon-character-peeking-over-a-surface-by-toons4biz-1355.jpg",
"audio_tts_text": "CAUTIOUS",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "CLIENT",
"part_of_speech": "n",
"phonetic": "/ˈklaɪənt/",
"definition": "a customer. khách hàng",
"example": "We always aim to give our clients personal attention.",
"image_url": "/media/decks_media/toeic600/client_with_an_abc_employee_making_a_deal1.jpg",
"audio_tts_text": "CLIENT",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "COMMITMENT",
"part_of_speech": "n",
"phonetic": "/kəˈmɪtmənt/",
"definition": "a promise. thỏa thuận, thỏa ước, cam kết",
"example": "Are you ready to make a long-term commitment ?",
"image_url": "/media/decks_media/toeic600/hands.jpg",
"audio_tts_text": "COMMITMENT",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "CONSERVATIVE",
"part_of_speech": "adj",
"phonetic": "/kənˈːvətɪv/",
"definition": "Cautious, restrained. bảo thủ, thận trọng",
"example": "Conservative policies",
"image_url": "/media/decks_media/toeic600/Donkey-Elephant.jpg",
"audio_tts_text": "CONSERVATIVE",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "DEADLINE",
"part_of_speech": "n",
"phonetic": "/ˈdedlaɪn/",
"definition": "a time by which something must be finished. hạn cuối",
"example": "The deadline for applications is May 27th.",
"image_url": "/media/decks_media/toeic600/13031171-the-word-deadline-circled-on-a-calendar-to-remind-you-of-an-important-due-date-or-countdown-for-your.jpg",
"audio_tts_text": "DEADLINE",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "DEBT",
"part_of_speech": "n",
"phonetic": "/det/",
"definition": "something owed, as in money or goods. khoản nợ",
"example": "He had enough money to pay off his father's outstanding debts.",
"image_url": "/media/decks_media/toeic600/debt.gif",
"audio_tts_text": "DEBT",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "DEDUCT",
"part_of_speech": "v",
"phonetic": "/dɪˈdʌkt/",
"definition": "to take away from a total, to subtract. khấu trừ",
"example": "The payments will be deducted from your salary.",
"image_url": "/media/decks_media/toeic600/istock_000016608811medium.jpg",
"audio_tts_text": "DEDUCT",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "DESIRED",
"part_of_speech": "adj",
"phonetic": "/dɪˈzaɪəd/",
"definition": "Wished or longed for. mong đợi, mong ước, khao khát",
"example": "Add lemon juice if desired .",
"image_url": "/media/decks_media/toeic600/desire.jpg",
"audio_tts_text": "DESIRED",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "DETAIL",
"part_of_speech": "v",
"phonetic": "/ˈdiːteɪl/",
"definition": "to report or relate minutely or in particulars. chi tiết, tiểu tiết, khía cạnh nhỏ",
"example": "Todd had planned the journey down to the smallest detail.",
"image_url": "/media/decks_media/toeic600/bne351.jpg",
"audio_tts_text": "DETAIL",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "DIVIDEND",
"part_of_speech": "n",
"phonetic": "/ˈdɪvɪdend/",
"definition": "a share in a distribution. Tiền lãi cổ phần",
"example": "Dividends will be sent to shareholders on March 31.",
"image_url": "/media/decks_media/toeic600/dividend.jpg",
"audio_tts_text": "DIVIDEND",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "DOWN PAYMENT",
"part_of_speech": "n",
"phonetic": "/daʊn ˈpeɪmənt/",
"definition": "an initial partial payment. Sự trả trước 1 phần khi mua hàng",
"example": "We've almost got enough money to make a down payment on a house.",
"image_url": "/media/decks_media/toeic600/e-fast-800x600-pxl.jpg",
"audio_tts_text": "DOWN PAYMENT",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "FILE",
"part_of_speech": "v",
"phonetic": "/faɪl/",
"definition": "to enter into public record, n. a group of documents or information about a person or an event. sắp xếp, kê thuế, sắp đặt tài liệu",
"example": "if you file your taxes late, you will have to pay a fine",
"image_url": "/media/decks_media/toeic600/Information-in-your-family-law-file.jpg",
"audio_tts_text": "FILE",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "FILL OUT",
"part_of_speech": "v",
"phonetic": "/fɪl aʊt/",
"definition": "to complete. hoàn tất, hoàn thành, điền đơn",
"example": "don't forget to fill out this tax form before you leave",
"image_url": "/media/decks_media/toeic600/p-form.jpg",
"audio_tts_text": "FILL OUT",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "FORECAST",
"part_of_speech": "n",
"phonetic": "/ˈːkɑːst/",
"definition": ", a prediction of a future event .(v). to estimate or calculate in advance. dự đoán, dự báo trước",
"example": "The weather forecast is good for tomorrow.",
"image_url": "/media/decks_media/toeic600/fridays-weather-forecast-unit-4_01.jpg",
"audio_tts_text": "FORECAST",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "FUND",
"part_of_speech": "n",
"phonetic": "/fʌnd/",
"definition": "an amount of money for something specific, v to provide money for. nguồn tiền, quỹ dự trữ.",
"example": "A sale is being held to raise funds for the school.",
"image_url": "/media/decks_media/toeic600/growing_funds.jpg",
"audio_tts_text": "FUND",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "GIVE UP",
"part_of_speech": "v",
"phonetic": "/ɡɪv ʌp/",
"definition": "to quit, to stop. đầu hàng, tạm dừng, tạm ngưng",
"example": "she will give up the study next year",
"image_url": "/media/decks_media/toeic600/i_give_up_by_vhphoto-d3f3nq3.jpg",
"audio_tts_text": "GIVE UP",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "INVEST",
"part_of_speech": "v",
"phonetic": "/ɪnˈvest/",
"definition": "to put money into a business or activity with the hope of making more money, to put effort into something. đầu tư",
"example": "I've got a few thousand dollars I'm looking to invest.",
"image_url": "/media/decks_media/toeic600/Things-Every-Entrepreneur-Should-Invest-In.jpg",
"audio_tts_text": "INVEST",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "JOINT",
"part_of_speech": "adj",
"phonetic": "/dʒɔɪnt/",
"definition": "Together, shared. chung, chỗ nối",
"example": "The project was a joint effort between the two schools",
"image_url": "/media/decks_media/toeic600/Synovial-Joint_2-963x1024.jpg",
"audio_tts_text": "JOINT",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "LEVEL",
"part_of_speech": "n",
"phonetic": "/ˈlevl̩/",
"definition": "a relative position or rank on a scale. mức độ, hạng",
"example": "the high salary levels of top executives",
"image_url": "/media/decks_media/toeic600/Level_rund_original.jpg",
"audio_tts_text": "LEVEL",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "LONG-TERM",
"part_of_speech": "adj",
"phonetic": "/ˈlɒŋ tɜːm/",
"definition": "involving or extending over a long period. dài hạn",
"example": "the long-term interests of the company",
"image_url": "/media/decks_media/toeic600/Going-Global-A-Short-Or-Long-Term-Strategy.jpg",
"audio_tts_text": "LONG-TERM",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "MORTGAGE",
"part_of_speech": "n",
"phonetic": "/ˈːɡɪdʒ/",
"definition": "the amount due on a property, (v). to borrow money with your house as collateral. cầm cố, thế chấp",
"example": "They've taken out a 30 year mortgage",
"image_url": "/media/decks_media/toeic600/mortgage-brokersjpg.jpg",
"audio_tts_text": "MORTGAGE",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "OUTSTANDING",
"part_of_speech": "adj",
"phonetic": "/ˌaʊtˈstændɪŋ/",
"definition": "Still due, not paid or settled. còn tồn tại, chưa giải quyết xong, chưa trả nợ",
"example": "We've got quite a few debts still outstanding.",
"image_url": "/media/decks_media/toeic600/outstanding-invoice.png",
"audio_tts_text": "OUTSTANDING",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "OVERALL",
"part_of_speech": "adj",
"phonetic": "/ˌəʊvəˈːl/",
"definition": "Regarded as a whole, general. bao gồm, tòan bộ",
"example": "The overall cost of the exhibition was £400,000.",
"image_url": "/media/decks_media/toeic600/00046-001-full.jpg",
"audio_tts_text": "OVERALL",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "OWE",
"part_of_speech": "v",
"phonetic": "/əʊ/",
"definition": "to have a debt. To be obligated to pay (nợ). nợ, hàm ơn",
"example": "I owe my brother $50.",
"image_url": "/media/decks_media/toeic600/MP-cartoon_0 (1)_0.jpg",
"audio_tts_text": "OWE",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "PENALTY",
"part_of_speech": "n",
"phonetic": "/ˈpenlti/",
"definition": "a punishment, a consequence. khoản tiền phạt, hình phạt",
"example": "Withdrawing the money early will result in a 10% penalty.",
"image_url": "/media/decks_media/toeic600/shutterstock_51114694.jpg",
"audio_tts_text": "PENALTY",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "PERSPECTIVE",
"part_of_speech": "n",
"phonetic": "/pəˈspektɪv/",
"definition": "a mental view or outlook. cảnh trông xa; nghĩa bóng viễn cảnh, triển vọng;",
"example": "The budget statement will give the manager some perspective on where the costs of running the business are to be found",
"image_url": "/media/decks_media/toeic600/one+point+perspective+road.jpg",
"audio_tts_text": "PERSPECTIVE",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "PORTFOLIO",
"part_of_speech": "n",
"phonetic": "/pɔːtˈfəʊlɪəʊ/",
"definition": "a list of investments. danh mục vốn đầu tư",
"example": "You'll need to prepare a portfolio of your work.",
"image_url": "/media/decks_media/toeic600/Portfolio+Structure+Warren+Buffett+-+Berkshire+Hathaway.png",
"audio_tts_text": "PORTFOLIO",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "PREPARE",
"part_of_speech": "v",
"phonetic": "/prɪˈpeə/",
"definition": "to make ready. chuẩn bị",
"example": "Prepare the sauce while the pasta is cooking.",
"image_url": "/media/decks_media/toeic600/PrepareFinal1.jpg",
"audio_tts_text": "PREPARE",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "PROFIT",
"part_of_speech": "v n",
"phonetic": "/ˈprɒfɪt/",
"definition": "money that you gain by selling things or doing business, after your costs have been paid. lợi nhuận, thu hồi",
"example": "Our daily profit is usually around $500.",
"image_url": "/media/decks_media/toeic600/Path-to-Profit.jpg",
"audio_tts_text": "PROFIT",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "PROFITABLE",
"part_of_speech": "adj",
"phonetic": "/ˈprɒfɪtəbl̩/",
"definition": "advantageous, beneficial. có sinh lời",
"example": "a highly profitable business",
"image_url": "/media/decks_media/toeic600/Will-A-Profitable-Home-Business-Make-Me-A-Millionaire.jpg",
"audio_tts_text": "PROFITABLE",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "PROJECT",
"part_of_speech": "adj",
"phonetic": "/prəˈdʒektɪd/",
"definition": "Estimated, or predicted based or present data. đặt dự án, kế hoạch",
"example": "The project aims to provide an analysis of children's emotions.",
"image_url": "/media/decks_media/toeic600/projects.jpg",
"audio_tts_text": "PROJECT",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "PULL OUT",
"part_of_speech": "v",
"phonetic": "/pʊl aʊt/",
"definition": "to withdraw, to stop participating, (n). a withdrawal, removal. rút tiền, rút lui",
"example": "a lot of people pulled our their money, when it became clear that the bank was in trouble",
"image_url": "/media/decks_media/toeic600/0511-0809-0702-1338_Woman_Getting_Money_From_an_ATM_Clip_Art_clipart_image.jpg",
"audio_tts_text": "PULL OUT",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "REALISTIC",
"part_of_speech": "adj",
"phonetic": "/ˌrɪəˈlɪstɪk/",
"definition": "Tending to or expressing an awareness of things as they really are. có óc thực tế, hiện thực",
"example": "Realistic expectations are important when you review your financial statements",
"image_url": "/media/decks_media/toeic600/Chuyen-nghe-cua-Thuy.jpg",
"audio_tts_text": "REALISTIC",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "RECONCILE",
"part_of_speech": "v",
"phonetic": "/ˈrekənsaɪl/",
"definition": "to make consistent. đành chấp nhận, cam chịu, giải hòa",
"example": "The possibility remains that the two theories may be reconciled.",
"image_url": "/media/decks_media/toeic600/reconcile-28387069.jpg",
"audio_tts_text": "RECONCILE",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "REFUND",
"part_of_speech": "n",
"phonetic": "/rɪˈfʌnd/",
"definition": "the amount paid back, (v), to give back. trả lại, hoàn trả",
"example": "They refused to give me a refund .",
"image_url": "/media/decks_media/toeic600/unclecoin.jpg",
"audio_tts_text": "REFUND",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "RESOURCE",
"part_of_speech": "n",
"phonetic": "/rɪˈːs/",
"definition": "assets, valuable things. nguồn, phương kế",
"example": "She had no financial resources .",
"image_url": "/media/decks_media/toeic600/Rainforest_Fatu_Hiva.jpg",
"audio_tts_text": "RESOURCE",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "RESTRICTION",
"part_of_speech": "n",
"phonetic": "/rɪˈstrɪkʃn̩/",
"definition": "a limitation. giới hạn,hạn chế",
"example": "The president urged other countries to lift the trade restrictions.",
"image_url": "/media/decks_media/toeic600/Height-Restriction-Barrier-Kilkelly_1.JPG",
"audio_tts_text": "RESTRICTION",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "RETURN",
"part_of_speech": "n",
"phonetic": "/rɪˈːn/",
"definition": "the amount of money gained as profit. tiền thu về, tiền lãi, trả lại",
"example": "The return on the money we invested was very low.",
"image_url": "/media/decks_media/toeic600/Returns.jpg",
"audio_tts_text": "RETURN",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "SIGNATURE",
"part_of_speech": "n",
"phonetic": "/ˈsɪɡnətʃə/",
"definition": "the name of a person written by the person. chữ ký",
"example": "Her signature is totally illegible",
"image_url": "/media/decks_media/toeic600/Jared-Angaza-Signature.jpg",
"audio_tts_text": "SIGNATURE",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "SPOUSE",
"part_of_speech": "n",
"phonetic": "/spaʊz/",
"definition": "a husband or wife. vợ hoặc chồng",
"example": "Spouses were invited to the company picnic.",
"image_url": "/media/decks_media/toeic600/angry-couple-624x496.jpg",
"audio_tts_text": "SPOUSE",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "TAKE OUT",
"part_of_speech": "v",
"phonetic": "/teɪk aʊt/",
"definition": "withdraw, remove. rút ra, lấy ra",
"example": "I am allowed to take out money at any bank branch without a fee",
"image_url": "/media/decks_media/toeic600/boy-books.gif",
"audio_tts_text": "TAKE OUT",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "TARGET",
"part_of_speech": "v",
"phonetic": "/ˈtɑːɡɪt/",
"definition": "to establish as a goal, (n). a goal. mục tiêu",
"example": "Jiang set annual growth targets of 8-9%.",
"image_url": "/media/decks_media/toeic600/9596878-an-arrow-with-the-words-hit-your-target-is-pulled-back-on-the-bow-and-is-aimed-at-a-red-bulls-eye-ta.jpg",
"audio_tts_text": "TARGET",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "TRANSACTION",
"part_of_speech": "n",
"phonetic": "/trænˈzækʃn̩/",
"definition": "a business deal. giao dịch",
"example": "The bank charges a fixed rate for each transaction.",
"image_url": "/media/decks_media/toeic600/sales_transaction_800_clr.png",
"audio_tts_text": "TRANSACTION",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "TRANSLATION",
"part_of_speech": "n",
"phonetic": "/trænsˈleɪʃn̩/",
"definition": "the act or process of translating. bản dịch, bài dịch.",
"example": "a new translation of the Bible",
"image_url": "/media/decks_media/toeic600/google-translate.jpg",
"audio_tts_text": "TRANSLATION",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "TURNOVER",
"part_of_speech": "n",
"phonetic": "/ˈːnəʊvə/",
"definition": "the number of times a product is sold and replaced or an emloyee leaves and another employee is hired. doanh số, doanh thu",
"example": "The illicit drugs industry has an annual turnover of some £200 bn.",
"image_url": "/media/decks_media/toeic600/7induction.png",
"audio_tts_text": "TURNOVER",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "TYPICAL",
"part_of_speech": "adj",
"phonetic": "/ˈtɪpɪkl̩/",
"definition": "Conforming to a type. đặc thù, đặc trưng, tiêu biểu",
"example": "This advertisement is a typical example of their marketing strategy.",
"image_url": "/media/decks_media/toeic600/typical-android-user-is-anything-but-typical-infographic--fa70dad3b0.jpg",
"audio_tts_text": "TYPICAL",
"audio_lang": "en-US",
"display_order": 59
},
{
"word": "WISDOM",
"part_of_speech": "n",
"phonetic": "/ˈwɪzdəm/",
"definition": "good sense and judgment, based especially on your experience of life. kiến thức, học thức, sự hiểu biết, sự thông thái, tính khôn ngoan",
"example": "a man of great wisdom",
"image_url": "/media/decks_media/toeic600/God's+Ancient+Wisdom-1+line.jpg",
"audio_tts_text": "WISDOM",
"audio_lang": "en-US",
"display_order": 60
},
{
"word": "WISE",
"part_of_speech": "adj",
"phonetic": "/waɪz/",
"definition": "Knowledgeable, able to offer advice based on experience. Từng trải hiểu biết nhiều, khôn ngoan, sáng suốt.",
"example": "I don't think that would be a very wise move",
"image_url": "/media/decks_media/toeic600/7256532-cartoon-wise-owl-sitting-on-pile-book-and-red-apple.jpg",
"audio_tts_text": "WISE",
"audio_lang": "en-US",
"display_order": 61
},
{
"word": "WITHHOLD",
"part_of_speech": "v",
"phonetic": "/wɪðˈhəʊld/",
"definition": "to keep from. To refrain from. từ chối, ngăn cản, cản trở",
"example": "Ian was accused of withholding vital information from the police.",
"image_url": "/media/decks_media/toeic600/Prevent-accidents-at-work-with-fire-safety-equipment-and-proper-training.jpg",
"audio_tts_text": "WITHHOLD",
"audio_lang": "en-US",
"display_order": 62
},
{
"word": "YIELD",
"part_of_speech": "n",
"phonetic": "/jiːld/",
"definition": "an amount produced, (v). to produce a profit. lợi nhuận, lợi tức",
"example": "These investments should yield a reasonable return .",
"image_url": "/media/decks_media/toeic600/Profit.jpg",
"audio_tts_text": "YIELD",
"audio_lang": "en-US",
"display_order": 63
}
]

View File

@@ -0,0 +1,695 @@
[
{
"word": "ADHERE TO",
"part_of_speech": "v",
"phonetic": "/ədˈhɪə tuː/",
"definition": "to follow, to pay attention to. Tuân thủ",
"example": "The chairman never adhered to his own rules",
"image_url": "/media/decks_media/toeic600/di-choi-pho.jpg",
"audio_tts_text": "ADHERE TO",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "ADJACENT",
"part_of_speech": "adj",
"phonetic": "/əˈdʒeɪsnt/",
"definition": "next to. ngay cạnh, liền kề",
"example": "We stayed in adjacent rooms.",
"image_url": "/media/decks_media/toeic600/sl02_1_1.jpg",
"audio_tts_text": "ADJACENT",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "AGENDA",
"part_of_speech": "n",
"phonetic": "/əˈdʒendə/",
"definition": "a list of topics to be discussed. Những vấn đề, công viềc phải bàn tại cuộc hợp",
"example": "The government set an agenda for constitutional reform.",
"image_url": "/media/decks_media/toeic600/Business-Agenda-for-PowerPoint-presentations_editable-business-ppt-presentation-content-structure_-business-agenda-graphics-for-PPT-presentation-meetings.jpg",
"audio_tts_text": "AGENDA",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "ANXIETY",
"part_of_speech": "n",
"phonetic": "/æŋˈzaɪəti/",
"definition": "the feeling of being very worried about something. mối lo âu",
"example": "The fear of unemployment can be a source of deep anxiety to people.",
"image_url": "/media/decks_media/toeic600/1353599730_anxiety_by_emesso-d4kp0sz.png",
"audio_tts_text": "ANXIETY",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "ANXIOUS",
"part_of_speech": "adj",
"phonetic": "/ˈæŋkʃəs/",
"definition": "Worried. lo âu, băn khoăn",
"example": "We were anxious for you.",
"image_url": "/media/decks_media/toeic600/depositphotos_10957394-Anxious-nerdy-guy.jpg",
"audio_tts_text": "ANXIOUS",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "APPREHENSIVE",
"part_of_speech": "adj",
"phonetic": "/ˌæprɪˈhensɪv/",
"definition": "Anxious about the future. e ngại, sợ",
"example": "We'd been a little apprehensive about their visit.",
"image_url": "/media/decks_media/toeic600/12057456-apprehensive-businesswoman.jpg",
"audio_tts_text": "APPREHENSIVE",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "ASCERTAIN",
"part_of_speech": "v",
"phonetic": "/ˌæsəˈteɪn/",
"definition": "to discover, to find out for certain. tìm hiểu một cách chắc chắn, biết chắc",
"example": "Police had ascertained that the dead man knew his killer.",
"image_url": "/media/decks_media/toeic600/15372987-lawyer-ascertain.jpg",
"audio_tts_text": "ASCERTAIN",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "ASSUME",
"part_of_speech": "v",
"phonetic": "/əˈsjuːm/",
"definition": "to take upon oneself, to believe to be true. cho rằng, thừa nhận",
"example": "didn't see your car, so I assumed you'd gone out.",
"image_url": "/media/decks_media/toeic600/ar131350815728742.jpg",
"audio_tts_text": "ASSUME",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "BRAND",
"part_of_speech": "n",
"phonetic": "/brænd/",
"definition": "an identifying mark or label, a trademark. nhãn, nhãn hiệu",
"example": "What brand of detergent do you use?",
"image_url": "/media/decks_media/toeic600/Understanding-Brand-Engagement-in-Social-Media.jpg",
"audio_tts_text": "BRAND",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "BRING UP",
"part_of_speech": "v",
"phonetic": "/brɪŋ ʌp/",
"definition": "to introduce a topic. giới thiệu, đưa ra",
"example": "No one brought up the resignation of the director",
"image_url": "/media/decks_media/toeic600/image003.jpg",
"audio_tts_text": "BRING UP",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "CIRCUMSTANCE",
"part_of_speech": "n",
"phonetic": "/ˈːkəmstəns/",
"definition": "a condition, a situation. tình thế, tình huống",
"example": "I can't imagine a circumstance in which I would be willing to steal.",
"image_url": "/media/decks_media/toeic600/ARRESTEDDEVELOPMENTrex.jpg",
"audio_tts_text": "CIRCUMSTANCE",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "COLLABORATE",
"part_of_speech": "v",
"phonetic": "/kəˈlæbəreɪt/",
"definition": "to work together with a person or group in order to achieve something, especially in science or art. cộng tác",
"example": "During the late seventies, he collaborated with the legendary Muddy Waters.",
"image_url": "/media/decks_media/toeic600/network-and-collaborate3.jpg",
"audio_tts_text": "COLLABORATE",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "COLLABORATION",
"part_of_speech": "n",
"phonetic": "/kəˌlæbəˈreɪʃn̩/",
"definition": "the act pf working with someone. hợp tác, cộng tác",
"example": "The project has involved collaboration with the geography department.",
"image_url": "/media/decks_media/toeic600/Collaboration Execution.jpg",
"audio_tts_text": "COLLABORATION",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "CONCENTRATE",
"part_of_speech": "v",
"phonetic": "/ˈkɒnsəntreɪt/",
"definition": "to focus, to think about. trọng tâm, tập trung",
"example": "Be quiet - let me concentrate on my homework.",
"image_url": "/media/decks_media/toeic600/how-to-focus-hacks-infographic.jpg",
"audio_tts_text": "CONCENTRATE",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "CONCLUDE",
"part_of_speech": "v",
"phonetic": "/kənˈkluːd/",
"definition": "to stop, to come to a decision. kết luận, kết thúc",
"example": "When the investigation is concluded, the results will be sent to the US Attorney's office.",
"image_url": "/media/decks_media/toeic600/603450-a-woman-shaking-a-mans-hand-to-conclude-a-business-deal.jpg",
"audio_tts_text": "CONCLUDE",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "CONDITION",
"part_of_speech": "n",
"phonetic": "/kənˈdɪʃn̩/",
"definition": "the state of something, a requirement. điều kiện",
"example": "Conditions in the prison were atrocious.",
"image_url": "/media/decks_media/toeic600/27-06-12_17-24-45_web_site_dilapidations_&_schedules_of_condition_3_of_3_rotat.jpg",
"audio_tts_text": "CONDITION",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "CONDUCIVE",
"part_of_speech": "adj",
"phonetic": "/kənˈdjuːsɪv/",
"definition": "Contributing to, leading to. có ích, có lợi",
"example": "an environment conducive to learning",
"image_url": "/media/decks_media/toeic600/GreenGrowth1.jpg",
"audio_tts_text": "CONDUCIVE",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "CONFIRM",
"part_of_speech": "v",
"phonetic": "/kənˈːm/",
"definition": "to validate. xác nhận; chứng thực",
"example": "New evidence has confirmed the first witness's story.",
"image_url": "/media/decks_media/toeic600/visa-stamp.jpg",
"audio_tts_text": "CONFIRM",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "DECADE",
"part_of_speech": "n",
"phonetic": "/ˈdekeɪd/",
"definition": "a period of ten years. thập kỷ",
"example": "Each decade seems to have its own fad products",
"image_url": "/media/decks_media/toeic600/10_years1.gif",
"audio_tts_text": "DECADE",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "DEFECT",
"part_of_speech": "n",
"phonetic": "/dɪˈfekt/",
"definition": "an imperfection or flaw. nhược điểm",
"example": "All the cars are tested for defects before they leave the factory.",
"image_url": "/media/decks_media/toeic600/2475628077_bfd609faff_o.jpg",
"audio_tts_text": "DEFECT",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "DISRUPT",
"part_of_speech": "v",
"phonetic": "/dɪsˈrʌpt/",
"definition": "to interrupt, to disturb. phá vỡ, quấy rối",
"example": "Climate change could disrupt the agricultural economy.",
"image_url": "/media/decks_media/toeic600/21-104-thickbox.jpg",
"audio_tts_text": "DISRUPT",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "DUE TO",
"part_of_speech": "prep",
"phonetic": "/djuː tuː/",
"definition": "Because of. bởi vì, nguyên nhân dẫn đến cái gì",
"example": "Due to the low interest rates, good office space is difficult to find",
"image_url": "/media/decks_media/toeic600/because.gif",
"audio_tts_text": "DUE TO",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "ENHANCE",
"part_of_speech": "v",
"phonetic": "/ɪnˈhɑːns/",
"definition": "to make more attractive or valuable. tăng, nâng cao",
"example": "The reason behind quality control is to enhance the company's reputation for superior products",
"image_url": "/media/decks_media/toeic600/Resistance-Bands-Enhance-Full-Body-Strength-and-Power-629x629.jpg",
"audio_tts_text": "ENHANCE",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "EXAMINE",
"part_of_speech": "v",
"phonetic": "/ɪɡˈzæmɪn/",
"definition": "to interrogate, to scrutinize. xem xét chi tiết",
"example": "The police will have to examine the weapon for fingerprints.",
"image_url": "/media/decks_media/toeic600/examine1.png",
"audio_tts_text": "EXAMINE",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "EXPERIMENT",
"part_of_speech": "v",
"phonetic": "/ɪkˈsperɪmənt/",
"definition": "to try out a new procedure or idea, n. a test or trial. thí nghiệm, cuộc thử nghiệm",
"example": "The teacher provided some different materials and left the children to experiment.",
"image_url": "/media/decks_media/toeic600/424561-chemical-experiment.jpg",
"audio_tts_text": "EXPERIMENT",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "FLUCTUATE",
"part_of_speech": "v",
"phonetic": "/ˈflʌktʃʊeɪt/",
"definition": "to go up and down, to change. dao động, thay đổi bất thường",
"example": "The number of children in the school fluctuates around 100.",
"image_url": "/media/decks_media/toeic600/437.jpg",
"audio_tts_text": "FLUCTUATE",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "FLUCTUATION",
"part_of_speech": "n",
"phonetic": "/ˌflʌktʃʊˈeɪʃn̩/",
"definition": "fluctuating gerund. sự giao động",
"example": "the fluctuation in interest rates",
"image_url": "/media/decks_media/toeic600/7861336-illustration-representing-fluctuation-in-oil-prices.jpg",
"audio_tts_text": "FLUCTUATION",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "GARMENT",
"part_of_speech": "n",
"phonetic": "/ˈɡɑːmənt/",
"definition": "an article of clothing. áo quần",
"example": "a beautiful range of hand knitted garments",
"image_url": "/media/decks_media/toeic600/Garment District_cropped-thumb-3120x2844-94996.jpg",
"audio_tts_text": "GARMENT",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "GET OUT OF",
"part_of_speech": "v",
"phonetic": "/ˈɡet aʊt ɒv/",
"definition": "to escape, to exit. rời khỏi",
"example": "The company wanted to get out of the area before property values declined even further",
"image_url": "/media/decks_media/toeic600/i-get-out-of-bed-then.jpg",
"audio_tts_text": "GET OUT OF",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "GO AHEAD",
"part_of_speech": "v",
"phonetic": "/ɡəʊ əˈhed/",
"definition": "to proceed with, (n). permission to do something. tiếp tục, tiến triển",
"example": "Five of the six members felt that they should go ahead with the plan",
"image_url": "/media/decks_media/toeic600/future ahead pic.jpg",
"audio_tts_text": "GO AHEAD",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "GOAL",
"part_of_speech": "n",
"phonetic": "/ɡəʊl/",
"definition": "objective, purpose. mục tiêu, mục đích",
"example": "His ultimate goal was to set up his own business.",
"image_url": "/media/decks_media/toeic600/GOAL.jpg",
"audio_tts_text": "GOAL",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "HAMPER",
"part_of_speech": "v",
"phonetic": "/ˈhæmpə/",
"definition": "to impede or interfere. ngăn trở, cản trở",
"example": "Fierce storms have been hampering rescue efforts and there is now little chance of finding more survivors.",
"image_url": "/media/decks_media/toeic600/RRI-DistDriv-Cling-Circle.jpg",
"audio_tts_text": "HAMPER",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "INCONSIDERATE",
"part_of_speech": "adj",
"phonetic": "/ˌɪnkənˈsɪdərət/",
"definition": "Rude, impolite. thiếu chu đáo, quan tâm, thiếu suy nghĩ",
"example": "Our neighbours are very inconsiderate - they're always playing loud music late at night.",
"image_url": "/media/decks_media/toeic600/JonesBeach2012471a.jpg",
"audio_tts_text": "INCONSIDERATE",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "INDICATOR",
"part_of_speech": "n",
"phonetic": "/ˈɪndɪkeɪtə/",
"definition": "a sign, a signal. chỉ dẫn, chỉ định, dụng cụ chỉ",
"example": "All the main economic indicators suggest that trade is improving",
"image_url": "/media/decks_media/toeic600/581px-True_airspeed_indicator-FAA_SVG.png",
"audio_tts_text": "INDICATOR",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "INSPECT",
"part_of_speech": "v",
"phonetic": "/ɪnˈspekt/",
"definition": "to look at closely, to examine carefully or officially. kiểm tra, thanh tra",
"example": "I got out of the car to inspect the damage .",
"image_url": "/media/decks_media/toeic600/inspector.jpg",
"audio_tts_text": "INSPECT",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "LEASE",
"part_of_speech": "n",
"phonetic": "/liːs/",
"definition": "a contract to pay to use property for an amount of time, v. to make a contract to use property. Hợp đồng cho thuê",
"example": "The 99-year lease expired in 1999.",
"image_url": "/media/decks_media/toeic600/lease.jpg",
"audio_tts_text": "LEASE",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "LENGTHY",
"part_of_speech": "adj",
"phonetic": "/ˈleŋθi/",
"definition": "Long in time, duration, or distance. dài dòng",
"example": "A lengthy period of training is required.",
"image_url": "/media/decks_media/toeic600/list+image.gif",
"audio_tts_text": "LENGTHY",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "LOBBY",
"part_of_speech": "n",
"phonetic": "/ˈlɒbi/",
"definition": "an anteroom, foyer, or waiting room. hành lang, sảnh chờ, vận động hành lang",
"example": "I'll meet you in the entrance lobby.",
"image_url": "/media/decks_media/toeic600/03lobby.jpg",
"audio_tts_text": "LOBBY",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "LOCK INTO",
"part_of_speech": "v",
"phonetic": "/lɒk ˈɪntə/",
"definition": "to commit, to be unable to change. xem xét, nghiên cứu",
"example": "Before you lock yourself into something, check all your options",
"image_url": "/media/decks_media/toeic600/market_research.png",
"audio_tts_text": "LOCK INTO",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "LOGICAL",
"part_of_speech": "adj",
"phonetic": "/ˈlɒdʒɪkl̩/",
"definition": "formally valid, using orderly reasoning. hợp lý, có lý",
"example": "It's a logical site for a new supermarket, with the housing development nearby.",
"image_url": "/media/decks_media/toeic600/psystems2a.jpg",
"audio_tts_text": "LOGICAL",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "MATTER",
"part_of_speech": "n",
"phonetic": "/ˈmætə/",
"definition": "an item, issue, topic of interest. vấn đề, chủ đề",
"example": "There are more important matters we need to discuss.",
"image_url": "/media/decks_media/toeic600/solving-wrong-question.jpg",
"audio_tts_text": "MATTER",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "MOVE UP",
"part_of_speech": "v",
"phonetic": "/muːv ʌp/",
"definition": "to advance, improve position. tiến lên",
"example": "In order to move up in the company, employees had to demonstrate their loyalty",
"image_url": "/media/decks_media/toeic600/tips-moving-up-corporate-ladder.jpg",
"audio_tts_text": "MOVE UP",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "OCCUPANCY",
"part_of_speech": "n",
"phonetic": "/ˈɒkjʊpənsi/",
"definition": "the state of being or living in a certain place. sở hữu, chiếm hữu",
"example": "Hotels in Tokyo enjoy over 90% occupancy.",
"image_url": "/media/decks_media/toeic600/Đảo_An_bang..JPG",
"audio_tts_text": "OCCUPANCY",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "OPEN TO",
"part_of_speech": "adj",
"phonetic": "/ˈəʊpən tuː/",
"definition": "Receptive to, vulnerable. tiếp thu, dùng được cho ai đó",
"example": "What I valued most in my previous supervisor was that she was always open to ideas and suggestions",
"image_url": "/media/decks_media/toeic600/shutterstock_74527417-bart-szufladka.png",
"audio_tts_text": "OPEN TO",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "OPT",
"part_of_speech": "v",
"phonetic": "/ɒpt/",
"definition": "to choose, to decide on. chọn lựa",
"example": "Many young people are opting to go on to college.",
"image_url": "/media/decks_media/toeic600/13070408-growing-business-options-and-financial-dilemma-due-to-growth-in-financial-fortune-as-a-tree-and-leav.jpg",
"audio_tts_text": "OPT",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "OPTION",
"part_of_speech": "n",
"phonetic": "/ˈɒpʃn̩/",
"definition": "a choice, an alternative. sự lựa chọn",
"example": "There are a number of options available.",
"image_url": "/media/decks_media/toeic600/option (1).jpg",
"audio_tts_text": "OPTION",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "PERCEIVE",
"part_of_speech": "v",
"phonetic": "/pəˈsiːv/",
"definition": "to notice, to become aware of, to see. nhận thức, lĩnh hội",
"example": "Even as a young woman she had been perceived as a future chief executive.",
"image_url": "/media/decks_media/toeic600/searchingbutnotseeing.jpg",
"audio_tts_text": "PERCEIVE",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "PERIODICALLY",
"part_of_speech": "adv",
"phonetic": "/ˌpɪərɪˈɒdɪkl̩i/",
"definition": "From time to time. định kỳ",
"example": "The equipment should be tested periodically (= at regular times).",
"image_url": "/media/decks_media/toeic600/kham-suc-khoe-doanh-nhan.suckhoeviet.jpg",
"audio_tts_text": "PERIODICALLY",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "PRIORITY",
"part_of_speech": "n",
"phonetic": "/praɪˈɒrɪti/",
"definition": "something of importance, something that should be done before other things. ưu tiên",
"example": "The children are our first priority.",
"image_url": "/media/decks_media/toeic600/how-to-optimize-e-mail-marketing-for-gmail-s-priority-inbox-7e45d51b76.jpg",
"audio_tts_text": "PRIORITY",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "PROGRESS",
"part_of_speech": "n",
"phonetic": "/prəˈɡres/",
"definition": "a movement forward, v. to move forward on something, especially work or a project. sự tiến bộ, sự tiến lên",
"example": "I'm afraid we're not making much progress .",
"image_url": "/media/decks_media/toeic600/take-that-progress-album-cover.jpg",
"audio_tts_text": "PROGRESS",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "REPEL",
"part_of_speech": "v",
"phonetic": "/rɪˈpel/",
"definition": "to keep away, to fight against. đẩy xa, khước từ",
"example": "Faulty products repel repeat customers",
"image_url": "/media/decks_media/toeic600/refuse.jpg",
"audio_tts_text": "REPEL",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "RESEARCH",
"part_of_speech": "n",
"phonetic": "/rɪˈːtʃ/",
"definition": "the act of collecting in formation about a particular subject. nghiên cứu",
"example": "research into the causes of cancer",
"image_url": "/media/decks_media/toeic600/research.jpg",
"audio_tts_text": "RESEARCH",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "RESPONSIBILITY",
"part_of_speech": "n",
"phonetic": "/rɪˌspɒnsəˈbɪlɪti/",
"definition": "task. bổn phận, trách nhiệm, nhiệm vụ",
"example": "Kelly's promotion means more money and more responsibility",
"image_url": "/media/decks_media/toeic600/responsibility.jpg",
"audio_tts_text": "RESPONSIBILITY",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "SCRUTINIZE",
"part_of_speech": "v",
"phonetic": "/ˈskruːtɪnaɪz/",
"definition": "to look at carefully and closely. xem xét kỹ lưỡng, cẩn thận",
"example": "He scrutinized the document closely.",
"image_url": "/media/decks_media/toeic600/scrutinize_by_hamish_b-d4do48o.jpg",
"audio_tts_text": "SCRUTINIZE",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "SOLVE",
"part_of_speech": "v",
"phonetic": "/sɒlv/",
"definition": "to find a solution, explanation, or answer. giải quyết, làm sáng tỏ một vấn đề",
"example": "More than 70% of murder cases were solved last year.",
"image_url": "/media/decks_media/toeic600/r189713_711839.jpeg",
"audio_tts_text": "SOLVE",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "SUBJECT TO",
"part_of_speech": "adj",
"phonetic": "/sʌbˈdʒekt tuː/",
"definition": "Under legal power, dependent. tùy thuộc vào cái gì đó, dựa theo cái gì đó",
"example": "This contract is subject to all the laws and regulations of the state",
"image_url": "/media/decks_media/toeic600/i-depend-on-jesus.jpg",
"audio_tts_text": "SUBJECT TO",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "SUPERVISOR",
"part_of_speech": "n",
"phonetic": "/ˈsuːpəvaɪzə/",
"definition": "an administrator in charge. người giám sát",
"example": "I had a supervisory role.",
"image_url": "/media/decks_media/toeic600/Supervisor-Jealous.jpg",
"audio_tts_text": "SUPERVISOR",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "SYSTEMATIC",
"part_of_speech": "adj",
"phonetic": "/ˌsɪstəˈmætɪk/",
"definition": "Methodical in procedure, organized. có phương pháp, hệ thống",
"example": "a systematic way of organizing your work",
"image_url": "/media/decks_media/toeic600/integrated-system-technology.jpg",
"audio_tts_text": "SYSTEMATIC",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "TAKE BACK",
"part_of_speech": "v",
"phonetic": "/teɪk ˈbæk/",
"definition": "to return something, to withdraw or retract. lấy lại, kéo lại",
"example": "Good quality control significantly limits the number of products taken back for a refund",
"image_url": "/media/decks_media/toeic600/Give_it_Back__Woman_by_escaped_emotions.jpg",
"audio_tts_text": "TAKE BACK",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "THROW OUT",
"part_of_speech": "v",
"phonetic": "/ˈθrəʊ aʊt/",
"definition": "to dispose of. vứt đi, bỏ đi",
"example": "It is cheaper to throw out shoddy products than to lose customers",
"image_url": "/media/decks_media/toeic600/throw_a_chair_by_jet_striker-d5eayip.jpg",
"audio_tts_text": "THROW OUT",
"audio_lang": "en-US",
"display_order": 59
},
{
"word": "UNIFORM",
"part_of_speech": "adj",
"phonetic": "/ˈjuːnɪːm/",
"definition": "Consistent in form or appearance. đồng phục, Không thay đổi về tính cáh hay hình thức",
"example": "He was still wearing his school uniform .",
"image_url": "/media/decks_media/toeic600/Uniform.png",
"audio_tts_text": "UNIFORM",
"audio_lang": "en-US",
"display_order": 60
},
{
"word": "WASTE",
"part_of_speech": "vnadj",
"phonetic": "/weɪst/",
"definition": "not to use wisely, n. not worthwhile. không giá trị, lãng phí",
"example": "Being unemployed is such a waste of your talents",
"image_url": "/media/decks_media/toeic600/IMG_1370_zps8eb31ed0.jpg",
"audio_tts_text": "WASTE",
"audio_lang": "en-US",
"display_order": 61
},
{
"word": "WRINKLE",
"part_of_speech": "nv",
"phonetic": "/ˈrɪŋkl̩/",
"definition": "a crease, ridge, or furrow, especially in skin or fabric. nếp nhăn, nhàu",
"example": "She walked over to the bed and smoothed out the wrinkles",
"image_url": "/media/decks_media/toeic600/photo-1.jpg",
"audio_tts_text": "WRINKLE",
"audio_lang": "en-US",
"display_order": 62
}
]

View File

@@ -0,0 +1,673 @@
[
{
"word": "ACCUSTOM TO",
"part_of_speech": "v",
"phonetic": "/əˈkʌstəm tuː/",
"definition": ", to become familiar with, to become used to. làm quen với cái gì",
"example": "Chefs must accustom themselves to working long hours",
"image_url": "/media/decks_media/toeic600/img_7474-700.jpg",
"audio_tts_text": "ACCUSTOM TO",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "APPEAL",
"part_of_speech": "adj",
"phonetic": "/əˈpiːl/",
"definition": ", to be attractive or interesting. sự hấp dẫn, thích thú, sự cầu khẩn",
"example": "A restaurant with good food and reasonable prices has a lot of appeal",
"image_url": "/media/decks_media/toeic600/khan-cau-55x65-1113.psd_-844x1024.jpg",
"audio_tts_text": "APPEAL",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "APPETITE",
"part_of_speech": "n",
"phonetic": "/ˈæpɪtaɪt/",
"definition": "desire to eat. sự ngon miệng, sự thèm ăn",
"example": "The delicious smells coming from the restaurant kitchen increased my appetite",
"image_url": null,
"audio_tts_text": "APPETITE",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "APPRENTICE",
"part_of_speech": "n",
"phonetic": "/əˈprentɪs/",
"definition": ", a student worker in a chosen field. .,người học việc, người tập sự, người mới vào nghề",
"example": "She works in the hairdresser's as an apprentice.",
"image_url": "/media/decks_media/toeic600/1517338-93980-james-hardy-altopress-maxppp-manual-worker-and-apprentice.jpg",
"audio_tts_text": "APPRENTICE",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "ARRIVE",
"part_of_speech": "v",
"phonetic": "/əˈraɪv/",
"definition": "to reach a destination. tới một nơi",
"example": "Give me a call to let me know you've arrived safely.",
"image_url": "/media/decks_media/toeic600/arrive.jpg",
"audio_tts_text": "ARRIVE",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "ASSIST",
"part_of_speech": "v",
"phonetic": "/əˈsɪst/",
"definition": ", to give help or support to. trợ giúp, trợ lý",
"example": "You will be employed to assist in the development of new equipment.",
"image_url": "/media/decks_media/toeic600/help.jpg",
"audio_tts_text": "ASSIST",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "BURDENSOME",
"part_of_speech": "adj",
"phonetic": "/ˈːdnsəm/",
"definition": ", of or like a burden; onerous. phiền toái,nặng nề",
"example": "These charges are particularly burdensome for poor parents.",
"image_url": "/media/decks_media/toeic600/Paper-piles-1024x682.jpg",
"audio_tts_text": "BURDENSOME",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "COMMON",
"part_of_speech": "adj",
"phonetic": "/ˈkɒmən/",
"definition": ", widespread, frequent, usual. thông thường, phổ biến",
"example": "Heart disease is one of the commonest causes of death.",
"image_url": "/media/decks_media/toeic600/mzl.awybdhgh.jpg",
"audio_tts_text": "COMMON",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "COMPLETE",
"part_of_speech": "adj",
"phonetic": "/kəmˈpliːt/",
"definition": ", having all necessary or normal parts, components, or steps. đầy đủ, trọn vẹn, hoàn thành",
"example": "The police were in complete control of the situation.",
"image_url": "/media/decks_media/toeic600/complete_capital-640x809.jpg",
"audio_tts_text": "COMPLETE",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "COMPLETION",
"part_of_speech": "n",
"phonetic": "/kəmˈpliːʃn̩/",
"definition": ", completely (adv.), làm cho đầy đủ. sự hoàn thành, sự làm xong",
"example": "The project has a completion date of December 22nd.",
"image_url": "/media/decks_media/toeic600/checklist1.jpg",
"audio_tts_text": "COMPLETION",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "COMPROMISE",
"part_of_speech": "n",
"phonetic": "/ˈkɒmprəmaɪz/",
"definition": ", a settlement of differences in which each side makes concessions. sự thỏa hiệp, thỏa ước",
"example": "a compromise between government and opposition",
"image_url": "/media/decks_media/toeic600/budget-deal-cartoon-luckovich.jpg",
"audio_tts_text": "COMPROMISE",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "COORDINATE",
"part_of_speech": "v",
"phonetic": "/ˌkəʊˈɔːdɪneɪt/",
"definition": "to adjust or arrange parts to work together. sắp xếp, sẳp đặt, điều phối",
"example": "The agencies are working together to co-ordinate policy on food safety.",
"image_url": "/media/decks_media/toeic600/images (1).jpg",
"audio_tts_text": "COORDINATE",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "CULINARY",
"part_of_speech": "adj",
"phonetic": "/ˈkʌlɪnəri/",
"definition": "relating to the kitchen or cooking. việc bếp núc",
"example": "The chef was widely known for his culinary artistry",
"image_url": "/media/decks_media/toeic600/Day-Niagara-Culinary.jpg",
"audio_tts_text": "CULINARY",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "DARING",
"part_of_speech": "adj",
"phonetic": "/ˈdeərɪŋ/",
"definition": ", to have the courage required. táo bạo, liều lĩnh",
"example": "She was wearing a rather daring (= sexually exciting) skirt that only just covered her bottom.",
"image_url": "/media/decks_media/toeic600/spectacular-crashes-and-daring-stunts-1-465x300.jpg",
"audio_tts_text": "DARING",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "DELIVERY",
"part_of_speech": "n",
"phonetic": "/dɪˈlɪvəri/",
"definition": "the act of conveying or delivering. giao hàng",
"example": "Most Indian restaurants offer free delivery.",
"image_url": "/media/decks_media/toeic600/delivery-00.jpg",
"audio_tts_text": "DELIVERY",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "DEMANDING",
"part_of_speech": "adj",
"phonetic": "/dɪˈmɑːndɪŋ/",
"definition": ", requiring much effort or attention. Đòi hỏi khắt khe",
"example": "Climbing is physically demanding.",
"image_url": "/media/decks_media/toeic600/Demanding_Man_2.gif",
"audio_tts_text": "DEMANDING",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "DIMENSION",
"part_of_speech": "n",
"phonetic": "/dɪˈmenʃn̩/",
"definition": ", a measure of width, height, or length. kích thước",
"example": "rectangle with the dimensions 5cm x 2cm",
"image_url": "/media/decks_media/toeic600/Drawer Box height-width-depth.png",
"audio_tts_text": "DIMENSION",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "DRAW",
"part_of_speech": "v",
"phonetic": "/drɔː/",
"definition": ", to cause to come by attracting. kéo, lôi kéo, vẽ",
"example": "We hope the new restaurant will draw other business to the area",
"image_url": "/media/decks_media/toeic600/magnet_talent_peopleXSmall.jpg",
"audio_tts_text": "DRAW",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "ELEGANT",
"part_of_speech": "adj",
"phonetic": "/ˈelɪɡənt/",
"definition": ", exhibiting refined, tasteful beauty. thanh lịch, trang nhã",
"example": "a tall, elegant young woman",
"image_url": "/media/decks_media/toeic600/elegant-indigo-chiffon-floor-length-long-bridesmaid-dress.jpg",
"audio_tts_text": "ELEGANT",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "EXACT",
"part_of_speech": "adj",
"phonetic": "/ɪɡˈzækt/",
"definition": ", characterized by accurate measurements or inferences. chính xác",
"example": "What were his exact words?",
"image_url": "/media/decks_media/toeic600/11431473-a-cartoon-exam-with-an-excellent-mark.jpg",
"audio_tts_text": "EXACT",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "EXCITE",
"part_of_speech": "v",
"phonetic": "/ɪkˈsaɪt/",
"definition": ", to arouse an emotion. kích động, kích thích",
"example": "His playing is technically brilliant, but it doesn't excite me.",
"image_url": "/media/decks_media/toeic600/bigstock-excited-rockstar-playing-his-e-4817282.jpg",
"audio_tts_text": "EXCITE",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "FALL TO",
"part_of_speech": "v",
"phonetic": "/fɔːl tuː/",
"definition": ", to become ones responsibility. thành trách nhiệm của ai đó",
"example": "The task of preparing the meal fell to the assistant chef when the chief chef was ill",
"image_url": "/media/decks_media/toeic600/depositphotos_2617032-Assign-Tasks.jpg",
"audio_tts_text": "FALL TO",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "FAMILIAR",
"part_of_speech": "adj",
"phonetic": "/fəˈmɪlɪə/",
"definition": ", often encountered or seen; common. thân thuộc, quen thuộc",
"example": "The voice on the phone sounded familiar.",
"image_url": "/media/decks_media/toeic600/puntos-positivos-de-trabajar-en-un-negocio-familiar.jpg",
"audio_tts_text": "FAMILIAR",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "FLAVOR",
"part_of_speech": "n",
"phonetic": "/ˈfleɪvə/",
"definition": ", a distinctive taste. vị ngọt, mùi thơm phảng phất",
"example": "Which flavor do you want - chocolate or vanilla?",
"image_url": "/media/decks_media/toeic600/120321094137-large.jpg",
"audio_tts_text": "FLAVOR",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "FORGET",
"part_of_speech": "v",
"phonetic": "/fəˈɡet/",
"definition": ", to be unable to remember. quên",
"example": "I'm sorry, I've forgotten your name.",
"image_url": "/media/decks_media/toeic600/you-remind-me-of.gif",
"audio_tts_text": "FORGET",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "GENERAL",
"part_of_speech": "adj",
"phonetic": "/ˈdʒenr̩əl/",
"definition": ", involving only the main feature rather than precise details. hầu hết, phổ biến",
"example": "We have a general idea of how many guests will attend",
"image_url": "/media/decks_media/toeic600/ComoxValley-July31-2010-blogs.jpg",
"audio_tts_text": "GENERAL",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "GUIDE",
"part_of_speech": "n",
"phonetic": "/ɡaɪd/",
"definition": ", one who leads, directs, or gives advice. người hướng dẫn",
"example": "an experienced mountain guide",
"image_url": "/media/decks_media/toeic600/G3_Guide_dog_puppies.jpg",
"audio_tts_text": "GUIDE",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "IDEAL",
"part_of_speech": "adj",
"phonetic": "/aɪˈdɪəl/",
"definition": ", imaginary; existing as a perfect model. quan niệm, tưởng tượng, lý tưởng",
"example": "In an ideal world there would be no need for a police force.",
"image_url": "/media/decks_media/toeic600/ideal_1.gif",
"audio_tts_text": "IDEAL",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "IMPRESS",
"part_of_speech": "v",
"phonetic": "/ɪmˈpres/",
"definition": ", to affect strongly, often favorably. ấn tượng",
"example": "Steve borrowed his dad's sports car to impress his girlfriend.",
"image_url": "/media/decks_media/toeic600/article-2231476-15FA40FA000005DC-638_634x770.jpg",
"audio_tts_text": "IMPRESS",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "INCORPORATE",
"part_of_speech": "v",
"phonetic": "/ɪnˈːpəreɪt/",
"definition": ", to unite one thing with something else already in existence. sáp nhập chặt chẽ",
"example": "Our original proposals were not incorporated in the new legislation",
"image_url": "/media/decks_media/toeic600/sap nhap.png",
"audio_tts_text": "INCORPORATE",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "INDIVIDUAL",
"part_of_speech": "adj",
"phonetic": "/ˌɪndɪˈvɪdʒʊəl/",
"definition": "by or for one person; special; particular. cá nhân, riêng lẻ",
"example": "We had the delivery man mark the contents of each individual order",
"image_url": "/media/decks_media/toeic600/individualMedium.jpg",
"audio_tts_text": "INDIVIDUAL",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "INFLUX",
"part_of_speech": "n",
"phonetic": "/ˈɪnflʌks/",
"definition": "a flowing in. dòng chảy vào, sự tràn vào",
"example": "a large influx of tourists in the summer",
"image_url": "/media/decks_media/toeic600/13405813_11n.jpg",
"audio_tts_text": "INFLUX",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "INGREDIENT",
"part_of_speech": "n",
"phonetic": "/ɪnˈɡriːdɪənt/",
"definition": ", an element in a mixture. thành phần",
"example": "The food is home-cooked using fresh ingredients.",
"image_url": "/media/decks_media/toeic600/slide1.jpg",
"audio_tts_text": "INGREDIENT",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "JUDGE",
"part_of_speech": "v",
"phonetic": "/dʒʌdʒ/",
"definition": ", to form an opinion. đánh giá, phân xử",
"example": "The restaurant review harshly judged the quality of the service",
"image_url": "/media/decks_media/toeic600/01-angry-judge.jpg",
"audio_tts_text": "JUDGE",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "LEAD TIME",
"part_of_speech": "n",
"phonetic": "/liːd ˈtaɪm/",
"definition": ", the time between the initial stage of a project and the appearance of results. khoảng thời gian giữa lúc bắt đầu và lúc hoàn thành một quá trình sx mới",
"example": "The lead time for reservations is unrealistic",
"image_url": "/media/decks_media/toeic600/usain_bolt_9_58_by_innografiks.jpg",
"audio_tts_text": "LEAD TIME",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "LIST",
"part_of_speech": "n",
"phonetic": "/lɪst/",
"definition": ", a series of names, words, or other items;(v)., to make a list. danh sách",
"example": "Make a list of all the things you have to do.",
"image_url": "/media/decks_media/toeic600/list+image.gif",
"audio_tts_text": "LIST",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "MAJORITY",
"part_of_speech": "n",
"phonetic": "/məˈdʒɒrɪti/",
"definition": "the greater number or part. phần lớn, đa số",
"example": "The majority of students find it quite hard to live on the amount of money they get.",
"image_url": "/media/decks_media/toeic600/majority-scales.jpg",
"audio_tts_text": "MAJORITY",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "METHOD",
"part_of_speech": "n",
"phonetic": "/ˈmeθəd/",
"definition": ", a procedure. phương pháp, cách thức",
"example": "traditional teaching methods",
"image_url": "/media/decks_media/toeic600/Bar-Method-Space-Needle.jpg",
"audio_tts_text": "METHOD",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "MIX",
"part_of_speech": "v",
"phonetic": "/mɪks/",
"definition": "to combine or blend into one mass; n., a combination. trộn lẫn, hòa lẫn",
"example": "Oil and water don't mix.",
"image_url": "/media/decks_media/toeic600/cooked-cake-mix.jpg",
"audio_tts_text": "MIX",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "MIX-UP",
"part_of_speech": "n",
"phonetic": "/ˈmɪks ʌp/",
"definition": ", a confusion; v., to confuse. lẫn lộn, bối rối, tình trạng hỗn loạn",
"example": "There was a mix-up in the kitchen so your order will be delayed",
"image_url": "/media/decks_media/toeic600/1 gillar mat giay.jpg",
"audio_tts_text": "MIX-UP",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "MULTIPLE",
"part_of_speech": "adj",
"phonetic": "/ˈmʌltɪpl̩/",
"definition": ", having, relating to , or consisting of more than one part. nhiều, phức tạp",
"example": "Having multiple partners increases your risk of sexual diseases.",
"image_url": "/media/decks_media/toeic600/multiple1.jpg",
"audio_tts_text": "MULTIPLE",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "NARROW",
"part_of_speech": "v",
"phonetic": "/ˈnærəʊ/",
"definition": ", to limit or restrict; adj., limited. chật hẹp, hạn chế",
"example": "a long narrow road",
"image_url": "/media/decks_media/toeic600/the_slot_narrow_kathy_2.jpg",
"audio_tts_text": "NARROW",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "OUTLET",
"part_of_speech": "n",
"phonetic": "/ˈaʊtlet/",
"definition": ", a means of release or gratification, as for energies, drives, or desires. lối ra, lối thoát, nơi tiêu thụ",
"example": "Many people find cooking to be a hands-on outlet for their creativity",
"image_url": null,
"audio_tts_text": "OUTLET",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "PATRON",
"part_of_speech": "n",
"phonetic": "/ˈpeɪtrən/",
"definition": ", a customer, especially a regular customer. khách hàng quen",
"example": "This restaurant has many loyal patrons",
"image_url": "/media/decks_media/toeic600/patron-1024x1536.jpg",
"audio_tts_text": "PATRON",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "PICK UP",
"part_of_speech": "v",
"phonetic": "/pɪk ʌp/",
"definition": ", to take on passengers or freight. đón ai đó, nhặt lên",
"example": "If you ask me nicely, I will pick up the order on my way home.",
"image_url": "/media/decks_media/toeic600/AirportPickUp-58875.jpg",
"audio_tts_text": "PICK UP",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "PLAN",
"part_of_speech": "n",
"phonetic": "/plæn/",
"definition": ", a scheme for making something happen; (v)., to formulate a scheme. kế hoạch; dự kiến, dự định",
"example": "His plan is to get a degree in economics and then work abroad for a year.",
"image_url": "/media/decks_media/toeic600/14317636-businessman-writing-a-business-plan-on-the-wall.jpg",
"audio_tts_text": "PLAN",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "PREDICT",
"part_of_speech": "v",
"phonetic": "/prɪˈdɪkt/",
"definition": ", to state, tell about, or make known in advance. dự đoán, dự báo",
"example": "Sales were five percent lower than predicted.",
"image_url": "/media/decks_media/toeic600/FP.jpg",
"audio_tts_text": "PREDICT",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "PROFESSION",
"part_of_speech": "n",
"phonetic": "/prəˈfeʃn̩/",
"definition": ", an occupation requiring considerable training and specialized study. nghề nghiệp",
"example": "nurses, social workers, and other people in the caring professions",
"image_url": "/media/decks_media/toeic600/careers.jpg",
"audio_tts_text": "PROFESSION",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "PROXIMITY",
"part_of_speech": "n",
"phonetic": "/prɒkˈsɪmɪti/",
"definition": ", the state, quality, sense, or fact of being near or next to; closeness. sự gần gũi, trạng thái gần",
"example": "We chose the house for its proximity to the school.",
"image_url": "/media/decks_media/toeic600/proximity.jpg",
"audio_tts_text": "PROXIMITY",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "RANDOM",
"part_of_speech": "adj",
"phonetic": "/ˈrændəm/",
"definition": ", having no specific pattern, purpose, or objective. ngẫu nhiên, tình cờ, ẩu, bừa",
"example": "We looked at a random sample of 120 families.",
"image_url": "/media/decks_media/toeic600/5369549-seamless-texture-of-random-numbers-in-bright-colors.jpg",
"audio_tts_text": "RANDOM",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "REGULATION",
"part_of_speech": "n",
"phonetic": "/ˌreɡˈleɪʃn̩/",
"definition": ", rules, laws, or controls; (v)., to control. sự điều chỉnh, qui tắc, điều lệ",
"example": "There seem to be so many rules and regulations these days.",
"image_url": "/media/decks_media/toeic600/The Stick Regulation.jpg",
"audio_tts_text": "REGULATION",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "RELINQUISH",
"part_of_speech": "v",
"phonetic": "/rɪˈlɪŋkwɪʃ/",
"definition": "to let go; to surrender. từ bỏ, buông, thả",
"example": "No one wants to relinquish power once they have it.",
"image_url": "/media/decks_media/toeic600/iQuit.jpg",
"audio_tts_text": "RELINQUISH",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "RELY",
"part_of_speech": "v",
"phonetic": "/rɪˈlaɪ/",
"definition": ", to have confidence in; to depend on. tin cậy vào, dựa vào",
"example": "Many working women rely on relatives to help take care of their children.",
"image_url": "/media/decks_media/toeic600/nikki-rely-front.jpg",
"audio_tts_text": "RELY",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "REMIND",
"part_of_speech": "v",
"phonetic": "/rɪˈmaɪnd/",
"definition": ", to cause to remember. nhắc nhở",
"example": "Yes, I'll be there. Thanks for reminding me.",
"image_url": "/media/decks_media/toeic600/reminder.gif",
"audio_tts_text": "REMIND",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "SECURE",
"part_of_speech": "v",
"phonetic": "/sɪˈkjʊə/",
"definition": "to get possession of; to obtain. bảo đảm",
"example": "There are no secure jobs these days.",
"image_url": "/media/decks_media/toeic600/security_lock_stick_figure_800_wht.png",
"audio_tts_text": "SECURE",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "SETTLE",
"part_of_speech": "v",
"phonetic": "/ˈsetl̩/",
"definition": ", to make compensation for, to pay; to choose. thanh toán, giải quyết,hoà giải",
"example": "We settled the bill with the cashier",
"image_url": "/media/decks_media/toeic600/paypoint-cash-payment.jpg",
"audio_tts_text": "SETTLE",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "SITE",
"part_of_speech": "n",
"phonetic": "/saɪt/",
"definition": "a place or setting. vị trí, địa điểm",
"example": "The house is built on the site of a medieval prison.",
"image_url": "/media/decks_media/toeic600/How-to-Choose-SEO-Friendly-Domain-Name.jpg",
"audio_tts_text": "SITE",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "STAGE",
"part_of_speech": "v",
"phonetic": "/steɪdʒ/",
"definition": ", to exhibit or present. sân khấu, giai đoạn",
"example": "The gazebo outside was the perfect location from which to stage the cutting of the cake.",
"image_url": "/media/decks_media/toeic600/stage-lighting1.jpg",
"audio_tts_text": "STAGE",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "SUBJECTIVE",
"part_of_speech": "adj",
"phonetic": "/səbˈdʒektɪv/",
"definition": "particular to a given person; highly personal; not objective. chủ quan",
"example": "The reviews in this guidebook are highly subjective, but fun to read",
"image_url": "/media/decks_media/toeic600/subjective.jpg",
"audio_tts_text": "SUBJECTIVE",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "SUGGEST",
"part_of_speech": "v",
"phonetic": "/səˈdʒest/",
"definition": "to offer for consideration or action. gợi ý, đề nghị",
"example": "I suggest you phone before you go round there",
"image_url": "/media/decks_media/toeic600/2824.png",
"audio_tts_text": "SUGGEST",
"audio_lang": "en-US",
"display_order": 59
},
{
"word": "THEME",
"part_of_speech": "n",
"phonetic": "/θiːm/",
"definition": ", an implicit or recurrent idea; a motif. chủ đề, đề tài",
"example": "The book's theme is the conflict between love and duty.",
"image_url": "/media/decks_media/toeic600/education-books-stories-6702200.jpg",
"audio_tts_text": "THEME",
"audio_lang": "en-US",
"display_order": 60
}
]

View File

@@ -0,0 +1,662 @@
[
{
"word": "ADVANCE",
"part_of_speech": "n",
"phonetic": "/ədˈvɑːns/",
"definition": ", a move forward ( advance in something). sự cải tiến",
"example": "Since the hotel installed an advanced computer system, all operations have been functioning more smoothly",
"image_url": "/media/decks_media/toeic600/overview.png",
"audio_tts_text": "ADVANCE",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "AGENCY",
"part_of_speech": "n",
"phonetic": "/ˈeɪdʒənsi/",
"definition": ", an establishment engaged in doing business. đại lý",
"example": "Please contact our agent in Spain for further information.",
"image_url": "/media/decks_media/toeic600/dai-ly-ban-ve-may-bay-vietnam-airlines-c27de762d7f37e97ac0f9ab285d0d8f1.jpg",
"audio_tts_text": "AGENCY",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "ANNOUNCEMENT",
"part_of_speech": "n",
"phonetic": "/əˈnaʊnsmənt/",
"definition": ", a public notification. thông cáo, thông báo",
"example": "Dillon made the announcement at a news conference.",
"image_url": "/media/decks_media/toeic600/Announcement.gif",
"audio_tts_text": "ANNOUNCEMENT",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "BEVERAGE",
"part_of_speech": "n",
"phonetic": "/ˈbevərɪdʒ/",
"definition": "a drink other than plain water. đồ uống, thức uống",
"example": "Hot beverages include tea, coffee and hot chocolate",
"image_url": "/media/decks_media/toeic600/grape colors.jpg",
"audio_tts_text": "BEVERAGE",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "BLANKET",
"part_of_speech": "n",
"phonetic": "/ˈblæŋkɪt/",
"definition": ", a covering for keeping warm, especially during sleep; any full coverage; (v.), to cover uniformly. Mền, chăn",
"example": "The hills were covered with a thick blanket of snow",
"image_url": "/media/decks_media/toeic600/energy-blanket1.jpg",
"audio_tts_text": "BLANKET",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "BOARD",
"part_of_speech": "v",
"phonetic": "/bɔːd/",
"definition": "to enter a boat, plane, or train; to furnish to see the roads. lên tàu",
"example": "There are 12 children on board the ship.",
"image_url": "/media/decks_media/toeic600/optimized-train.jpg",
"audio_tts_text": "BOARD",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "BUSY",
"part_of_speech": "adj",
"phonetic": "/ˈbɪzi/",
"definition": ", engaged in activity. bận",
"example": "She's busy now - can you phone later?",
"image_url": "/media/decks_media/toeic600/Busy.jpg",
"audio_tts_text": "BUSY",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "CHAIN",
"part_of_speech": "n",
"phonetic": "/tʃeɪn/",
"definition": ", a group of enterprises under a single control. dãy, chuỗi, loạt. Các công việc kinh doanh do 1 người làm chủ",
"example": "She had a gold chain around her neck.",
"image_url": "/media/decks_media/toeic600/chain.jpg",
"audio_tts_text": "CHAIN",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "CHECK IN",
"part_of_speech": "v",
"phonetic": "/tʃek ɪn/",
"definition": ", to register at a hotel; to report ones presence. đăng ký ở khách sạn, sự đăng ký đi máy bay",
"example": "Passengers are requested to check in two hours before the flight.",
"image_url": "/media/decks_media/toeic600/RE_firstclass_checkin_felix_3770_tcm233-366624.jpg",
"audio_tts_text": "CHECK IN",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "CLAIM",
"part_of_speech": "v",
"phonetic": "/kleɪm/",
"definition": "to take as rightful; to retrieve. đòi hỏi, quyền yêu sách",
"example": "Lost luggage can be claimed at the airline office.",
"image_url": "/media/decks_media/toeic600/16603.jpg",
"audio_tts_text": "CLAIM",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "COINCIDE",
"part_of_speech": "v",
"phonetic": "/ˌkəʊɪnˈsaɪd/",
"definition": ", to happen at the same time. xảy ra trùng khớp, đồng thời",
"example": "His entry to the party coincided with his marriage.",
"image_url": "/media/decks_media/toeic600/total-lunar-eclipse-to-coincide-with-winter-solstice-in-almost-400-years2.jpg",
"audio_tts_text": "COINCIDE",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "COINCIDENCE",
"part_of_speech": "n",
"phonetic": "/kəʊˈɪnsɪdəns/",
"definition": "when two things happen at the same time, in the same place, or to the same people in a way that seems surprising or unusual. trùng hợp ngẫu nhiên",
"example": "By coincidence, John and I both ended up at Yale.",
"image_url": "/media/decks_media/toeic600/Coincidence-sleepy-hollow-33089316-784-710.jpg",
"audio_tts_text": "COINCIDENCE",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "COMPREHENSIVE",
"part_of_speech": "adj",
"phonetic": "/ˌkɒmprɪˈhensɪv/",
"definition": ", covering broadly; inclusive. bao gồm, bao hàm",
"example": "The conductor has a comprehensive knowledge of rail systems from all over the world",
"image_url": "/media/decks_media/toeic600/include-everyone.gif",
"audio_tts_text": "COMPREHENSIVE",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "COMPREHENSIVENESS",
"part_of_speech": "n",
"phonetic": "/ˌkɒmprɪˈhensɪvnəs/",
"definition": ". sự mau hiểu, sự sáng ý, tính chất bao hàm; tính chất toàn diện",
"example": "Due to the comprehensiveness of the train system, the complete timetable was a thick document",
"image_url": "/media/decks_media/toeic600/Comprehension_Graphic.gif",
"audio_tts_text": "COMPREHENSIVENESS",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "CONFUSION",
"part_of_speech": "n",
"phonetic": "/kənˈfjuːʒn̩/",
"definition": ", a lack of clarity, order, or understanding. nhầm lẫn, bối rối",
"example": "To avoid confusion, the teams wore different colours.",
"image_url": "/media/decks_media/toeic600/confusion2.jpg",
"audio_tts_text": "CONFUSION",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "CONTACT",
"part_of_speech": "v",
"phonetic": "/ˈkɒntækt/",
"definition": ", to get in touch with. liên hệ với ai",
"example": "Few people have daily contact with mentally disabled people.",
"image_url": "/media/decks_media/toeic600/2012-12-27--17-2-25-919_Contact_Us.jpg",
"audio_tts_text": "CONTACT",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "DEAL WITH",
"part_of_speech": "v",
"phonetic": "/diːl wɪð/",
"definition": ", phrase, to attend to; mange; to see to. bàn về cái gì, thỏa thuận cái gì",
"example": "Ticket agents must deal courteously with irate customers",
"image_url": "/media/decks_media/toeic600/312175_10151609409452509_1221321008_n.jpg",
"audio_tts_text": "DEAL WITH",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "DELAY",
"part_of_speech": "v",
"phonetic": "/dɪˈleɪ/",
"definition": ", to postpone until a later time; (n)., the period of time during which one is delayed. trì hoãn, hoãn lại",
"example": "Why was there a delay in warning the public?",
"image_url": "/media/decks_media/toeic600/8380732-deadline-time-limit.jpg",
"audio_tts_text": "DELAY",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "DELUXE",
"part_of_speech": "adj",
"phonetic": "/dəˈləks/",
"definition": "noticeably luxurious. thuộc loại sang trọng, xa xỉ",
"example": "a deluxe hotel",
"image_url": "/media/decks_media/toeic600/deluxe_nightclub_flyer_template_by_dennybusyet-d5cglt0.jpg",
"audio_tts_text": "DELUXE",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "DESTINATION",
"part_of_speech": "n",
"phonetic": "/ˌdestɪˈneɪʃn̩/",
"definition": "the place to which one is going or directed. điểm đến",
"example": "Maui is a popular tourist destination.",
"image_url": "/media/decks_media/toeic600/P1050887.JPG",
"audio_tts_text": "DESTINATION",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "DIRECTORY",
"part_of_speech": "n",
"phonetic": "/dɪˈrektəri/",
"definition": ", a book or collection of information or directions. danh mục, danh bạ",
"example": "I couldn't find your number in the telephone directory.",
"image_url": "/media/decks_media/toeic600/yellow-pages.jpg",
"audio_tts_text": "DIRECTORY",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "DISAPPOINT",
"part_of_speech": "v",
"phonetic": "/ˌdɪˈɪnt/",
"definition": ", to fail to satisfy the hope, desire, or expectation of. làm thất vọng",
"example": "I hated to disappoint her.",
"image_url": "/media/decks_media/toeic600/disappointed-kid.jpg",
"audio_tts_text": "DISAPPOINT",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "DISTINGUISH",
"part_of_speech": "v",
"phonetic": "/dɪˈstɪŋɡwɪʃ/",
"definition": ", to make noticeable or different. nhận ra, nhận biết",
"example": "His attorney argued that Cope could not distinguish between right and wrong",
"image_url": "/media/decks_media/toeic600/dau goi dau sunsilk.JPG",
"audio_tts_text": "DISTINGUISH",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "DURATION",
"part_of_speech": "n",
"phonetic": "/djʊˈreɪʃn̩/",
"definition": ", the time during which something lasts. khoảng thời gian",
"example": "The course is of three years' duration.",
"image_url": "/media/decks_media/toeic600/ER-time duration.jpg",
"audio_tts_text": "DURATION",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "ECONOMICAL",
"part_of_speech": "adj",
"phonetic": "/ˌiːˈnɒmɪkl̩/",
"definition": "intended to save money, time, or effort. tiết kiệm",
"example": "A small car is more economical to run.",
"image_url": "/media/decks_media/toeic600/saving-money.jpg",
"audio_tts_text": "ECONOMICAL",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "EMBARKATION",
"part_of_speech": "v",
"phonetic": "/ɪmˈbɑːk/",
"definition": ", to go onboard a flight or ship; to begin. sự cho lên tàu, máy bay",
"example": "The flight crew must check the passengers' documents before embarkation",
"image_url": "/media/decks_media/toeic600/StateLibQld_2_102308_Trainee_soldiers_at_Roma_Street_Station,_Brisbane,_waiting_to_embark_on_a_train_to_Caloundra_Camp_during_World_War_II,_1940.jpg",
"audio_tts_text": "EMBARKATION",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "ENTITLE",
"part_of_speech": "v",
"phonetic": "/ɪnˈtaɪtl̩/",
"definition": ", to allow or qualify. cho quyền làm gì",
"example": "Membership entitles you to the monthly journal.",
"image_url": "/media/decks_media/toeic600/images876767_5h0rrpnf.jpg",
"audio_tts_text": "ENTITLE",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "EQUIVALENT",
"part_of_speech": "adj",
"phonetic": "/ɪˈkwɪvələnt/",
"definition": ", equal. tương đương",
"example": "He had drunk the equivalent of 15 whiskies.",
"image_url": "/media/decks_media/toeic600/Equivalent_Fractions_5.jpg",
"audio_tts_text": "EQUIVALENT",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "EXCURSION",
"part_of_speech": "n",
"phonetic": "/ɪkˈskɜːʃn̩/",
"definition": "a pleasure trip; a trip at a reduced fare. chuyến thăm quan, cuộc đi chơi tập thể",
"example": "We went on an excursion to the Pyramids.",
"image_url": "/media/decks_media/toeic600/san-francisco-students-bus-excursion-fun-2010.jpg",
"audio_tts_text": "EXCURSION",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "EXPECT",
"part_of_speech": "v",
"phonetic": "/ɪkˈspekt/",
"definition": ", to consider probable or reasonable. đoán trước, liệu trước",
"example": "can't expect her to be on time if I'm late myself.",
"image_url": "/media/decks_media/toeic600/expect.jpg",
"audio_tts_text": "EXPECT",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "EXPENSIVE",
"part_of_speech": "adj",
"phonetic": "/ɪkˈspensɪv/",
"definition": ", marked by high prices. đắt",
"example": "The house was too big and expensive to run.",
"image_url": "/media/decks_media/toeic600/10103321-an-image-of-a-man-shocked-at-how-expensive-his-bill-is.jpg",
"audio_tts_text": "EXPENSIVE",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "EXTEND",
"part_of_speech": "v",
"phonetic": "/ɪkˈstend/",
"definition": ", to make longer; to offer. keó dài, dành cho",
"example": "Management have agreed to extend the deadline",
"image_url": "/media/decks_media/toeic600/rtk_extend_942x458.png",
"audio_tts_text": "EXTEND",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "FARE",
"part_of_speech": "n",
"phonetic": "/feə/",
"definition": "the price you pay to travel somewhere by bus, train, plane etc. tiền xe, tiền vé",
"example": "Air fares have shot up by 20%.",
"image_url": "/media/decks_media/toeic600/dublin-bus-fare-increase-390x285.jpg",
"audio_tts_text": "FARE",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "HOUSEKEEPER",
"part_of_speech": "n",
"phonetic": "/ˈhaʊsˌkiːpə/",
"definition": ", someone employed to do domestic work. quản gia",
"example": "The desk clerk is sending the housekeeper to bring more towels to your room.",
"image_url": "/media/decks_media/toeic600/housekeeper.jpg",
"audio_tts_text": "HOUSEKEEPER",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "INTEND",
"part_of_speech": "v",
"phonetic": "/ɪnˈtend/",
"definition": "to have in mind. dự định, có ý định",
"example": "I intend to spend the night there.",
"image_url": "/media/decks_media/toeic600/Intend2Win1.jpg",
"audio_tts_text": "INTEND",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "ITINERARY",
"part_of_speech": "n",
"phonetic": "/aɪˈtɪnərəri/",
"definition": ", a proposed rout for a journey, showing dates and means of travel. nhật ký đi đường",
"example": "His itinerary would take him from Bordeaux to Budapest.",
"image_url": "/media/decks_media/toeic600/itinerary_day9.jpg",
"audio_tts_text": "ITINERARY",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "LICENSE",
"part_of_speech": "n",
"phonetic": "/ˈlaɪsns/",
"definition": "the legal permission to do or own a specified thing. cấp phép, giấy phép",
"example": "a restaurant which is licensed to sell alcohol",
"image_url": "/media/decks_media/toeic600/illegal-drivers-license.jpg",
"audio_tts_text": "LICENSE",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "NERVOUS",
"part_of_speech": "adj",
"phonetic": "/ˈːvəs/",
"definition": "easily agitated or distressed; uneasy or apprehensive. hồi hộp, lo lắng",
"example": "She was so nervous about her exams that she couldn't sleep.",
"image_url": "/media/decks_media/toeic600/Nervous.jpg",
"audio_tts_text": "NERVOUS",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "NOTIFY",
"part_of_speech": "v",
"phonetic": "/ˈnəʊtɪfaɪ/",
"definition": ", to report. thông báo, cho biết",
"example": "You will be notified of any changes in the system.",
"image_url": "/media/decks_media/toeic600/Notify-and-Remind.jpg",
"audio_tts_text": "NOTIFY",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "OFFSET",
"part_of_speech": "v",
"phonetic": "/ˈɒfset/",
"definition": ", to counterbalance. đền bù, bù đắp",
"example": "The high cost of the hotel room offset the savings we made by taking the train instead of the plane",
"image_url": "/media/decks_media/toeic600/Howard-Webb-se-den-bu-cho-MUjpg.jpg",
"audio_tts_text": "OFFSET",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "OPERATE",
"part_of_speech": "v",
"phonetic": "/ˈɒpəreɪt/",
"definition": ", to perform a function. hoạt động",
"example": "They were trying to reduce operating costs",
"image_url": "/media/decks_media/toeic600/SmartSwitch_Hard_to_operate_when_consumption_is_high_1.jpg",
"audio_tts_text": "OPERATE",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "OPTIONAL",
"part_of_speech": "adj",
"phonetic": "/ˈɒpʃnəl/",
"definition": "not compulsory or automatic. tùy ý, ko bắt buộc",
"example": "The other excursions are optional.",
"image_url": "/media/decks_media/toeic600/385_optional.png-628x250.png",
"audio_tts_text": "OPTIONAL",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "PRECLUDE",
"part_of_speech": "v",
"phonetic": "/prɪˈkluːd/",
"definition": ", to make impossible; to rule out. ngăn cản",
"example": "His contract precludes him from discussing his work with anyone outside the company.",
"image_url": "/media/decks_media/toeic600/2009669879.jpg",
"audio_tts_text": "PRECLUDE",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "PROHIBIT",
"part_of_speech": "v",
"phonetic": "/prəˈhɪbɪt/",
"definition": "to forbid by authority or to prevent. ngăn cấm, ngăn chặn",
"example": "Smoking is strictly prohibited inside the factory.",
"image_url": "/media/decks_media/toeic600/dreamstime_3260264.jpg",
"audio_tts_text": "PROHIBIT",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "PROSPECTIVE",
"part_of_speech": "adj",
"phonetic": "/prəˈspektɪv/",
"definition": ", likely to become or be. triển vọng, sắp tới",
"example": "I narrowed my list of prospective destinations to my three top choices",
"image_url": "/media/decks_media/toeic600/Project-Management-Prospective.png",
"audio_tts_text": "PROSPECTIVE",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "PUNCTUAL",
"part_of_speech": "adj",
"phonetic": "/ˈpʌŋktʃʊəl/",
"definition": "prompt. đúng giờ",
"example": "The train operates on a punctual schedule",
"image_url": "/media/decks_media/toeic600/a1.jpg",
"audio_tts_text": "PUNCTUAL",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "QUOTE",
"part_of_speech": "v",
"phonetic": "/kwəʊt/",
"definition": ", to give exact information on; (n)., a quotation. báo giá, trích dẫn",
"example": "She quoted from a newspaper article.",
"image_url": "/media/decks_media/toeic600/bao gia in to roi.png",
"audio_tts_text": "QUOTE",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "RATE",
"part_of_speech": "n",
"phonetic": "/reɪt/",
"definition": ", the payment or price according to a standard. giá cả, tỷ lệ",
"example": "people who pay tax at the highest rate",
"image_url": "/media/decks_media/toeic600/Xbox_360_FF_XIII_Special_Ed._bundle_price_tag_at_Target,_Tanforan.JPG",
"audio_tts_text": "RATE",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "RELATIVELY",
"part_of_speech": "adv",
"phonetic": "/ˈrelətɪvli/",
"definition": ", somewhat. tương đối, vừa phải",
"example": "E-commerce is a relatively recent phenomenon.",
"image_url": "/media/decks_media/toeic600/e-=-m-c-2-thuyen-tuong-doi.jpg",
"audio_tts_text": "RELATIVELY",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "REMAINDER",
"part_of_speech": "n",
"phonetic": "/rɪˈmeɪndə/",
"definition": ", the remaining part. phần còn lại",
"example": "The remainder must be paid by the end of June.",
"image_url": "/media/decks_media/toeic600/edf4d286-82db-4cbc-8f9d-29a68541795f.jpg",
"audio_tts_text": "REMAINDER",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "REMOTE",
"part_of_speech": "adj",
"phonetic": "/rɪˈməʊt/",
"definition": ", far removed. xa xôi, tách biệt",
"example": "a fire in a remote mountain area",
"image_url": "/media/decks_media/toeic600/View_from_Chatham_Islands.jpg",
"audio_tts_text": "REMOTE",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "RESERVE",
"part_of_speech": "v",
"phonetic": "/rɪˈːv/",
"definition": ", to set aside. dự trữ, dự phòng, để dành",
"example": "We reserved a room well in advance",
"image_url": "/media/decks_media/toeic600/kho hang_copy.jpg",
"audio_tts_text": "RESERVE",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "SERVICE",
"part_of_speech": "n",
"phonetic": "/ˈːvɪs/",
"definition": ", useful functions. dịch vụ",
"example": "the supply of goods and services",
"image_url": "/media/decks_media/toeic600/customer-service.jpg",
"audio_tts_text": "SERVICE",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "SITUATION",
"part_of_speech": "n",
"phonetic": "/ˌsɪtʃʊˈeɪʃn̩/",
"definition": ", the combination of circumstances at a given moment. vị trí, tình thế",
"example": "She coped well in a difficult situation",
"image_url": "/media/decks_media/toeic600/Barack_Obama_in_the_Situation_Room.jpg",
"audio_tts_text": "SITUATION",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "SUBSTANTIAL",
"part_of_speech": "adj",
"phonetic": "/səbˈstænʃl̩/",
"definition": "large in size, value or importance. đáng kể, quan trọng",
"example": "We have the support of a substantial number of parents.",
"image_url": "/media/decks_media/toeic600/cho-vay-tien-voi-lai-suat-1000d-1-ngay.jpg",
"audio_tts_text": "SUBSTANTIAL",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "SYSTEM",
"part_of_speech": "n",
"phonetic": "/ˈsɪstəm/",
"definition": ", a functionally related group of elements. hệ thống",
"example": "the railway system",
"image_url": "/media/decks_media/toeic600/how-to-draw-the-solar-system_1_000000003666_5.jpg",
"audio_tts_text": "SYSTEM",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "TEMPT",
"part_of_speech": "v",
"phonetic": "/tempt/",
"definition": ", to be inviting or attractive to. lôi kéo, xúc giục",
"example": "Gina is tempted to rent the smaller car to save a few dollars",
"image_url": "/media/decks_media/toeic600/quan-tai-1.jpg",
"audio_tts_text": "TEMPT",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "THRILL",
"part_of_speech": "n",
"phonetic": "/θrɪl/",
"definition": "the source or cause of excitement or emotion. rùng mình, rùng rợn li kỳ",
"example": "So why do people still go hunting - is it the thrill of the chase?",
"image_url": "/media/decks_media/toeic600/maverick_airtime1.jpg",
"audio_tts_text": "THRILL",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "TIER",
"part_of_speech": "n",
"phonetic": "/tɪə/",
"definition": ", a rank or class. dãy, tầng, lớp",
"example": "If you are on a budger, I suggest you think about renting a car from our lowest tier",
"image_url": "/media/decks_media/toeic600/tier3-screen.png",
"audio_tts_text": "TIER",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "VALID",
"part_of_speech": "adj",
"phonetic": "/ˈvælɪd/",
"definition": "having legal efficacy or correctness. hiệu lực, có giá trị, vững chắc",
"example": "Your return ticket is valid for three months.",
"image_url": "/media/decks_media/toeic600/valid_stamp.jpg",
"audio_tts_text": "VALID",
"audio_lang": "en-US",
"display_order": 59
}
]

View File

@@ -0,0 +1,662 @@
[
{
"word": "ACQUIRE",
"part_of_speech": "v",
"phonetic": "/əˈkwaɪə/",
"definition": ", to gain possession of; to get by ones own efforts. đạt được, thu được",
"example": "His mother urged him to study the piano, the rest is musical history",
"image_url": "/media/decks_media/toeic600/7143_watermark1.jpg",
"audio_tts_text": "ACQUIRE",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "ACTION",
"part_of_speech": "n",
"phonetic": "/ˈæktɪŋ/",
"definition": "the series of events that form the plot of a story or play. thủ vai, diễn xuất, hành động",
"example": "The government must take action now to stop the rise in violent crime",
"image_url": "/media/decks_media/toeic600/actors.jpg",
"audio_tts_text": "ACTION",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "ADMIRE",
"part_of_speech": "v",
"phonetic": "/ədˈmaɪə/",
"definition": "to regard with pleasure; to have esteem or respect for. Khâm phục, hâm mộ",
"example": "I really admire the way she brings up those kids all on her own.",
"image_url": "/media/decks_media/toeic600/1da1ceb7-6fdf-4389-8476-a7702a36ed75.jpg",
"audio_tts_text": "ADMIRE",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "APPROACH",
"part_of_speech": "v",
"phonetic": "/əˈprəʊtʃ/",
"definition": "to go near; to come close to in appearance or quality; (n)., a way or means of reaching something. tiếp cận, lại gần",
"example": "As I approached the house, I noticed a light on upstairs.",
"image_url": "/media/decks_media/toeic600/1001-cach-tiep-can-va-lam-quen-ban-gai.jpg",
"audio_tts_text": "APPROACH",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "APPROACHABLE",
"part_of_speech": "adj",
"phonetic": "/əˈprəʊtʃəbl̩/",
"definition": ", approach n.,. có thể đến gần, tới gần được",
"example": "The head teacher is very approachable.",
"image_url": "/media/decks_media/toeic600/become-more-approachable.jpg",
"audio_tts_text": "APPROACHABLE",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "ASSIGNMENT",
"part_of_speech": "n v",
"phonetic": "/əˈsaɪnmənt/",
"definition": ", something, such as a task, that is assigned. nhiệm vụ, công việc",
"example": "She's gone to Italy on a special assignment.",
"image_url": "/media/decks_media/toeic600/rush-assignment.png",
"audio_tts_text": "ASSIGNMENT",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "ATTAIN",
"part_of_speech": "v",
"phonetic": "/əˈteɪn/",
"definition": ", to achieve. đạt được, giành được",
"example": "More women are attaining positions of power in public life.",
"image_url": "/media/decks_media/toeic600/give_it_back_by_neverbeendarkmarked-d4s31g2.jpg",
"audio_tts_text": "ATTAIN",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "AUDIENCE",
"part_of_speech": "n",
"phonetic": "/ˈɔːdiəns/",
"definition": "the spectators at a performance. khán giả",
"example": "The audience began clapping and cheering",
"image_url": "/media/decks_media/toeic600/Audience.jpg",
"audio_tts_text": "AUDIENCE",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "AVAILABLE",
"part_of_speech": "adj",
"phonetic": "/əˈveɪləbl̩/",
"definition": ", ready for use; willing to serve. sẵn sàng để dùng",
"example": "Tickets are available from the box office.",
"image_url": "/media/decks_media/toeic600/free-wi-fi-1000x936.jpg",
"audio_tts_text": "AVAILABLE",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "BROAD",
"part_of_speech": "adj",
"phonetic": "/brɔːd/",
"definition": ", covering a wide scope. rộng rãi, rõ ràng",
"example": "We went along a broad passage.",
"image_url": "/media/decks_media/toeic600/7_15_BroadPeak.jpg",
"audio_tts_text": "BROAD",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "CATEGORY",
"part_of_speech": "n",
"phonetic": "/ˈkætɪɡəri/",
"definition": "a division in a system of classification; a general class of ideas. hạng, loại",
"example": "Seats are available in eight of the 10 price categories .",
"image_url": "/media/decks_media/toeic600/sach-large.jpg",
"audio_tts_text": "CATEGORY",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "CHOOSE",
"part_of_speech": "v",
"phonetic": "/tʃuːz/",
"definition": ", to select one thing over another. lựa chọn",
"example": "They chose Donald to be their leader.",
"image_url": "/media/decks_media/toeic600/choose1.jpg",
"audio_tts_text": "CHOOSE",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "COLLECTION",
"part_of_speech": "n",
"phonetic": "/kəˈlekʃn̩/",
"definition": ", a group of objects or works to be seen, studied, or kept together. bộ sưu tập, sự tụ họp",
"example": "The museum's collection contained many works donated by famous collectors.",
"image_url": "/media/decks_media/toeic600/World Famous Beer Collection.JPG",
"audio_tts_text": "COLLECTION",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "COMBINE",
"part_of_speech": "v",
"phonetic": "/kəmˈbaɪn/",
"definition": "to come together. kết hợp, phối hợp",
"example": "Diets are most effective when combined with exercise.",
"image_url": "/media/decks_media/toeic600/CONNECT12-069.jpg",
"audio_tts_text": "COMBINE",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "CONSTANT",
"part_of_speech": "n",
"phonetic": "/ˈkɒnstənt/",
"definition": "something that is unchanging or invariable. trung thành, chung thủy, bền lòng",
"example": "He kept in constant contact with his family while he was in Australia.",
"image_url": "/media/decks_media/toeic600/constant-troyon-herd.jpg",
"audio_tts_text": "CONSTANT",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "CONSTITUTE",
"part_of_speech": "n",
"phonetic": "/ˈkɒnstɪtjuːt/",
"definition": ", to be the elements or parts of. tạo thành, thành lập, thiết lập",
"example": "The Federation was constituted in 1949.",
"image_url": "/media/decks_media/toeic600/Wholesale-76127-constitute-bendable-beta-font-b-titanium-b-font-font-b-rimless-b-font-supper.jpg",
"audio_tts_text": "CONSTITUTE",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "CONTINUE",
"part_of_speech": "v",
"phonetic": "/kənˈtɪnjuː/",
"definition": ", to maintain without interruption. tiếp tục",
"example": "He will be continuing his education in the US.",
"image_url": "/media/decks_media/toeic600/antinbath-transplant-run-relay2.jpg",
"audio_tts_text": "CONTINUE",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "CREATE",
"part_of_speech": "v",
"phonetic": "/kriːˈeɪt/",
"definition": ", to produce through artistic or imaginative effort. sáng tạo, tạo nên, tạo",
"example": "Her behaviour is creating a lot of problems.",
"image_url": "/media/decks_media/toeic600/depositphotos_2518984-Create-a-graph.jpg",
"audio_tts_text": "CREATE",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "CRITICISM",
"part_of_speech": "n",
"phonetic": "/ˈkrɪtɪsɪzəm/",
"definition": ", an evaluation, especially of literary or other artistic works. sự phê bình, bình phẩm",
"example": "Despite strong criticism , the new system is still in place.",
"image_url": "/media/decks_media/toeic600/Handling-Criticism.jpg",
"audio_tts_text": "CRITICISM",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "DECISIVE",
"part_of_speech": "adj",
"phonetic": "/dɪˈsaɪsɪv/",
"definition": "characterized by decision and firmness. dứt khoát, kiên quyết",
"example": "a talent for quick decisive action",
"image_url": "/media/decks_media/toeic600/la-thanh-huyen2-747097-1368314501_500x0.jpg",
"audio_tts_text": "DECISIVE",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "DESCRIPTION",
"part_of_speech": "n",
"phonetic": "/dɪˈskrɪpʃn̩/",
"definition": ", a representation in words or pictures. sự mô tả, diễn tả",
"example": "I checked my job description .",
"image_url": "/media/decks_media/toeic600/260004685_8d78d77db0_z.jpg",
"audio_tts_text": "DESCRIPTION",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "DIALOGUE",
"part_of_speech": "n",
"phonetic": "/ˈdaɪəlɒɡ/",
"definition": ", a conversation between two or more persons. giai thoại, hội thoại",
"example": "The actors performed the dialogue without using scripts",
"image_url": "/media/decks_media/toeic600/Chat.jpg",
"audio_tts_text": "DIALOGUE",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "DISPARATE",
"part_of_speech": "adj",
"phonetic": "/ˈdɪspərət/",
"definition": ", fundamentally distinct or different. khác loại",
"example": "a meeting covering many disparate subjects",
"image_url": "/media/decks_media/toeic600/disparate_youth_by_likelucy-d536ozk.jpg",
"audio_tts_text": "DISPARATE",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "DISPERSE",
"part_of_speech": "v",
"phonetic": "/dɪˈspɜːs/",
"definition": ", to spread widely, to scatter. phân tán, giải tán",
"example": "Police used tear gas to disperse the crowd.",
"image_url": "/media/decks_media/toeic600/urban-disperse.jpg",
"audio_tts_text": "DISPERSE",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "DISSEMINATE",
"part_of_speech": "v",
"phonetic": "/dɪˈsemɪneɪt/",
"definition": "to scatter widely; to distribute. truyền bá phổ biến",
"example": "One of the organization's aims is to disseminate information about the disease.",
"image_url": "/media/decks_media/toeic600/Communication_by_Isabelle_Cardinal___800x600.jpg",
"audio_tts_text": "DISSEMINATE",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "DIVIDE",
"part_of_speech": "v",
"phonetic": "/dɪˈvaɪd/",
"definition": ", to separate into parts. phân chia",
"example": "The book is divided into six sections.",
"image_url": "/media/decks_media/toeic600/Divide Earthquake.jpg",
"audio_tts_text": "DIVIDE",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "ELEMENT",
"part_of_speech": "n",
"phonetic": "/ˈelɪmənt/",
"definition": ", fundamental or essential constituent. yếu tố, nhân tố, nguyên tố",
"example": "the audience is an essential element of live theater",
"image_url": "/media/decks_media/toeic600/table.gif",
"audio_tts_text": "ELEMENT",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "ENTERTAINMENT",
"part_of_speech": "n",
"phonetic": "/ˌentəˈteɪnmənt/",
"definition": ", a diverting performance or activity. sự giải trí",
"example": "The town provides a wide choice of entertainment.",
"image_url": "/media/decks_media/toeic600/jiggy_header_entertainment.jpg",
"audio_tts_text": "ENTERTAINMENT",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "EXPERIENCE",
"part_of_speech": "n",
"phonetic": "/ɪkˈspɪərɪəns/",
"definition": ", an event or a series of events participated in or lived through. kinh nghiệm, trải qua",
"example": "You've got a lot of experience of lecturing.",
"image_url": "/media/decks_media/toeic600/the-human-experience.jpg",
"audio_tts_text": "EXPERIENCE",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "FASHION",
"part_of_speech": "n",
"phonetic": "/ˈfæʃn̩/",
"definition": ", the prevailing style or custom. thời trang",
"example": "According to the fashion of the day, the languid pose of the sculpture was high art.",
"image_url": "/media/decks_media/toeic600/Fashion-Ad-1-Midtown.jpg",
"audio_tts_text": "FASHION",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "FAVORITE",
"part_of_speech": "adj",
"phonetic": "/ˈfeɪvərət/",
"definition": "preferred. ưa thích",
"example": "child's favourite toy",
"image_url": "/media/decks_media/toeic600/1344572471-babauan-babau-eva2.jpg",
"audio_tts_text": "FAVORITE",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "IMPACT",
"part_of_speech": "n",
"phonetic": "/ɪmˈpækt/",
"definition": "a strong, immediate impression. ảnh hưởng, sự tác động",
"example": "We need to assess the impact on climate change.",
"image_url": "/media/decks_media/toeic600/504775main_Massive_Impact-1.jpg",
"audio_tts_text": "IMPACT",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "IN DEPTH",
"part_of_speech": "adj",
"phonetic": "/ɪn depθ/",
"definition": "in complete detail; thorough. tỷ mỉ, cẩn thận, chu đáo",
"example": "The newspaper gave in-depth coverage of the tragic bombing.",
"image_url": "/media/decks_media/toeic600/decbb51e-5e46-4f5b-b417-ebb8d90d9959.jpg",
"audio_tts_text": "IN DEPTH",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "INFLUENCE",
"part_of_speech": "v",
"phonetic": "/ˈɪnflʊəns/",
"definition": ", to alter or affect. ảnh hưởng, tác động",
"example": "At the time she was under the influence of her father.",
"image_url": "/media/decks_media/toeic600/influence1.jpg",
"audio_tts_text": "INFLUENCE",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "INSTINCT",
"part_of_speech": "n",
"phonetic": "/ˌɪnˈstɪŋkt/",
"definition": ", an inborn pattern that is a powerful motivation. bản năng, năng khiếu",
"example": "Animals have a natural instinct for survival.",
"image_url": "/media/decks_media/toeic600/34.jpg",
"audio_tts_text": "INSTINCT",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "INVESTIGATIVE",
"part_of_speech": "adj",
"phonetic": "/ɪnˈvestɪɡətɪv/",
"definition": ", specializing in uncovering and reporting hidden information. điều tra nghiên cứu",
"example": "Police are investigating allegations of corruption involving senior executives",
"image_url": "/media/decks_media/toeic600/investigative.jpg",
"audio_tts_text": "INVESTIGATIVE",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "LEISURE",
"part_of_speech": "n",
"phonetic": "/ˈleʒə/",
"definition": ", freedom from time-consuming duties; free time. thời gian rảnh rỗi",
"example": "Most people now enjoy shorter working hours and more leisure time .",
"image_url": "/media/decks_media/toeic600/500-pcs---leisure-time-by-castorland.jpg",
"audio_tts_text": "LEISURE",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "LINK",
"part_of_speech": "n",
"phonetic": "/lɪŋk/",
"definition": "an association; a relationship. liên kết, kết hợp",
"example": "A love of nature links the two poets.",
"image_url": "/media/decks_media/toeic600/111.jpg",
"audio_tts_text": "LINK",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "OCCUR",
"part_of_speech": "v",
"phonetic": "/əˈː/",
"definition": ", to take place; to come about. xuất hiện, nảy ra",
"example": "The explosion occurred at 5.30 a.m.",
"image_url": "/media/decks_media/toeic600/Tornado-at-Union-City-Oklahoma-Credit-NOAA-Photo-Library.jpg",
"audio_tts_text": "OCCUR",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "PERFORM",
"part_of_speech": "v",
"phonetic": "/pəˈːm/",
"definition": ", to act before an audience, to give a public presentation of. diễn xuất, trình diễn",
"example": "The official opening ceremony was performed by Princess Margaret.",
"image_url": "/media/decks_media/toeic600/The-North-Carolina-Tar-Heels-cheerleaders-perform.jpg",
"audio_tts_text": "PERFORM",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "PREFERENCE",
"part_of_speech": "n",
"phonetic": "/ˈprefrəns/",
"definition": ", someone or something liked over another or others. sự ưa thích, thích cái gì hơn",
"example": "Do you have a colour preference ?",
"image_url": "/media/decks_media/toeic600/355.png",
"audio_tts_text": "PREFERENCE",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "RANGE",
"part_of_speech": "n",
"phonetic": "/reɪndʒ/",
"definition": ", the scope. phạm vi, trình độ, lĩnh vực",
"example": "The drug is effective against a range of bacteria.",
"image_url": "/media/decks_media/toeic600/range.gif",
"audio_tts_text": "RANGE",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "REASON",
"part_of_speech": "n",
"phonetic": "/ˈriːzən/",
"definition": ", the basis or motive for a action; an underlying fact or cause. lý do, lý trí",
"example": "The reason I called was to ask about the plans for Saturday.",
"image_url": "/media/decks_media/toeic600/why-clipart.jpg",
"audio_tts_text": "REASON",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "REHEARSE",
"part_of_speech": "v",
"phonetic": "/rɪˈːs/",
"definition": ", to practice in preparation for a public performance; to direct in rehearsal. Diễn tập",
"example": "I think we need to rehearse the first scene again.",
"image_url": "/media/decks_media/toeic600/131993068_11n.jpg",
"audio_tts_text": "REHEARSE",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "RELAXATION",
"part_of_speech": "n",
"phonetic": "/ˌriːlækˈseɪʃn̩/",
"definition": ", the act of reacting or the state of being relaxed; refreshment of body or mind. thư giãn, sự nghỉ ngơi, sự giải trí",
"example": "play the piano for relaxation.",
"image_url": "/media/decks_media/toeic600/images (2).jpg",
"audio_tts_text": "RELAXATION",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "RELEASE",
"part_of_speech": "v",
"phonetic": "/rɪˈliːs/",
"definition": ", to make available to the pubic; to give permission for performance. công bố, phát hành, làm nhẹ, phóng thích",
"example": "The producers of the film are hoping to release it in time for the holidays.",
"image_url": "/media/decks_media/toeic600/logo_publish_today.jpg",
"audio_tts_text": "RELEASE",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "REPRESENT",
"part_of_speech": "v",
"phonetic": "/ˌriːprɪˈzent/",
"definition": ", to typify. đóng, diễn kịch, đại diện, thay mặt",
"example": "The actor represented the ideals of the culture",
"image_url": "/media/decks_media/toeic600/38_ Cảm tạ của đại diện SV nhận HB.JPG",
"audio_tts_text": "REPRESENT",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "RESPOND",
"part_of_speech": "v",
"phonetic": "/rɪˈspɒnd/",
"definition": ", to make a reply; to react. hồi âm, phúc đáp",
"example": "He responded that he didn't want to see anyone.",
"image_url": "/media/decks_media/toeic600/mail-reply-all-hi (1).png",
"audio_tts_text": "RESPOND",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "REVIEW",
"part_of_speech": "n",
"phonetic": "/rɪˈvjuː/",
"definition": ", a critical estimate of a work or performance; v., writing a criticism of a performance. Sự phê bình, lời phê bình, duyệt, xem lại",
"example": "The company hired Bob to conduct an independent review of their workplace procedures.",
"image_url": "/media/decks_media/toeic600/9807.jpg",
"audio_tts_text": "REVIEW",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "SCHEDULE",
"part_of_speech": "n",
"phonetic": "/ˈʃedjuːl/",
"definition": "a list of times of events; (v)., to enter on a schedule. lịch trình, kế hoạch làm việc",
"example": "The majority of holiday flights depart and arrive on schedule.",
"image_url": "/media/decks_media/toeic600/schedule.jpg",
"audio_tts_text": "SCHEDULE",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "SEPARATE",
"part_of_speech": "adj",
"phonetic": "/ˈseprət/",
"definition": ", detached; kept apart. tách bạch, tách tiêng",
"example": "My wife and I have separate bank accounts.",
"image_url": "/media/decks_media/toeic600/separate-eggs-step1.jpg",
"audio_tts_text": "SEPARATE",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "SIGNIFICANT",
"part_of_speech": "adj",
"phonetic": "/sɪɡˈnɪfɪkənt/",
"definition": "meaningful; having a major effect; important. quan trọng, đáng kể",
"example": "His most significant political achievement was the abolition of the death penalty.",
"image_url": "/media/decks_media/toeic600/Why Online Marketing Is Important cut the chase.jpg",
"audio_tts_text": "SIGNIFICANT",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "SOLD OUT",
"part_of_speech": "adj",
"phonetic": "/səʊld aʊt/",
"definition": ", having all tickets or accommodations completely sold, especially ahead of time; (v)., to sell all the tickets. hết vé",
"example": "We expect that this play will be a smash and sell out quickly",
"image_url": "/media/decks_media/toeic600/17218.jpg",
"audio_tts_text": "SOLD OUT",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "SPECIALIZE",
"part_of_speech": "v",
"phonetic": "/ˈspeʃəlaɪz/",
"definition": ", to concentrate on a particular activity. chuyên môn hóa",
"example": "The museum shop specializes in Ming vases",
"image_url": "/media/decks_media/toeic600/qly-2.jpg",
"audio_tts_text": "SPECIALIZE",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "SPECTRUM",
"part_of_speech": "n",
"phonetic": "/ˈspektrəm/",
"definition": "a range of related qualities, ideas, or activities. sự phân bổ theo tính chất, số lượng, hành vi, hình ảnh",
"example": "The wholve spectrum of artistic expression was represented in the exhibit.",
"image_url": "/media/decks_media/toeic600/quan-ly-sieu-thi.jpg",
"audio_tts_text": "SPECTRUM",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "SUBSCRIBE",
"part_of_speech": "v",
"phonetic": "/səbˈskraɪb/",
"definition": ", to receive a periodical regularly on order. đặt mua một cái gì đó định kỳ",
"example": "You can subscribe to the magazine for as little as $32 a year",
"image_url": "/media/decks_media/toeic600/Tap-chi-PC-World-So-250-08-2013.jpg",
"audio_tts_text": "SUBSCRIBE",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "SUCCESSIVE",
"part_of_speech": "adj",
"phonetic": "/səkˈsesɪv/",
"definition": "following in order. liên tục liên tiếp",
"example": "Successive governments have tried to deal with this issue.",
"image_url": "/media/decks_media/toeic600/20100408_df1_20100305_1232_194-196 kestrel in flight (arbitrary successive frame montage)(r+mb id@768).jpg",
"audio_tts_text": "SUCCESSIVE",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "TASTE",
"part_of_speech": "n",
"phonetic": "/teɪst/",
"definition": "the ability to discern what is excellent or appropriate. sở thích,thị hiếu, vị giác",
"example": "We have similar tastes in music",
"image_url": "/media/decks_media/toeic600/taste-test.gif",
"audio_tts_text": "TASTE",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "THOROUGH",
"part_of_speech": "adj",
"phonetic": "/ˈθʌrə/",
"definition": ", exhaustively complete. tỉ mỉ, chu đáo",
"example": "The doctor gave him a thorough check-up.",
"image_url": "/media/decks_media/toeic600/depositphotos_7638483-Eye-looking-thorough-magnifying-glass.jpg",
"audio_tts_text": "THOROUGH",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "URGE",
"part_of_speech": "v",
"phonetic": "/ɜːdʒ/",
"definition": ", to advocate earnestly; a natural desire. thúc giục, giục giã",
"example": "The charity urged quick action.",
"image_url": "/media/decks_media/toeic600/person-clock-hurry-race-run-busy-day-time-17313399.jpg",
"audio_tts_text": "URGE",
"audio_lang": "en-US",
"display_order": 59
}
]

View File

@@ -0,0 +1,673 @@
[
{
"word": "ACCOMPANY",
"part_of_speech": "v",
"phonetic": "/əˈkʌmpəni/",
"definition": "to go with. đi theo,dẫn",
"example": "Children under 14 must be accompanied by an adult.",
"image_url": "/media/decks_media/toeic600/romney-obama-giaoduc.net.vn_10.jpg",
"audio_tts_text": "ACCOMPANY",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "ADMIT",
"part_of_speech": "v",
"phonetic": "/ədˈmɪt/",
"definition": ", to permit to enter. cho vào, nhận vào, có đủ chỗ cho",
"example": "The injured patient was admitted to the unit directly from the emergency room.",
"image_url": "/media/decks_media/toeic600/images874345_anh_2_soat_ve.jpg",
"audio_tts_text": "ADMIT",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "ALTERNATIVE",
"part_of_speech": "n",
"phonetic": "/ɔːlˈːnətɪv/",
"definition": ", the choice between two mutually exclusive possibilities. sự lựa chon một trong hai",
"example": "Have you any alternative suggestions ?",
"image_url": "/media/decks_media/toeic600/15407947-plan-b-strategy-option-alternative-planning-business-symbol-black-board-isolated.jpg",
"audio_tts_text": "ALTERNATIVE",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "ANNUAL",
"part_of_speech": "adj",
"phonetic": "/ˈænjuəl/",
"definition": "yearly. xảy ra hàng năm",
"example": "The school trip has become an annual event.",
"image_url": "/media/decks_media/toeic600/hpp1376833922.jpg",
"audio_tts_text": "ANNUAL",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "APPOINTMENT",
"part_of_speech": "n",
"phonetic": "/əˈɪntmənt/",
"definition": ", arrangements for a meeting; a position in a profession. cuộc hẹn, sự bổ nhiệm",
"example": "She has an appointment with a client at 10.30.",
"image_url": "/media/decks_media/toeic600/depositphotos_5541878-Calendar---Appointment-Day-Circled-for-Reminder.jpg",
"audio_tts_text": "APPOINTMENT",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "ASPECT",
"part_of_speech": "n",
"phonetic": "/ˈæspekt/",
"definition": ", a feature element; an appearance. vẻ, bề ngoài; diện mạo",
"example": "The right to choose their own doctor is an important aspect of health coverage for many people",
"image_url": "/media/decks_media/toeic600/krysten-ritonight-show-with-jay-leno-appearance-04.jpg",
"audio_tts_text": "ASPECT",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "ASSESS",
"part_of_speech": "v",
"phonetic": "/əˈses/",
"definition": "to determine the value or rate of something. ước định, định lượng, đánh giá",
"example": "a report to assess the impact of advertising on children",
"image_url": "/media/decks_media/toeic600/assess.jpg",
"audio_tts_text": "ASSESS",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "AUTHORIZATION",
"part_of_speech": "n",
"phonetic": "/ˌɔːθəraɪˈzeɪʃn̩/",
"definition": "the act of sanctioning. sự cho quyền, sự cho phép, ủy quyền",
"example": "You need special authorization to park here.",
"image_url": "/media/decks_media/toeic600/3594471-friendly-female-doctor-with-medical-authorization-form.jpg",
"audio_tts_text": "AUTHORIZATION",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "CATCH UP",
"part_of_speech": "v",
"phonetic": "/kætʃ ʌp/",
"definition": "to reach the same quality or standard as someone or something else. đuổi kịp, theo kịp",
"example": "The dental assistant caught up on her paperwork in between patients.",
"image_url": "/media/decks_media/toeic600/2002_catch_me_if_you_can_wallpaper_001.jpg",
"audio_tts_text": "CATCH UP",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "CONCERN",
"part_of_speech": "v",
"phonetic": "/kənˈːn/",
"definition": "to be of interest or importance to. lo lắng, băn khoăn; liên quan, quan tâm",
"example": "The recent rise in crime is a matter of considerable public concern.",
"image_url": "/media/decks_media/toeic600/depositphotos_7781400-Cartoon-man-staring-with-concern-at-his-monitor.jpg",
"audio_tts_text": "CONCERN",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "CONSULT",
"part_of_speech": "v",
"phonetic": "/kənˈsʌlt/",
"definition": ", to seek advice or information of. hỏi ý kiến, tham khảo",
"example": "I need to consult with my lawyer.",
"image_url": "/media/decks_media/toeic600/Business-Consult-Clip-Art.png",
"audio_tts_text": "CONSULT",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "CONTROL",
"part_of_speech": "v",
"phonetic": "/kənˈtrəʊl/",
"definition": ", to exercise authoritative or dominating influence. điều khiển, kiểm tra, kiểm soát, thử lại",
"example": "Babies are born with very little control over their movements.",
"image_url": "/media/decks_media/toeic600/Die-Stromtarife-sind-in-Bewegung.jpg",
"audio_tts_text": "CONTROL",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "CONVENIENT",
"part_of_speech": "adj",
"phonetic": "/kənˈviːnɪənt/",
"definition": ", suited or favorable to ones purpose; easy to reach. tiện lợi, thuận lợi; thích hợp",
"example": "Is three o'clock convenient for you?",
"image_url": "/media/decks_media/toeic600/convenient-christian.jpg",
"audio_tts_text": "CONVENIENT",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "DESIGNATE",
"part_of_speech": "v",
"phonetic": "/ˈdezɪɡneɪt/",
"definition": "to indicate or specify. chỉ rõ, định rõ, chỉ định, bổ nhiệm",
"example": "Buildings are designated by red squares on the map.",
"image_url": "/media/decks_media/toeic600/wtd_designate_john.jpg",
"audio_tts_text": "DESIGNATE",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "DETECT",
"part_of_speech": "v",
"phonetic": "/dɪˈtekt/",
"definition": ", to discover or ascertain. dò ra, tìm ra, khám phá ra, phát hiện ra",
"example": "Many forms of cancer can be cured if detected early.",
"image_url": "/media/decks_media/toeic600/detect.jpg",
"audio_tts_text": "DETECT",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "DIAGNOSE",
"part_of_speech": "v",
"phonetic": "/ˈdaɪəɡnəʊz/",
"definition": ", to recognize a disease; to analyze the nature of something. chẩn đoán",
"example": "The illness was diagnosed as mumps.",
"image_url": "/media/decks_media/toeic600/multiple_diaganose.jpg",
"audio_tts_text": "DIAGNOSE",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "DIAGNOSIS",
"part_of_speech": "n",
"phonetic": "/ˌdaɪəɡˈnəʊsɪs/",
"definition": "to recognize and name the exact character of a disease or a problem, by making an examination. lời chuẩn đoán",
"example": "An exact diagnosis can only be made by obtaining a blood sample.",
"image_url": "/media/decks_media/toeic600/ben-carsons-diagnosis-of-america.jpg",
"audio_tts_text": "DIAGNOSIS",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "DISTRACTION",
"part_of_speech": "n",
"phonetic": "/dɪˈstrækʃn̩/",
"definition": ", the act of being turned away from the focus. sự làm sao lãng, sự làm lãng đi, sự làm đứt quãng mạch tư tưởng, công việc đang làm...; sự lãng trí, sự đãng trí; điều xao lãng",
"example": "I study in the library as there are too many distractions at home.",
"image_url": "/media/decks_media/toeic600/78376898.jpg",
"audio_tts_text": "DISTRACTION",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "EFFECTIVE",
"part_of_speech": "adj",
"phonetic": "/ɪˈfektɪv/",
"definition": ", producing the desired effect; being in effect. hiệu quả",
"example": "the painting's highly effective use of colour",
"image_url": "/media/decks_media/toeic600/jobdescription.jpg",
"audio_tts_text": "EFFECTIVE",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "EMPHASIZE",
"part_of_speech": "v",
"phonetic": "/ˈemfəsaɪz/",
"definition": "to stress. nhấn mạnh",
"example": "The report emphasizes the importance of improving safety standards.",
"image_url": "/media/decks_media/toeic600/css-highlight-colour.jpg",
"audio_tts_text": "EMPHASIZE",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "ENCOURAGEMENT",
"part_of_speech": "n",
"phonetic": "/ɪnˈkʌrɪdʒmənt/",
"definition": "inspiration or support. niềm động viên",
"example": "With encouragement, Sally is starting to play with the other children.",
"image_url": "/media/decks_media/toeic600/15735295-hand-of-the-child-in-father-encouragement-help-support-moral.jpg",
"audio_tts_text": "ENCOURAGEMENT",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "ESCORT",
"part_of_speech": "n",
"phonetic": "/ɪˈskɔːt/",
"definition": ", a person accompanying another to guide or protect. người bảo vệ; người dẫn đường; người đi theo",
"example": "The shipment was escorted by guards.",
"image_url": "/media/decks_media/toeic600/Francois-Hollande-nham-chuc-6.jpg",
"audio_tts_text": "ESCORT",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "EVIDENT",
"part_of_speech": "adj",
"phonetic": "/ˈevɪdənt/",
"definition": ", easily seen or understood; obvious. hiển nhiên, rành rành, rõ rệt",
"example": "It was evident that she was unhappy.",
"image_url": "/media/decks_media/toeic600/images820513_1247668864943753_file.gif",
"audio_tts_text": "EVIDENT",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "FACTOR",
"part_of_speech": "n",
"phonetic": "/ˈfæktə/",
"definition": ", a contribution to an accomplishment, a result, or a process. nhân tố",
"example": "The rise in crime is mainly due to social and economic factors.",
"image_url": "/media/decks_media/toeic600/3GF1_Insulin-Like_Growth_Factor_Nmr_10_01.png",
"audio_tts_text": "FACTOR",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "HABIT",
"part_of_speech": "n",
"phonetic": "/ˈhæbɪt/",
"definition": "a customary manner or practice. thói quen, tập quán",
"example": "Thinking negatively can become a habit .",
"image_url": "/media/decks_media/toeic600/habit.jpg",
"audio_tts_text": "HABIT",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "IDENTIFY",
"part_of_speech": "v",
"phonetic": "/aɪˈdentɪfaɪ/",
"definition": ", to ascertain the name or belongings of. nhận ra, nhận dạng, đồng nhất hoá, coi như nhau",
"example": "He was too far away to be able to identify faces.",
"image_url": "/media/decks_media/toeic600/a1112-18b-1.jpg",
"audio_tts_text": "IDENTIFY",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "ILLUMINATE",
"part_of_speech": "v",
"phonetic": "/ɪˈluːmɪneɪt/",
"definition": ", to provide or brighten with light. chiếu sáng, rọi sáng, soi sáng, làm sáng tỏ",
"example": "A single candle illuminated his face.",
"image_url": "/media/decks_media/toeic600/Illuminate-Stand-6.jpg",
"audio_tts_text": "ILLUMINATE",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "INCUR",
"part_of_speech": "v",
"phonetic": "/ɪnˈː/",
"definition": ", to acquire or come into. gánh chịu, chịu lấy",
"example": "the heavy losses incurred by airlines since September 11th",
"image_url": "/media/decks_media/toeic600/article2304414190D2BC9000005DC322634x501.jpg",
"audio_tts_text": "INCUR",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "INSTRUMENT",
"part_of_speech": "n",
"phonetic": "/ˈɪnstrʊmənt/",
"definition": ", a tool for precise work; the means whereby something is achieved. điều trị, dụng cụ, công cụ",
"example": "The senior physician carried his instruments in a black leather bag",
"image_url": "/media/decks_media/toeic600/Attributes_of_Music.jpg",
"audio_tts_text": "INSTRUMENT",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "INTERACTION",
"part_of_speech": "n",
"phonetic": "/ˌɪntəˈrækʃn̩/",
"definition": ", an influence; a mutual activity. tác động qua lại",
"example": "Price is determined through the interaction of demand and supply.",
"image_url": "/media/decks_media/toeic600/Dialogue.jpg",
"audio_tts_text": "INTERACTION",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "IRRITATE",
"part_of_speech": "v",
"phonetic": "/ˈɪrɪteɪt/",
"definition": ", to chafe or inflame, to bother. chọc tức; làm tấy lên, làm rát",
"example": "It really irritates me when he doesn't help around the house.",
"image_url": "/media/decks_media/toeic600/bigstockphoto_Angry_1576149-resized-600.jpg",
"audio_tts_text": "IRRITATE",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "LIMIT",
"part_of_speech": "n",
"phonetic": "/ˈlɪmɪt/",
"definition": "the point beyond which something cannot proceed. giới hạn, hạn độ",
"example": "There's a limit on the time you have to take the test.",
"image_url": "/media/decks_media/toeic600/Creative_Wallpaper_Speed_limit_015789_ (1).jpg",
"audio_tts_text": "LIMIT",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "MANAGE",
"part_of_speech": "v",
"phonetic": "/ˈmænɪdʒ/",
"definition": ", to handle; to deal with; to guide. giải quyết, xoay sở, quản lý",
"example": "Managing a football team is harder than you think.",
"image_url": "/media/decks_media/toeic600/Practices1.jpg",
"audio_tts_text": "MANAGE",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "MISSING",
"part_of_speech": "n",
"phonetic": "/ˈmɪsɪŋ/",
"definition": "an inner calling to pursue an activity or perform a service. vắng, thiếu, mất.",
"example": "Two bottles were missing from the drugs cupboard.",
"image_url": "/media/decks_media/toeic600/24-love-is-missing-someone.jpg",
"audio_tts_text": "MISSING",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "MONITOR",
"part_of_speech": "v",
"phonetic": "/ˈmɒnɪtə/",
"definition": "to keep track of. giám sát, màn hình",
"example": "Patients who are given the new drug will be asked to monitor their progress.",
"image_url": "/media/decks_media/toeic600/images (3).jpg",
"audio_tts_text": "MONITOR",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "OVERVIEW",
"part_of_speech": "n",
"phonetic": "/ˈəʊvəvjuː/",
"definition": ", a summary; a survey; a quick look. sự miêu tả chung nhưng ngắn gọn; cái nhìn khái quát; tổng quan",
"example": "The document provides a general overview of the bank's policies.",
"image_url": "/media/decks_media/toeic600/Spa-Francorchamps_overview.jpg",
"audio_tts_text": "OVERVIEW",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "PERMIT",
"part_of_speech": "v",
"phonetic": "/pəˈmɪt/",
"definition": ", to allow. cho phép",
"example": "Smoking is only permitted in the public lounge.",
"image_url": "/media/decks_media/toeic600/Knock.jpg",
"audio_tts_text": "PERMIT",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "PERSONNEL",
"part_of_speech": "n",
"phonetic": "/ˌpɜːˈnel/",
"definition": ", a group of employees or workers. cán bộ, nhân viên",
"example": "doctors and other medical personnel",
"image_url": "/media/decks_media/toeic600/City+Personnel.png",
"audio_tts_text": "PERSONNEL",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "PERTINENT",
"part_of_speech": "adj",
"phonetic": "/ˈːtɪnənt/",
"definition": "having relevance to the matter at hand. thích hợp, thích đáng, đúng chỗ; đi thẳng vào vấn đề...",
"example": "He asked me a lot of very pertinent questions .",
"image_url": "/media/decks_media/toeic600/21375suit_1.jpg",
"audio_tts_text": "PERTINENT",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "POLICY",
"part_of_speech": "n",
"phonetic": "/ˈpɒləsi/",
"definition": ", a set of rules and regulations. chính sách",
"example": "The company has adopted a strict no-smoking policy.",
"image_url": "/media/decks_media/toeic600/law_6.jpg",
"audio_tts_text": "POLICY",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "PORTION",
"part_of_speech": "n",
"phonetic": "/ˈːʃn̩/",
"definition": ", a section or quantity within a larger thing; a part of a whole. phân chia, khẩu phần",
"example": "A portion of my benefits is my health care coverage",
"image_url": "/media/decks_media/toeic600/shutterstock_3409827.jpg",
"audio_tts_text": "PORTION",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "POSITION",
"part_of_speech": "n",
"phonetic": "/pəˈzɪʃn̩/",
"definition": "the right or appropriate place. vị trí, chỗ của một vật gì",
"example": "The position of the chair can be adjusted to a range of heights",
"image_url": "/media/decks_media/toeic600/promotion-position-yourself.jpg",
"audio_tts_text": "POSITION",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "POTENTIAL",
"part_of_speech": "adj",
"phonetic": "/pəˈtenʃl̩/",
"definition": "capable of being but not ye in existence; possible. tiềm năng",
"example": "new ways of attracting potential customers",
"image_url": "/media/decks_media/toeic600/ReachingFullPotential.jpg",
"audio_tts_text": "POTENTIAL",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "PREVENT",
"part_of_speech": "v",
"phonetic": "/prɪˈvent/",
"definition": ", to keep from happening; to hinder. chống lại, phòng chống, ngăn ngừa",
"example": "His back injury may prevent him from playing in tomorrow's game.",
"image_url": "/media/decks_media/toeic600/bo-y-te-thanh-tra-toan-dien-cac-diem-tiem-chung-vacxin-95df74.jpg",
"audio_tts_text": "PREVENT",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "PROCEDURE",
"part_of_speech": "n",
"phonetic": "/prəˈsiːdʒə/",
"definition": "a series of steps taken to accomplish an end. thủ tục",
"example": "What's the procedure for applying for a visa?",
"image_url": "/media/decks_media/toeic600/047ebde027.jpg",
"audio_tts_text": "PROCEDURE",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "RECOMMEND",
"part_of_speech": "v",
"phonetic": "/ˌrekəˈmend/",
"definition": "to present as worthy; to endorse. giới thiệu",
"example": "recommend the butter chicken - it's delicious.",
"image_url": "/media/decks_media/toeic600/introduce.gif",
"audio_tts_text": "RECOMMEND",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "RECORD",
"part_of_speech": "v",
"phonetic": "/rɪˈːd/",
"definition": ", to set down in writing; (n)., a official copy of documents. ghi lại, lưu lại, kỷ lục",
"example": "Keep a record of everything you spend.",
"image_url": "/media/decks_media/toeic600/hMKH51SFBf4VD2eD.jpg",
"audio_tts_text": "RECORD",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "REFER",
"part_of_speech": "v",
"phonetic": "/rɪˈː/",
"definition": ", to direct for treatment or information; to mention. chỉ định, liên quan đến, ám chỉ, nhắc đến",
"example": "We agreed never to refer to the matter again.",
"image_url": "/media/decks_media/toeic600/Vacation_Club_Refer_a_Friend.jpg",
"audio_tts_text": "REFER",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "REGARDLESS",
"part_of_speech": "adv",
"phonetic": "/rɪˈɡɑːdləs/",
"definition": "in spite of. Bất chấp, không đếm xỉa tới, không chú ý tới",
"example": "The law requires equal treatment for all, regardless of race, religion, or sex.",
"image_url": "/media/decks_media/toeic600/ignore.jpg",
"audio_tts_text": "REGARDLESS",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "REGULARLY",
"part_of_speech": "adv",
"phonetic": "/ˈreɡjʊləli/",
"definition": "occurring at fixed intervals. thường xuyên, ở những quãng cách hoặc thời gian đều đặn; cách đều nhau,",
"example": "We meet regularly, once a month.",
"image_url": "/media/decks_media/toeic600/exercise-regularly.jpg",
"audio_tts_text": "REGULARLY",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "REIMBURSE",
"part_of_speech": "v",
"phonetic": "/,ri:im'bə:s/",
"definition": "to pay back money spent for a specific purpose. hoàn lại, trả lại (số tiền đã tiêu)",
"example": "The insurance company reimbursed Donald for the cost of his trip to the emergency room",
"image_url": "/media/decks_media/toeic600/30-day-money-back-guarantee_1.jpg",
"audio_tts_text": "REIMBURSE",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "RESTORE",
"part_of_speech": "v",
"phonetic": "/rɪˈstɔː/",
"definition": "to bring back to an original condition. Khôi phục lại, phục hồi",
"example": "The government promises to restore the economy to full strength.",
"image_url": "/media/decks_media/toeic600/broken-heart-restore-marriage-relationship-subliminal.png",
"audio_tts_text": "RESTORE",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "RESULT",
"part_of_speech": "n",
"phonetic": "/rɪˈzʌlt/",
"definition": "an outcome. kết quả",
"example": "Accidents are the inevitable result of driving too fast.",
"image_url": "/media/decks_media/toeic600/Results-winner.jpg",
"audio_tts_text": "RESULT",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "SAMPLE",
"part_of_speech": "n",
"phonetic": "/ˈsɑːmpl̩/",
"definition": "a portion, piece, or segment that is representative of a whole. mẫu, mẫu hàng",
"example": "I'd like to see some samples of your work.",
"image_url": "/media/decks_media/toeic600/Sample 2.jpg",
"audio_tts_text": "SAMPLE",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "SENSE",
"part_of_speech": "n",
"phonetic": "/sens/",
"definition": ", a judgment; an intellectual interpretation. khả năng phán đoán, ý thức, giác quan",
"example": "I like Pam - she has a really good sense of humour .",
"image_url": "/media/decks_media/toeic600/ý-thức.jpg",
"audio_tts_text": "SENSE",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "SERIOUS",
"part_of_speech": "adj",
"phonetic": "/ˈsɪərɪəs/",
"definition": ", weighty. nghiêm trọng, nghiêm trang",
"example": "Luckily, the damage was not serious.",
"image_url": "/media/decks_media/toeic600/Daniel-Will-Harris-Actor-headshot-serious-large.jpg",
"audio_tts_text": "SERIOUS",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "STATEMENT",
"part_of_speech": "n",
"phonetic": "/ˈsteɪtmənt/",
"definition": ", an accounting showing an amount due; a bill. sự bày tỏ, sự trình bày, sự phát biểu",
"example": "In an official statement, she formally announced her resignation.",
"image_url": "/media/decks_media/toeic600/generals-judges-should-declare-assets-1345071329-9513.jpg",
"audio_tts_text": "STATEMENT",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "SUITABLE",
"part_of_speech": "adj",
"phonetic": "/ˈsuːtəbl̩/",
"definition": ", appropriate to a purpose or an occasion. thích hợp với",
"example": "We are hoping to find a suitable school.",
"image_url": "/media/decks_media/toeic600/Making Safe Food 11.jpg",
"audio_tts_text": "SUITABLE",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "SURGERY",
"part_of_speech": "n",
"phonetic": "/'sə:dʤəri/",
"definition": "e medical procedure that involves cutting into the body. sự phẫu thuật",
"example": "She required surgery on her right knee.",
"image_url": "/media/decks_media/toeic600/surgery.jpg",
"audio_tts_text": "SURGERY",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "TREATMENT",
"part_of_speech": "n",
"phonetic": "/'tri:tmənt/",
"definition": "care provided for a medical condition. sự điều trị; phép trị bệnh",
"example": "There have been great advances in the treatment of cancer.",
"image_url": null,
"audio_tts_text": "TREATMENT",
"audio_lang": "en-US",
"display_order": 59
},
{
"word": "VOLUNTEER",
"part_of_speech": "n",
"phonetic": "/ˌvɒlənˈtɪə/",
"definition": "one who performs a service without pay; (v)., to perform as a volunteer. người tình nguyện, người xung phong",
"example": "It's a volunteer army with no paid professionals.",
"image_url": "/media/decks_media/toeic600/adsfdf.JPG",
"audio_tts_text": "VOLUNTEER",
"audio_lang": "en-US",
"display_order": 60
}
]

View File

@@ -0,0 +1 @@
[]

View File

@@ -0,0 +1,101 @@
[
{
"word": "Friday",
"part_of_speech": "/ˈfraɪdeɪ/",
"phonetic": "",
"definition": "thứ sáu",
"example": null,
"image_url": null,
"audio_tts_text": "Friday",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "Monday",
"part_of_speech": "/ˈmʌndeɪ/",
"phonetic": "",
"definition": "thứ hai",
"example": null,
"image_url": null,
"audio_tts_text": "Monday",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "Saturday",
"part_of_speech": "/ˈsætərdeɪ/",
"phonetic": "",
"definition": "thứ bảy",
"example": null,
"image_url": null,
"audio_tts_text": "Saturday",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "Sunday",
"part_of_speech": "/ˈsʌndeɪ/",
"phonetic": "",
"definition": "chủ nhật",
"example": null,
"image_url": null,
"audio_tts_text": "Sunday",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "Thursday",
"part_of_speech": "/ˈθɜːrzdeɪ/",
"phonetic": "",
"definition": "thứ năm",
"example": null,
"image_url": null,
"audio_tts_text": "Thursday",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "Tuesday",
"part_of_speech": "/ˈtuːzdeɪ/",
"phonetic": "",
"definition": "thứ ba",
"example": null,
"image_url": null,
"audio_tts_text": "Tuesday",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "Wednesday",
"part_of_speech": "/ˈwenzdeɪ/",
"phonetic": "",
"definition": "thứ tư",
"example": null,
"image_url": null,
"audio_tts_text": "Wednesday",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "weekday",
"part_of_speech": "/ˈwiːkdeɪ/",
"phonetic": "",
"definition": "ngày trong tuần",
"example": null,
"image_url": null,
"audio_tts_text": "weekday",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "weekend",
"part_of_speech": "/ˈwiːkend/",
"phonetic": "",
"definition": "cuối tuần",
"example": null,
"image_url": null,
"audio_tts_text": "weekend",
"audio_lang": "en-US",
"display_order": 8
}
]

View File

@@ -0,0 +1,134 @@
[
{
"word": "April",
"part_of_speech": "/ˈeɪprəl/",
"phonetic": "",
"definition": "tháng Tư",
"example": null,
"image_url": null,
"audio_tts_text": "April",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "August",
"part_of_speech": "/ˈɔːɡəst/",
"phonetic": "",
"definition": "tháng Tám",
"example": null,
"image_url": null,
"audio_tts_text": "August",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "December",
"part_of_speech": "/dɪˈsembər/",
"phonetic": "",
"definition": "tháng Mười Hai",
"example": null,
"image_url": null,
"audio_tts_text": "December",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "February",
"part_of_speech": "/ˈfebrueri/",
"phonetic": "",
"definition": "tháng Hai",
"example": null,
"image_url": null,
"audio_tts_text": "February",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "January",
"part_of_speech": "/ˈdʒænjueri/",
"phonetic": "",
"definition": "tháng Một",
"example": null,
"image_url": null,
"audio_tts_text": "January",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "July",
"part_of_speech": "/dʒuˈlaɪ/",
"phonetic": "",
"definition": "tháng Bảy",
"example": null,
"image_url": null,
"audio_tts_text": "July",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "June",
"part_of_speech": "/dʒuːn/",
"phonetic": "",
"definition": "tháng Sáu",
"example": null,
"image_url": null,
"audio_tts_text": "June",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "March",
"part_of_speech": "/mɑːrtʃ/",
"phonetic": "",
"definition": "tháng Ba",
"example": null,
"image_url": null,
"audio_tts_text": "March",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "May",
"part_of_speech": "/meɪ/",
"phonetic": "",
"definition": "tháng Năm",
"example": null,
"image_url": null,
"audio_tts_text": "May",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "November",
"part_of_speech": "/nəʊˈvembər/",
"phonetic": "",
"definition": "tháng Mười Một",
"example": null,
"image_url": null,
"audio_tts_text": "November",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "October",
"part_of_speech": "/ɑːkˈtəʊbər/",
"phonetic": "",
"definition": "tháng Mười",
"example": null,
"image_url": null,
"audio_tts_text": "October",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "September",
"part_of_speech": "/sepˈtembər/",
"phonetic": "",
"definition": "tháng Chín",
"example": null,
"image_url": null,
"audio_tts_text": "September",
"audio_lang": "en-US",
"display_order": 11
}
]

View File

@@ -0,0 +1,255 @@
[
{
"word": "Agriculture",
"part_of_speech": "/ˈæɡrɪkʌltʃər/",
"phonetic": "",
"definition": "Nông nghiệp",
"example": null,
"image_url": null,
"audio_tts_text": "Agriculture",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "Anthropology",
"part_of_speech": "/ˌænθrəˈpɑːlədʒi/",
"phonetic": "",
"definition": "Nhân chủng học",
"example": null,
"image_url": null,
"audio_tts_text": "Anthropology",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "Archaeology",
"part_of_speech": "/ˌɑːrkiˈɑːlədʒi/",
"phonetic": "",
"definition": "Khảo cổ học",
"example": null,
"image_url": null,
"audio_tts_text": "Archaeology",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "Architecture",
"part_of_speech": "/ˈɑːrkɪtektʃər/",
"phonetic": "",
"definition": "Kiến trúc xây dựng",
"example": null,
"image_url": null,
"audio_tts_text": "Architecture",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "Biology",
"part_of_speech": "/baɪˈɑːlədʒi/",
"phonetic": "",
"definition": "Sinh học",
"example": null,
"image_url": null,
"audio_tts_text": "Biology",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "Business management",
"part_of_speech": "/ˈbɪznəs ˈmænɪdʒmənt/",
"phonetic": "",
"definition": "Quản trị kinh doanh",
"example": null,
"image_url": null,
"audio_tts_text": "Business management",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "Chemistry",
"part_of_speech": "/ˈkemɪstri/",
"phonetic": "",
"definition": "Hóa học",
"example": null,
"image_url": null,
"audio_tts_text": "Chemistry",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "Economics",
"part_of_speech": "/ˌiːˈnɑːmɪks/",
"phonetic": "",
"definition": "Kinh tế học",
"example": null,
"image_url": null,
"audio_tts_text": "Economics",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "Geography",
"part_of_speech": "/dʒiˈɑːɡrəfi/",
"phonetic": "",
"definition": "Địa lý",
"example": null,
"image_url": null,
"audio_tts_text": "Geography",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "History",
"part_of_speech": "/ˈhɪs.tər.i/",
"phonetic": "",
"definition": "Lịch sử",
"example": null,
"image_url": null,
"audio_tts_text": "History",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "Humanities",
"part_of_speech": "/hjuːˈmænətiz/",
"phonetic": "",
"definition": "Khoa học nhân văn",
"example": null,
"image_url": null,
"audio_tts_text": "Humanities",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "Law",
"part_of_speech": "/lɔː/",
"phonetic": "",
"definition": "Pháp luật học",
"example": null,
"image_url": null,
"audio_tts_text": "Law",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "Literature",
"part_of_speech": "/ˈlɪtrətʃər/",
"phonetic": "",
"definition": "Văn học",
"example": null,
"image_url": null,
"audio_tts_text": "Literature",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "Logic",
"part_of_speech": "/ˈlɑːɪk/",
"phonetic": "",
"definition": "Lý luận học",
"example": null,
"image_url": null,
"audio_tts_text": "Logic",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "Mathematics",
"part_of_speech": "/ˌmæθəˈmætɪks/",
"phonetic": "",
"definition": "Toán học",
"example": null,
"image_url": null,
"audio_tts_text": "Mathematics",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "Performing arts",
"part_of_speech": "/pərˌfɔːrmɪŋ ˈɑːrts/",
"phonetic": "",
"definition": "Nghệ thuật biểu diễn",
"example": null,
"image_url": null,
"audio_tts_text": "Performing arts",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "Philosophy",
"part_of_speech": "/fəˈlɑːsəfi/",
"phonetic": "",
"definition": "Triết học",
"example": null,
"image_url": null,
"audio_tts_text": "Philosophy",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "Physics",
"part_of_speech": "/ˈfɪzɪks/",
"phonetic": "",
"definition": "Vật lý",
"example": null,
"image_url": null,
"audio_tts_text": "Physics",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "Politics",
"part_of_speech": "/ˈpɑːlətɪks/",
"phonetic": "",
"definition": "Chính trị",
"example": null,
"image_url": null,
"audio_tts_text": "Politics",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "Psychology",
"part_of_speech": "/saɪˈkɑːlədʒi/",
"phonetic": "",
"definition": "Tâm lý học",
"example": null,
"image_url": null,
"audio_tts_text": "Psychology",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "Science",
"part_of_speech": "/ˈsaɪəns/",
"phonetic": "",
"definition": "Khoa học",
"example": null,
"image_url": null,
"audio_tts_text": "Science",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "Statistics",
"part_of_speech": "/stəˈtɪstɪks/",
"phonetic": "",
"definition": "Khoa học thống kê",
"example": null,
"image_url": null,
"audio_tts_text": "Statistics",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "Visual arts",
"part_of_speech": "/ˈvɪʒuəl ˈɑːrts/",
"phonetic": "",
"definition": "Nghệ thuật thị giác",
"example": null,
"image_url": null,
"audio_tts_text": "Visual arts",
"audio_lang": "en-US",
"display_order": 22
}
]

View File

@@ -0,0 +1,310 @@
[
{
"word": "advertisement",
"part_of_speech": "/ˌædvərˈtaɪzmənt/",
"phonetic": "",
"definition": "quảng cáo",
"example": null,
"image_url": null,
"audio_tts_text": "advertisement",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "business card",
"part_of_speech": "/ˈbɪznəs kɑːrd/",
"phonetic": "",
"definition": "danh thiếp",
"example": null,
"image_url": null,
"audio_tts_text": "business card",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "campaign",
"part_of_speech": "/kæmˈpeɪn/",
"phonetic": "",
"definition": "chiến dịch",
"example": null,
"image_url": null,
"audio_tts_text": "campaign",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "catalogue",
"part_of_speech": "/ˈkætəlɔːɡ/",
"phonetic": "",
"definition": "danh mục liệt kê",
"example": null,
"image_url": null,
"audio_tts_text": "catalogue",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "collect data",
"part_of_speech": "/kəˈlekt ˈdeɪtə/",
"phonetic": "",
"definition": "thu thập dữ liệu",
"example": null,
"image_url": null,
"audio_tts_text": "collect data",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "competition",
"part_of_speech": "/ˌkɑːmpəˈtɪʃn/",
"phonetic": "",
"definition": "cuộc thi",
"example": null,
"image_url": null,
"audio_tts_text": "competition",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "customer",
"part_of_speech": "/ˈkʌstəmər/",
"phonetic": "",
"definition": "khách hàng",
"example": null,
"image_url": null,
"audio_tts_text": "customer",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "display",
"part_of_speech": "/dɪˈspleɪ/",
"phonetic": "",
"definition": "trưng bày",
"example": null,
"image_url": null,
"audio_tts_text": "display",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "entertainment industry",
"part_of_speech": "/ˌentərˈteɪnmənt ˈɪndəstri/",
"phonetic": "",
"definition": "ngành công nghiệp giải trí",
"example": null,
"image_url": null,
"audio_tts_text": "entertainment industry",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "interview",
"part_of_speech": "/ˈɪntərvjuː/",
"phonetic": "",
"definition": "phỏng vấn",
"example": null,
"image_url": null,
"audio_tts_text": "interview",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "leadership",
"part_of_speech": "/ˈliːdərʃɪp/",
"phonetic": "",
"definition": "khả năng lãnh đạo",
"example": null,
"image_url": null,
"audio_tts_text": "leadership",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "management",
"part_of_speech": "/ˈmænɪdʒmənt/",
"phonetic": "",
"definition": "sự quản lý",
"example": null,
"image_url": null,
"audio_tts_text": "management",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "manufacture",
"part_of_speech": "/ˌmænjuˈfæktʃər/",
"phonetic": "",
"definition": "sự sản xuất",
"example": null,
"image_url": null,
"audio_tts_text": "manufacture",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "mass media",
"part_of_speech": "/ˌmæs ˈmiːdiə/",
"phonetic": "",
"definition": "phương tiện truyền thông",
"example": null,
"image_url": null,
"audio_tts_text": "mass media",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "merchandise",
"part_of_speech": "/ˈːrtʃəndaɪs/",
"phonetic": "",
"definition": "hàng hóa",
"example": null,
"image_url": null,
"audio_tts_text": "merchandise",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "newsletter",
"part_of_speech": "/ˈnuːzletər/",
"phonetic": "",
"definition": "bản tin",
"example": null,
"image_url": null,
"audio_tts_text": "newsletter",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "poll",
"part_of_speech": "/pəʊl/",
"phonetic": "",
"definition": "cuộc thăm dò ý kiến",
"example": null,
"image_url": null,
"audio_tts_text": "poll",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "product",
"part_of_speech": "/ˈprɑːdʌkt/",
"phonetic": "",
"definition": "sản phẩm",
"example": null,
"image_url": null,
"audio_tts_text": "product",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "profit margin",
"part_of_speech": "/ˈprɑːfɪt mɑːrdʒɪn/",
"phonetic": "",
"definition": "tỷ suất lợi nhuận",
"example": null,
"image_url": null,
"audio_tts_text": "profit margin",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "questionnaire",
"part_of_speech": "/ˌkwestʃəˈner/",
"phonetic": "",
"definition": "bản câu hỏi, thăm dò ý kiến",
"example": null,
"image_url": null,
"audio_tts_text": "questionnaire",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "recruitment",
"part_of_speech": "/rɪˈkruːtmənt/",
"phonetic": "",
"definition": "sự tuyển dụng, chiêu mộ",
"example": null,
"image_url": null,
"audio_tts_text": "recruitment",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "research method",
"part_of_speech": "/rɪˈːrtʃ ˈmeθəd/",
"phonetic": "",
"definition": "phương pháp nghiên cứu",
"example": null,
"image_url": null,
"audio_tts_text": "research method",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "special offer",
"part_of_speech": "/ˈspeʃl ˈɔːfər/",
"phonetic": "",
"definition": "giá chào đặc biệt",
"example": null,
"image_url": null,
"audio_tts_text": "special offer",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "statistic",
"part_of_speech": "/stəˈtɪstɪk/",
"phonetic": "",
"definition": "số liệu",
"example": null,
"image_url": null,
"audio_tts_text": "statistic",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "strategy",
"part_of_speech": "/ˈstrætədʒi/",
"phonetic": "",
"definition": "chiến lược",
"example": null,
"image_url": null,
"audio_tts_text": "strategy",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "survey",
"part_of_speech": "/ˈːrveɪ/",
"phonetic": "",
"definition": "cuộc khảo sát",
"example": null,
"image_url": null,
"audio_tts_text": "survey",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "TV programme",
"part_of_speech": "/ˌtiː ˌviː ˈprəʊɡræm/",
"phonetic": "",
"definition": "chương trình truyền hình",
"example": null,
"image_url": null,
"audio_tts_text": "TV programme",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "website",
"part_of_speech": "/ˈwebsaɪt/",
"phonetic": "",
"definition": "trang web",
"example": null,
"image_url": null,
"audio_tts_text": "website",
"audio_lang": "en-US",
"display_order": 27
}
]

View File

@@ -0,0 +1,90 @@
[
{
"word": "Africa",
"part_of_speech": "/ˈæfrɪkə/",
"phonetic": "",
"definition": "Châu Phi",
"example": null,
"image_url": null,
"audio_tts_text": "Africa",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "Antarctica",
"part_of_speech": "/ænˈtɑːrktɪkə/",
"phonetic": "",
"definition": "Châu Nam Cực",
"example": null,
"image_url": null,
"audio_tts_text": "Antarctica",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "Asia",
"part_of_speech": "/ˈeɪʒə/",
"phonetic": "",
"definition": "Châu Á",
"example": null,
"image_url": null,
"audio_tts_text": "Asia",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "Australia",
"part_of_speech": "/ɔːˈstreɪliə/",
"phonetic": "",
"definition": "Châu Úc (Châu Đại Dương)",
"example": null,
"image_url": null,
"audio_tts_text": "Australia",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "continent",
"part_of_speech": "/ˈkɑːntɪnənt/",
"phonetic": "",
"definition": "lục địa",
"example": null,
"image_url": null,
"audio_tts_text": "continent",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "Europe",
"part_of_speech": "/ˈjʊrəp/",
"phonetic": "",
"definition": "Châu Âu",
"example": null,
"image_url": null,
"audio_tts_text": "Europe",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "North America",
"part_of_speech": "/ˌnɔːrθ əˈmerɪkə/",
"phonetic": "",
"definition": "Bắc Mỹ",
"example": null,
"image_url": null,
"audio_tts_text": "North America",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "South America",
"part_of_speech": "/ˌsaʊθ əˈmerɪkə/",
"phonetic": "",
"definition": "Nam Mỹ",
"example": null,
"image_url": null,
"audio_tts_text": "South America",
"audio_lang": "en-US",
"display_order": 7
}
]

View File

@@ -0,0 +1,68 @@
[
{
"word": "Arctic Ocean",
"part_of_speech": "/ˌɑːrktɪk ˈəʊʃn/",
"phonetic": "",
"definition": "Bắc Băng Dương",
"example": null,
"image_url": null,
"audio_tts_text": "Arctic Ocean",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "Atlantic Ocean",
"part_of_speech": "/ətˌlæntɪk ˈəʊʃn/",
"phonetic": "",
"definition": "Đại Tây Dương",
"example": null,
"image_url": null,
"audio_tts_text": "Atlantic Ocean",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "Indian Ocean",
"part_of_speech": "/ˌɪndiən ˈəʊʃn/",
"phonetic": "",
"definition": "Ấn Độ Dương",
"example": null,
"image_url": null,
"audio_tts_text": "Indian Ocean",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "ocean",
"part_of_speech": "/ˈəʊʃn/",
"phonetic": "",
"definition": "đại dương",
"example": null,
"image_url": null,
"audio_tts_text": "ocean",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "Pacific Ocean",
"part_of_speech": "/pəˌsɪfɪk ˈəʊʃn/",
"phonetic": "",
"definition": "Thái Bình Dương",
"example": null,
"image_url": null,
"audio_tts_text": "Pacific Ocean",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "Southern Ocean",
"part_of_speech": "/ˈsʌðərn ˈəʊʃn/",
"phonetic": "",
"definition": "Nam Băng Dương",
"example": null,
"image_url": null,
"audio_tts_text": "Southern Ocean",
"audio_lang": "en-US",
"display_order": 5
}
]

View File

@@ -0,0 +1,398 @@
[
{
"word": "annual fee",
"part_of_speech": "/ˈænjuəl fiː/",
"phonetic": "",
"definition": "phí thường niên",
"example": null,
"image_url": null,
"audio_tts_text": "annual fee",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "annuity",
"part_of_speech": "/əˈnuːəti/",
"phonetic": "",
"definition": "tiền trợ cấp hàng năm",
"example": null,
"image_url": null,
"audio_tts_text": "annuity",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "bank statement",
"part_of_speech": "/ˈbæŋk steɪtmənt/",
"phonetic": "",
"definition": "bản sao kê ngân hàng",
"example": null,
"image_url": null,
"audio_tts_text": "bank statement",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "budget deficit",
"part_of_speech": "/ˈbʌdʒɪt ˈdefɪsɪt/",
"phonetic": "",
"definition": "thâm hụt ngân sách",
"example": null,
"image_url": null,
"audio_tts_text": "budget deficit",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "cash",
"part_of_speech": "/kæʃ/",
"phonetic": "",
"definition": "tiền mặt",
"example": null,
"image_url": null,
"audio_tts_text": "cash",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "cheque",
"part_of_speech": "/tʃek/",
"phonetic": "",
"definition": "séc",
"example": null,
"image_url": null,
"audio_tts_text": "cheque",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "counterfeit money",
"part_of_speech": "/ˈkaʊntərfɪt mʌni/",
"phonetic": "",
"definition": "tiền giả",
"example": null,
"image_url": null,
"audio_tts_text": "counterfeit money",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "coupon",
"part_of_speech": "/ˈkuːpɑːn/",
"phonetic": "",
"definition": "phiếu mua hàng",
"example": null,
"image_url": null,
"audio_tts_text": "coupon",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "credit card",
"part_of_speech": "/ˈkredɪt kɑːrd/",
"phonetic": "",
"definition": "thẻ tín dụng",
"example": null,
"image_url": null,
"audio_tts_text": "credit card",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "currency",
"part_of_speech": "/ˈːrənsi/",
"phonetic": "",
"definition": "tiền tệ",
"example": null,
"image_url": null,
"audio_tts_text": "currency",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "current account",
"part_of_speech": "/ˈːrənt əkaʊnt/",
"phonetic": "",
"definition": "tài khoản vãng lai",
"example": null,
"image_url": null,
"audio_tts_text": "current account",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "debit card",
"part_of_speech": "/ˈdebɪt kɑːrd/",
"phonetic": "",
"definition": "thẻ ghi nợ",
"example": null,
"image_url": null,
"audio_tts_text": "debit card",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "debt",
"part_of_speech": "/det/",
"phonetic": "",
"definition": "khoản nợ",
"example": null,
"image_url": null,
"audio_tts_text": "debt",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "deposit",
"part_of_speech": "/dɪˈpɑːzɪt/",
"phonetic": "",
"definition": "tiền đặt cọc",
"example": null,
"image_url": null,
"audio_tts_text": "deposit",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "duty-free store",
"part_of_speech": "/ˌduːti ˈfriː stɔːr/",
"phonetic": "",
"definition": "cửa hàng miễn thuế",
"example": null,
"image_url": null,
"audio_tts_text": "duty-free store",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "Finance Department",
"part_of_speech": "/faɪˈnæns dɪˈpɑːrtmənt/",
"phonetic": "",
"definition": "Bộ Tài Chính",
"example": null,
"image_url": null,
"audio_tts_text": "Finance Department",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "in advance",
"part_of_speech": "/ ɪn ədˈvæns/",
"phonetic": "",
"definition": "trả trước",
"example": null,
"image_url": null,
"audio_tts_text": "in advance",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "income",
"part_of_speech": "/ˈɪnkʌm/",
"phonetic": "",
"definition": "thu nhập",
"example": null,
"image_url": null,
"audio_tts_text": "income",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "interest-free credit",
"part_of_speech": "/ˌɪntrəst ˈfriː ˈkredɪ/",
"phonetic": "",
"definition": "tín dụng không lãi suất",
"example": null,
"image_url": null,
"audio_tts_text": "interest-free credit",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "interest rate",
"part_of_speech": "/ˈɪntrəst reɪt/",
"phonetic": "",
"definition": "lãi suất",
"example": null,
"image_url": null,
"audio_tts_text": "interest rate",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "invest",
"part_of_speech": "/ɪnˈvest/",
"phonetic": "",
"definition": "đầu tư",
"example": null,
"image_url": null,
"audio_tts_text": "invest",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "low-risk investment",
"part_of_speech": "/ˌləʊ ˈrɪsk ɪnˈvestmənt/",
"phonetic": "",
"definition": "đầu tư rủi ro thấp",
"example": null,
"image_url": null,
"audio_tts_text": "low-risk investment",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "MasterCard",
"part_of_speech": "/ˈmæstərkɑːrd/",
"phonetic": "",
"definition": "thẻ MasterCard",
"example": null,
"image_url": null,
"audio_tts_text": "MasterCard",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "money management",
"part_of_speech": "/ˈmʌni ˈmænɪdʒmənt/",
"phonetic": "",
"definition": "quản lý tiền bạc",
"example": null,
"image_url": null,
"audio_tts_text": "money management",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "monthly membership",
"part_of_speech": "/ ˈmʌnθli ˈmembərʃɪp/",
"phonetic": "",
"definition": "hội viên theo tháng",
"example": null,
"image_url": null,
"audio_tts_text": "monthly membership",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "mortgage",
"part_of_speech": "/ˈːrɡɪdʒ/",
"phonetic": "",
"definition": "tiền thế chấp",
"example": null,
"image_url": null,
"audio_tts_text": "mortgage",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "non-refundable",
"part_of_speech": "/ˌnɑːn rɪˈfʌndəbl/",
"phonetic": "",
"definition": "không hoàn tiền",
"example": null,
"image_url": null,
"audio_tts_text": "non-refundable",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "poverty",
"part_of_speech": "/ˈpɑːvərti/",
"phonetic": "",
"definition": "sự thiếu thốn",
"example": null,
"image_url": null,
"audio_tts_text": "poverty",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "profitable",
"part_of_speech": "/ˈprɑːfɪtəbl/",
"phonetic": "",
"definition": "sinh lãi, có lợi",
"example": null,
"image_url": null,
"audio_tts_text": "profitable",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "public money",
"part_of_speech": "/ˈpʌblɪk mʌni/",
"phonetic": "",
"definition": "tiền công quỹ",
"example": null,
"image_url": null,
"audio_tts_text": "public money",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "purchase",
"part_of_speech": "/ˈːrtʃəs/",
"phonetic": "",
"definition": "mua",
"example": null,
"image_url": null,
"audio_tts_text": "purchase",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "student account",
"part_of_speech": "/ˈstuːdnt əkaʊnt/",
"phonetic": "",
"definition": "tài khoản dành cho sinh viên",
"example": null,
"image_url": null,
"audio_tts_text": "student account",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "tuition fee",
"part_of_speech": "/tuˈɪʃn fiː/",
"phonetic": "",
"definition": "học phí",
"example": null,
"image_url": null,
"audio_tts_text": "tuition fee",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "VISA",
"part_of_speech": "/ˈviːzə/",
"phonetic": "",
"definition": "thẻ VISA",
"example": null,
"image_url": null,
"audio_tts_text": "VISA",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "voucher",
"part_of_speech": "/ˈvaʊtʃər/",
"phonetic": "",
"definition": "phiếu giảm giá, biên lai",
"example": null,
"image_url": null,
"audio_tts_text": "voucher",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "withdraw",
"part_of_speech": "/wɪθˈdrɔː/",
"phonetic": "",
"definition": "rút tiền",
"example": null,
"image_url": null,
"audio_tts_text": "withdraw",
"audio_lang": "en-US",
"display_order": 35
}
]

View File

@@ -0,0 +1,816 @@
[
{
"word": "amphibian",
"part_of_speech": "/æmˈfɪbiən/",
"phonetic": "",
"definition": "động vật lưỡng cư",
"example": null,
"image_url": null,
"audio_tts_text": "amphibian",
"audio_lang": "en-US",
"display_order": 0
},
{
"word": "avalanche",
"part_of_speech": "/ˈævəlæntʃ/",
"phonetic": "",
"definition": "tuyết lở",
"example": null,
"image_url": null,
"audio_tts_text": "avalanche",
"audio_lang": "en-US",
"display_order": 1
},
{
"word": "bark",
"part_of_speech": "/bɑːrk/",
"phonetic": "",
"definition": "vỏ cây",
"example": null,
"image_url": null,
"audio_tts_text": "bark",
"audio_lang": "en-US",
"display_order": 2
},
{
"word": "biodiversity",
"part_of_speech": "/ˌbaɪəʊdaɪˈːrsəti/",
"phonetic": "",
"definition": "sự đa dạng sinh học",
"example": null,
"image_url": null,
"audio_tts_text": "biodiversity",
"audio_lang": "en-US",
"display_order": 3
},
{
"word": "bird of prey",
"part_of_speech": "/ˌbɜːrd əv ˈpreɪ/",
"phonetic": "",
"definition": "chim săn mồi",
"example": null,
"image_url": null,
"audio_tts_text": "bird of prey",
"audio_lang": "en-US",
"display_order": 4
},
{
"word": "branch",
"part_of_speech": "/bræntʃ/",
"phonetic": "",
"definition": "cành cây",
"example": null,
"image_url": null,
"audio_tts_text": "branch",
"audio_lang": "en-US",
"display_order": 5
},
{
"word": "bush",
"part_of_speech": "/bʊʃ/",
"phonetic": "",
"definition": "bụi cây",
"example": null,
"image_url": null,
"audio_tts_text": "bush",
"audio_lang": "en-US",
"display_order": 6
},
{
"word": "canyon",
"part_of_speech": "/ˈkænjən/",
"phonetic": "",
"definition": "hẻm núi",
"example": null,
"image_url": null,
"audio_tts_text": "canyon",
"audio_lang": "en-US",
"display_order": 7
},
{
"word": "catastrophe",
"part_of_speech": "/kəˈtæstrəfi/",
"phonetic": "",
"definition": "thảm họa, tai ương",
"example": null,
"image_url": null,
"audio_tts_text": "catastrophe",
"audio_lang": "en-US",
"display_order": 8
},
{
"word": "cetacean",
"part_of_speech": "/sɪˈteɪʃn/",
"phonetic": "",
"definition": "động vật biển có vú",
"example": null,
"image_url": null,
"audio_tts_text": "cetacean",
"audio_lang": "en-US",
"display_order": 9
},
{
"word": "class",
"part_of_speech": "/klæs/",
"phonetic": "",
"definition": "lớp (sinh vật)",
"example": null,
"image_url": null,
"audio_tts_text": "class",
"audio_lang": "en-US",
"display_order": 10
},
{
"word": "cliff",
"part_of_speech": "/klɪf/",
"phonetic": "",
"definition": "vách đá",
"example": null,
"image_url": null,
"audio_tts_text": "cliff",
"audio_lang": "en-US",
"display_order": 11
},
{
"word": "climate",
"part_of_speech": "/ˈklaɪmət/",
"phonetic": "",
"definition": "khí hậu",
"example": null,
"image_url": null,
"audio_tts_text": "climate",
"audio_lang": "en-US",
"display_order": 12
},
{
"word": "cluster",
"part_of_speech": "/ˈklʌstər/",
"phonetic": "",
"definition": "bó",
"example": null,
"image_url": null,
"audio_tts_text": "cluster",
"audio_lang": "en-US",
"display_order": 13
},
{
"word": "coast",
"part_of_speech": "/kəʊst/",
"phonetic": "",
"definition": "bờ biển",
"example": null,
"image_url": null,
"audio_tts_text": "coast",
"audio_lang": "en-US",
"display_order": 14
},
{
"word": "core",
"part_of_speech": "/kɔːr/",
"phonetic": "",
"definition": "hạch",
"example": null,
"image_url": null,
"audio_tts_text": "core",
"audio_lang": "en-US",
"display_order": 15
},
{
"word": "creature",
"part_of_speech": "/ˈkriːtʃər/",
"phonetic": "",
"definition": "sinh vật",
"example": null,
"image_url": null,
"audio_tts_text": "creature",
"audio_lang": "en-US",
"display_order": 16
},
{
"word": "dam",
"part_of_speech": "/dæm/",
"phonetic": "",
"definition": "đập (ngăn nước)",
"example": null,
"image_url": null,
"audio_tts_text": "dam",
"audio_lang": "en-US",
"display_order": 17
},
{
"word": "desertification",
"part_of_speech": "/dɪˌzɜːrtɪfɪˈkeɪʃn/",
"phonetic": "",
"definition": "sự sa mạc hóa",
"example": null,
"image_url": null,
"audio_tts_text": "desertification",
"audio_lang": "en-US",
"display_order": 18
},
{
"word": "disaster",
"part_of_speech": "/dɪˈzæstər/",
"phonetic": "",
"definition": "thảm họa",
"example": null,
"image_url": null,
"audio_tts_text": "disaster",
"audio_lang": "en-US",
"display_order": 19
},
{
"word": "earthquake",
"part_of_speech": "/ˈɜːrθkweɪk/",
"phonetic": "",
"definition": "động đất",
"example": null,
"image_url": null,
"audio_tts_text": "earthquake",
"audio_lang": "en-US",
"display_order": 20
},
{
"word": "environment",
"part_of_speech": "/ɪnˈvaɪrənmənt/",
"phonetic": "",
"definition": "môi trường",
"example": null,
"image_url": null,
"audio_tts_text": "environment",
"audio_lang": "en-US",
"display_order": 21
},
{
"word": "erosion",
"part_of_speech": "/ɪˈrəʊʒn/",
"phonetic": "",
"definition": "sự xói mòn",
"example": null,
"image_url": null,
"audio_tts_text": "erosion",
"audio_lang": "en-US",
"display_order": 22
},
{
"word": "eruption",
"part_of_speech": "/ɪˈrʌpʃn/",
"phonetic": "",
"definition": "sự phun trào",
"example": null,
"image_url": null,
"audio_tts_text": "eruption",
"audio_lang": "en-US",
"display_order": 23
},
{
"word": "family",
"part_of_speech": "/ˈfæməli/",
"phonetic": "",
"definition": "họ",
"example": null,
"image_url": null,
"audio_tts_text": "family",
"audio_lang": "en-US",
"display_order": 24
},
{
"word": "fertilizer",
"part_of_speech": "/ˈːrtəlaɪzər/",
"phonetic": "",
"definition": "phân bón",
"example": null,
"image_url": null,
"audio_tts_text": "fertilizer",
"audio_lang": "en-US",
"display_order": 25
},
{
"word": "field",
"part_of_speech": "/fiːld/",
"phonetic": "",
"definition": "cánh đồng",
"example": null,
"image_url": null,
"audio_tts_text": "field",
"audio_lang": "en-US",
"display_order": 26
},
{
"word": "fish",
"part_of_speech": "/fɪʃ/",
"phonetic": "",
"definition": "cá",
"example": null,
"image_url": null,
"audio_tts_text": "fish",
"audio_lang": "en-US",
"display_order": 27
},
{
"word": "flood",
"part_of_speech": "/flʌd/",
"phonetic": "",
"definition": "lũ lụt",
"example": null,
"image_url": null,
"audio_tts_text": "flood",
"audio_lang": "en-US",
"display_order": 28
},
{
"word": "flower",
"part_of_speech": "/ˈflaʊər/",
"phonetic": "",
"definition": "hoa",
"example": null,
"image_url": null,
"audio_tts_text": "flower",
"audio_lang": "en-US",
"display_order": 29
},
{
"word": "forest",
"part_of_speech": "/ˈːrɪst/",
"phonetic": "",
"definition": "rừng",
"example": null,
"image_url": null,
"audio_tts_text": "forest",
"audio_lang": "en-US",
"display_order": 30
},
{
"word": "fungus",
"part_of_speech": "/ˈfʌŋɡəs/",
"phonetic": "",
"definition": "nấm",
"example": null,
"image_url": null,
"audio_tts_text": "fungus",
"audio_lang": "en-US",
"display_order": 31
},
{
"word": "genus",
"part_of_speech": "/ˈdʒiːnəs/",
"phonetic": "",
"definition": "giống",
"example": null,
"image_url": null,
"audio_tts_text": "genus",
"audio_lang": "en-US",
"display_order": 32
},
{
"word": "hill",
"part_of_speech": "/hɪl/",
"phonetic": "",
"definition": "đồi",
"example": null,
"image_url": null,
"audio_tts_text": "hill",
"audio_lang": "en-US",
"display_order": 33
},
{
"word": "hurricane",
"part_of_speech": "/ˈːrəkeɪn/",
"phonetic": "",
"definition": "bão (có gió giật)",
"example": null,
"image_url": null,
"audio_tts_text": "hurricane",
"audio_lang": "en-US",
"display_order": 34
},
{
"word": "insect",
"part_of_speech": "/ˈɪnsekt/",
"phonetic": "",
"definition": "côn trùng",
"example": null,
"image_url": null,
"audio_tts_text": "insect",
"audio_lang": "en-US",
"display_order": 35
},
{
"word": "island",
"part_of_speech": "/ˈaɪlənd/",
"phonetic": "",
"definition": "hòn đảo",
"example": null,
"image_url": null,
"audio_tts_text": "island",
"audio_lang": "en-US",
"display_order": 36
},
{
"word": "jungle",
"part_of_speech": "/ˈdʒʌŋɡl/",
"phonetic": "",
"definition": "rừng nhiệt đới",
"example": null,
"image_url": null,
"audio_tts_text": "jungle",
"audio_lang": "en-US",
"display_order": 37
},
{
"word": "lake",
"part_of_speech": "/leɪk/",
"phonetic": "",
"definition": "hồ",
"example": null,
"image_url": null,
"audio_tts_text": "lake",
"audio_lang": "en-US",
"display_order": 38
},
{
"word": "landslide",
"part_of_speech": "/ˈlændslaɪd/",
"phonetic": "",
"definition": "sự lở đất",
"example": null,
"image_url": null,
"audio_tts_text": "landslide",
"audio_lang": "en-US",
"display_order": 39
},
{
"word": "leaves",
"part_of_speech": "/liːvz/",
"phonetic": "",
"definition": "lá cây",
"example": null,
"image_url": null,
"audio_tts_text": "leaves",
"audio_lang": "en-US",
"display_order": 40
},
{
"word": "lion",
"part_of_speech": "/ˈlaɪən/",
"phonetic": "",
"definition": "sư tử",
"example": null,
"image_url": null,
"audio_tts_text": "lion",
"audio_lang": "en-US",
"display_order": 41
},
{
"word": "livestock",
"part_of_speech": "/ˈlaɪvstɑːk/",
"phonetic": "",
"definition": "thú nuôi",
"example": null,
"image_url": null,
"audio_tts_text": "livestock",
"audio_lang": "en-US",
"display_order": 42
},
{
"word": "mammal",
"part_of_speech": "/ˈmæml/",
"phonetic": "",
"definition": "động vật có vú",
"example": null,
"image_url": null,
"audio_tts_text": "mammal",
"audio_lang": "en-US",
"display_order": 43
},
{
"word": "mountain",
"part_of_speech": "/ˈmaʊntn/",
"phonetic": "",
"definition": "núi",
"example": null,
"image_url": null,
"audio_tts_text": "mountain",
"audio_lang": "en-US",
"display_order": 44
},
{
"word": "mushroom",
"part_of_speech": "/ˈmʌʃruːm/",
"phonetic": "",
"definition": "nấm",
"example": null,
"image_url": null,
"audio_tts_text": "mushroom",
"audio_lang": "en-US",
"display_order": 45
},
{
"word": "oasis",
"part_of_speech": "/əʊˈeɪsɪs/",
"phonetic": "",
"definition": "ốc đảo",
"example": null,
"image_url": null,
"audio_tts_text": "oasis",
"audio_lang": "en-US",
"display_order": 46
},
{
"word": "octopus",
"part_of_speech": "/ˈɑːktəpʊs/",
"phonetic": "",
"definition": "bạch tuộc",
"example": null,
"image_url": null,
"audio_tts_text": "octopus",
"audio_lang": "en-US",
"display_order": 47
},
{
"word": "order",
"part_of_speech": "/ˈɔːrdər/",
"phonetic": "",
"definition": "bậc",
"example": null,
"image_url": null,
"audio_tts_text": "order",
"audio_lang": "en-US",
"display_order": 48
},
{
"word": "penguin",
"part_of_speech": "/ˈpeŋɡwɪn/",
"phonetic": "",
"definition": "chim cánh cụt",
"example": null,
"image_url": null,
"audio_tts_text": "penguin",
"audio_lang": "en-US",
"display_order": 49
},
{
"word": "peninsula",
"part_of_speech": "/pəˈnɪnsələ/",
"phonetic": "",
"definition": "bán đảo",
"example": null,
"image_url": null,
"audio_tts_text": "peninsula",
"audio_lang": "en-US",
"display_order": 50
},
{
"word": "phylum",
"part_of_speech": "/ˈfaɪləm/",
"phonetic": "",
"definition": "ngành, hệ",
"example": null,
"image_url": null,
"audio_tts_text": "phylum",
"audio_lang": "en-US",
"display_order": 51
},
{
"word": "plant",
"part_of_speech": "/plænt/",
"phonetic": "",
"definition": "thực vật",
"example": null,
"image_url": null,
"audio_tts_text": "plant",
"audio_lang": "en-US",
"display_order": 52
},
{
"word": "pond",
"part_of_speech": "/pɑːnd/",
"phonetic": "",
"definition": "ao",
"example": null,
"image_url": null,
"audio_tts_text": "pond",
"audio_lang": "en-US",
"display_order": 53
},
{
"word": "primate",
"part_of_speech": "/ˈpraɪmeɪt/",
"phonetic": "",
"definition": "động vật linh trưởng",
"example": null,
"image_url": null,
"audio_tts_text": "primate",
"audio_lang": "en-US",
"display_order": 54
},
{
"word": "reef",
"part_of_speech": "/riːf/",
"phonetic": "",
"definition": "đá ngầm",
"example": null,
"image_url": null,
"audio_tts_text": "reef",
"audio_lang": "en-US",
"display_order": 55
},
{
"word": "reptile",
"part_of_speech": "/ˈreptaɪl/",
"phonetic": "",
"definition": "loài bò sát",
"example": null,
"image_url": null,
"audio_tts_text": "reptile",
"audio_lang": "en-US",
"display_order": 56
},
{
"word": "river",
"part_of_speech": "/ˈrɪvər/",
"phonetic": "",
"definition": "sông",
"example": null,
"image_url": null,
"audio_tts_text": "river",
"audio_lang": "en-US",
"display_order": 57
},
{
"word": "rodent",
"part_of_speech": "/ˈrəʊdnt/",
"phonetic": "",
"definition": "loài gặm nhấm",
"example": null,
"image_url": null,
"audio_tts_text": "rodent",
"audio_lang": "en-US",
"display_order": 58
},
{
"word": "root",
"part_of_speech": "/ruːt/",
"phonetic": "",
"definition": "rễ cây",
"example": null,
"image_url": null,
"audio_tts_text": "root",
"audio_lang": "en-US",
"display_order": 59
},
{
"word": "seabird",
"part_of_speech": "/ˈsiːːrd/",
"phonetic": "",
"definition": "chim biển",
"example": null,
"image_url": null,
"audio_tts_text": "seabird",
"audio_lang": "en-US",
"display_order": 60
},
{
"word": "seed",
"part_of_speech": "/siːd/",
"phonetic": "",
"definition": "hạt giống",
"example": null,
"image_url": null,
"audio_tts_text": "seed",
"audio_lang": "en-US",
"display_order": 61
},
{
"word": "species",
"part_of_speech": "/ˈspiːʃiːz/",
"phonetic": "",
"definition": "loài",
"example": null,
"image_url": null,
"audio_tts_text": "species",
"audio_lang": "en-US",
"display_order": 62
},
{
"word": "stem",
"part_of_speech": "/stem/",
"phonetic": "",
"definition": "thân cây",
"example": null,
"image_url": null,
"audio_tts_text": "stem",
"audio_lang": "en-US",
"display_order": 63
},
{
"word": "storm",
"part_of_speech": "/stɔːrm/",
"phonetic": "",
"definition": "bão",
"example": null,
"image_url": null,
"audio_tts_text": "storm",
"audio_lang": "en-US",
"display_order": 64
},
{
"word": "tornado",
"part_of_speech": "/tɔːrˈneɪdəʊ/",
"phonetic": "",
"definition": "lốc xoáy",
"example": null,
"image_url": null,
"audio_tts_text": "tornado",
"audio_lang": "en-US",
"display_order": 65
},
{
"word": "trunk",
"part_of_speech": "/trʌŋk/",
"phonetic": "",
"definition": "thân cây",
"example": null,
"image_url": null,
"audio_tts_text": "trunk",
"audio_lang": "en-US",
"display_order": 66
},
{
"word": "twig",
"part_of_speech": "/twɪɡ/",
"phonetic": "",
"definition": "cành con",
"example": null,
"image_url": null,
"audio_tts_text": "twig",
"audio_lang": "en-US",
"display_order": 67
},
{
"word": "typhoon",
"part_of_speech": "/taɪˈfuːn/",
"phonetic": "",
"definition": "bão nhiệt đới",
"example": null,
"image_url": null,
"audio_tts_text": "typhoon",
"audio_lang": "en-US",
"display_order": 68
},
{
"word": "valley",
"part_of_speech": "/ˈvæli/",
"phonetic": "",
"definition": "thung lũng",
"example": null,
"image_url": null,
"audio_tts_text": "valley",
"audio_lang": "en-US",
"display_order": 69
},
{
"word": "village",
"part_of_speech": "/ˈvɪlɪdʒ/",
"phonetic": "",
"definition": "làng",
"example": null,
"image_url": null,
"audio_tts_text": "village",
"audio_lang": "en-US",
"display_order": 70
},
{
"word": "volcano",
"part_of_speech": "/vɑːlˈkeɪnəʊ/",
"phonetic": "",
"definition": "núi lửa",
"example": null,
"image_url": null,
"audio_tts_text": "volcano",
"audio_lang": "en-US",
"display_order": 71
},
{
"word": "waterfall",
"part_of_speech": "/ˈːtərfɔːl/",
"phonetic": "",
"definition": "thác nước",
"example": null,
"image_url": null,
"audio_tts_text": "waterfall",
"audio_lang": "en-US",
"display_order": 72
},
{
"word": "whale",
"part_of_speech": "/weɪl/",
"phonetic": "",
"definition": "cá voi",
"example": null,
"image_url": null,
"audio_tts_text": "whale",
"audio_lang": "en-US",
"display_order": 73
}
]

Some files were not shown because too many files have changed in this diff Show More