Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions data/Coffee.json
Original file line number Diff line number Diff line change
Expand Up @@ -182,5 +182,57 @@
"coffee2": "Flat White",
"comparisonDescription": "Macchiato is a strong coffee drink made with espresso and a small amount of milk, while Flat White consists of espresso topped with a thin layer of steamed milk. Macchiato has a high caffeine content and a smaller serving size of 30-60ml, whereas Flat White has a medium caffeine content and a serving size of 180ml."
}
],
"coffeebeans": [
{
"id": 1,
"name": "Arabica",
"description": "Arabica is the most widely consumed coffee bean variety, known for its smooth, mild, and nuanced flavor profile. It often has sweet, fruity, and floral notes with a hint of acidity, which can range from crisp to wine-like. Arabica beans are grown at high altitudes, typically above 600 meters, and are more susceptible to pests and diseases, making them more expensive. They account for about 60-70% of global coffee production."
},
{
"id": 2,
"name": "Robusta",
"description": "Robusta beans are known for their strong, bold, and bitter flavor, often described as earthy or nutty with a hint of chocolate. They have nearly double the caffeine content of Arabica, giving them a harsher, more intense taste. Robusta is easier to grow, resistant to pests and diseases, and thrives at lower altitudes, which makes it more affordable. It is commonly used in espresso blends for its crema and in instant coffee."
},
{
"id": 3,
"name": "Liberica",
"description": "Liberica is a rare variety of coffee bean, known for its unique smoky, woody, and floral flavors, with a somewhat fruity undertone. The beans themselves are irregular in size and shape, which contributes to their distinctive aroma and taste. Liberica is mainly grown in Southeast Asia, particularly in the Philippines, and represents only a small percentage of the world’s coffee production. It is considered an acquired taste due to its bold, unusual flavor profile."
},
{
"id": 4,
"name": "Excelsa",
"description": "Excelsa is a variety of Liberica, but it has a very different flavor profile, often described as tart and fruity with a more complex, layered taste. It is used primarily in coffee blends to add depth and a mysterious twist to the flavor. Excelsa beans are grown in Southeast Asia and are relatively rare. The beans are smaller and rounder compared to other varieties, and they are often roasted dark to highlight their fruity and wine-like characteristics."
},
{
"id": 5,
"name": "Maragogipe",
"description": "Maragogipe, also known as 'Elephant Bean' due to its unusually large size, is a mutation of the Arabica bean. It has a mild and delicate flavor with a smooth body and low acidity, often characterized by floral and fruity notes. Maragogipe beans are rare and highly prized, especially in regions like Central and South America, where they are primarily grown."
},
{
"id": 6,
"name": "Bourbon",
"description": "Bourbon is a variety of Arabica that is cherished for its rich, sweet flavor profile. It often features complex notes of caramel, chocolate, and red fruit. Bourbon beans are known for their high-quality yield and are grown in countries like Brazil, Rwanda, and Burundi. The plant is more susceptible to diseases, which makes its production limited and more costly."
},
{
"id": 7,
"name": "Typica",
"description": "Typica is one of the oldest and most foundational Arabica varieties. It is known for producing high-quality coffee with clean, sweet flavors, often accompanied by fruity or floral notes. While Typica plants have lower yields compared to other varieties, they are still sought after for their excellent cup quality, particularly in specialty coffee markets."
},
{
"id": 8,
"name": "Catuai",
"description": "Catuai is a hybrid coffee variety derived from the Mundo Novo and Caturra plants. It is known for its high yields and resistance to wind and weather conditions. Catuai beans typically have a balanced flavor profile, with moderate acidity and sweetness, and are commonly grown in Brazil and Central America."
},
{
"id": 9,
"name": "SL28",
"description": "SL28 is a coffee variety known for its drought resistance and its ability to produce exceptionally high-quality beans. Originating in Kenya, SL28 is prized for its bright acidity, juicy fruit notes, and rich body. The flavor is often complex, with citrus, berry, and wine-like characteristics. It is a favorite among specialty coffee producers."
},
{
"id": 10,
"name": "Geisha",
"description": "Geisha (or Gesha) is one of the most expensive and sought-after coffee varieties, known for its exceptional and complex flavor profile. Originating from Ethiopia and now grown in countries like Panama, Geisha beans are famous for their floral aroma, vibrant acidity, and unique tasting notes that include jasmine, tropical fruit, and bergamot. Geisha beans have won numerous awards in coffee competitions and are considered a luxury among coffee connoisseurs."
}
]
}
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"@emotion/react": "^11.13.3",
"@emotion/styled": "^11.13.0",
"@reduxjs/toolkit": "^2.3.0",
"axios": "^1.7.7",
"framer-motion": "^11.5.4",
"json-server": "1.0.0-beta.1",
"path": "^0.12.7",
Expand All @@ -27,6 +28,7 @@
"react-dom": "^18.3.1",
"react-redux": "^9.1.2",
"react-router-dom": "^6.25.1",
"swiper": "^11.1.14",
"typescript-eslint": "^7.17.0"
},
"devDependencies": {
Expand Down
82 changes: 82 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions src/Assets/css/index.css
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@
@tailwind components;
@tailwind utilities;

.swiper-slide {
display: flex; /* Center content within the slide */
align-items: center; /* Vertically center */
justify-content: center; /* Horizontally center */
height: 100%; /* Make slides fill the container height */
}
a {
padding: 0;
}
Expand Down
13 changes: 0 additions & 13 deletions src/Views/Footer/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,8 @@ import "@public/logo/logo.svg";
import IdMaker from "./Footer_id_maker";
import { useTranslation } from "react-i18next";

// Just for test the store
import { useAppSelector, useAppDispatch } from "@/Hooks/hook";
import { increment, decrement } from "@/State/example";

const Footer = () => {
// just for test
const count = useAppSelector((state: any) => state.counter.value);
const dispatch = useAppDispatch();

const { t } = useTranslation();
const developers = [
Expand All @@ -28,13 +22,6 @@ const Footer = () => {
];
return (
<>
<h1 className="p-4 hover:cursor-pointer" onClick={() => dispatch(increment())}>
increment
</h1>
<h3>{count}</h3>
<h2 className="p-4 hover:cursor-pointer" onClick={() => dispatch(decrement())}>
decrement
</h2>
<footer className="w-full h-96 bg-coffee-brown lg:h-72">
<div className="h-full w-full flex px-10 py-6 lg:px-6 lg:py-4 md:px-4 footers">
<div className="flex gap-5 justify-center md:gap-2">
Expand Down
6 changes: 4 additions & 2 deletions src/Views/Home/AboutCoffee.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ interface CoffeeBean {
}

const AboutCoffee = () => {
const BASE_URL = process.env.BASE_URL;

const [coffeeData, setCoffeeData] = useState<CoffeeBean[]>([]);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(false);
Expand All @@ -17,7 +19,7 @@ const AboutCoffee = () => {
useEffect(() => {
const fetchData = async () => {
try {
const res = await fetch("/data/CoffeeBeansTypes.json");
const res = await fetch(`${BASE_URL}/coffeebeans`);
if (!res.ok) {
throw new Error("Network response was not ok");
}
Expand All @@ -31,7 +33,7 @@ const AboutCoffee = () => {
};

fetchData();
}, []);
}, [BASE_URL]);

const handleNext = () => {
setCurrentIndex((prevIndex) => (prevIndex + 1) % coffeeData.length);
Expand Down
Loading