diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..a1d436198fe445121b0563c9047d1fd91a703911
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,37 @@
+# Node modules
+node_modules/
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+# Environment variables
+.env
+.env.local
+.env.development.local
+.env.test.local
+.env.production.local
+
+# Build output
+build/
+dist/
+
+# Logs
+logs/
+*.log
+yarn.lock
+package-lock.json
+
+# Dependency directories
+/.pnp
+.pnp.js
+
+# IDE and editor files
+.vscode/
+.idea/
+*.swp
+*.swo
+
+# Miscellaneous
+.DS_Store
+Thumbs.db
diff --git a/package.json b/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..3ce8873ba261865411013a1dd64d0c9fd567c2d1
--- /dev/null
+++ b/package.json
@@ -0,0 +1,40 @@
+{
+ "name": "b2cr",
+ "version": "1.0.0",
+ "author": "Azam Khan",
+ "description": "React js b2c application initial",
+ "main": "index.js",
+ "scripts": {
+ "start": "PORT=8080 react-scripts start",
+ "build": "react-scripts build",
+ "test": "react-scripts test",
+ "eject": "react-scripts eject"
+ },
+ "repository": {
+ "type": "git",
+ "url": "http://git.hlafly.com/azamkhan/b2cr.git"
+ },
+ "keywords": [],
+ "license": "ISC",
+ "type": "module",
+ "dependencies": {
+ "axios": "^1.8.4",
+ "bootstrap": "^5.3.3",
+ "react": "^19.1.0",
+ "react-dom": "^19.1.0",
+ "react-router-dom": "^7.4.1",
+ "react-scripts": "^5.0.1"
+ },
+ "browserslist": {
+ "production": [
+ ">0.2%",
+ "not dead",
+ "not op_mini all"
+ ],
+ "development": [
+ "last 1 chrome version",
+ "last 1 firefox version",
+ "last 1 safari version"
+ ]
+ }
+}
diff --git a/package.json.save b/package.json.save
new file mode 100644
index 0000000000000000000000000000000000000000..8a1e08bbeb559e434b098d5e444a9c9bdd1e8ad4
--- /dev/null
+++ b/package.json.save
@@ -0,0 +1,27 @@
+{
+ "name": "b2cr",
+ "version": "1.0.0",
+ "description": "React js b2c application initial",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "repository": {
+ "type": "git",
+ "url": "http://git.hlafly.com/azamkhan/b2cr.git"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "type": "commonjs",
+ "dependencies": {
+ "bootstrap": "^5.3.3",
+ "react": "^19.1.0",
+ "react-dom": "^19.1.0",
+ "react-router-dom": "^7.4.1"
+ }
+}
+
+npm install react-scripts --save
+
+¸¸¸
diff --git a/public/index.html b/public/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..efff2d09653bc559cce0ff113eeab8587ebc38f9
--- /dev/null
+++ b/public/index.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+ HLAFLY
+
+
+
+
+
diff --git a/src/App.js b/src/App.js
new file mode 100644
index 0000000000000000000000000000000000000000..1fbf3041f408b8bc9263c3d0b6e72326536f550e
--- /dev/null
+++ b/src/App.js
@@ -0,0 +1,27 @@
+import { Route, Routes } from "react-router-dom";
+import Home from "./pages/Home.js";
+import Flights from "./pages/Flights.js";
+import Hotels from "./pages/Hotels.js";
+import Packages from "./pages/Packages.js";
+import Navbar from "./components/Navbar.js";
+import Footer from "./components/Footer.js";
+
+
+function App() {
+ return (
+ <>
+
+
+
+ } />
+ } />
+ } />
+ } />
+
+
+
+ >
+ );
+}
+
+export default App;
diff --git a/src/components/Footer.js b/src/components/Footer.js
new file mode 100644
index 0000000000000000000000000000000000000000..77c76e93c5533f88eaab16cd5671095f35c5ba65
--- /dev/null
+++ b/src/components/Footer.js
@@ -0,0 +1,11 @@
+import React from "react";
+
+const Footer = () => {
+ return (
+
+ );
+};
+
+export default Footer;
\ No newline at end of file
diff --git a/src/components/Navbar.js b/src/components/Navbar.js
new file mode 100644
index 0000000000000000000000000000000000000000..bb4e444550fa6a9e2ed314742c9ecddf4375154b
--- /dev/null
+++ b/src/components/Navbar.js
@@ -0,0 +1,22 @@
+import React from "react";
+import { Link } from "react-router-dom";
+import "bootstrap/dist/css/bootstrap.min.css";
+
+const Navbar = () => {
+ return (
+
+ );
+};
+
+export default Navbar;
\ No newline at end of file
diff --git a/src/config/api.js b/src/config/api.js
new file mode 100644
index 0000000000000000000000000000000000000000..f892bf179aa18646f425c0e586f40dc55342945b
--- /dev/null
+++ b/src/config/api.js
@@ -0,0 +1,39 @@
+import axios from "axios";
+import { API_ENDPOINTS } from "./index.js";
+
+const apiClient = axios.create({
+ baseURL: API_ENDPOINTS,
+ headers: {
+ "Content-Type": "application/json",
+ },
+});
+
+export const fetchFlights = async () => {
+ try {
+ const response = await apiClient.get("/flights");
+ return response.data;
+ } catch (error) {
+ console.error("Error fetching flights:", error);
+ throw error;
+ }
+};
+
+export const fetchHotels = async () => {
+ try {
+ const response = await apiClient.get("/hotels");
+ return response.data;
+ } catch (error) {
+ console.error("Error fetching hotels:", error);
+ throw error;
+ }
+};
+
+export const fetchPackages = async () => {
+ try {
+ const response = await apiClient.get("/packages");
+ return response.data;
+ } catch (error) {
+ console.error("Error fetching packages:", error);
+ throw error;
+ }
+};
diff --git a/src/config/index.js b/src/config/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..c0a493b90be741a99bbea8e552014225875f52de
--- /dev/null
+++ b/src/config/index.js
@@ -0,0 +1,9 @@
+const API_BASE_URL = "https://api.example.com"; // Replace with your actual API base URL
+
+const API_ENDPOINTS = {
+ flights: `${API_BASE_URL}/flights`,
+ hotels: `${API_BASE_URL}/hotels`,
+ packages: `${API_BASE_URL}/packages`,
+};
+
+export { API_BASE_URL, API_ENDPOINTS };
diff --git a/src/index.js b/src/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..adcd43af6075469e1b211d1c0e83a11f887c29f9
--- /dev/null
+++ b/src/index.js
@@ -0,0 +1,11 @@
+import React from "react";
+import ReactDOM from "react-dom/client";
+import App from "./App.js";
+import { BrowserRouter } from "react-router-dom";
+
+const root = ReactDOM.createRoot(document.getElementById("root"));
+root.render(
+
+
+
+);
\ No newline at end of file
diff --git a/src/pages/Flights.js b/src/pages/Flights.js
new file mode 100644
index 0000000000000000000000000000000000000000..dd1e89b60503ed67c479ac978e59cc880daa0c44
--- /dev/null
+++ b/src/pages/Flights.js
@@ -0,0 +1,25 @@
+import React, { useEffect, useState } from "react";
+import { fetchFlights } from "../config/api.js";
+
+const Flights = () => {
+ const [flights, setFlights] = useState([]);
+
+ useEffect(() => {
+ fetchFlights()
+ .then((data) => setFlights(data))
+ .catch((error) => console.error(error));
+ }, []);
+
+ return (
+
+
Available Flights
+
+ {flights.map((flight, index) => (
+ - {flight.name} - {flight.price}
+ ))}
+
+
+ );
+};
+
+export default Flights;
diff --git a/src/pages/Home.js b/src/pages/Home.js
new file mode 100644
index 0000000000000000000000000000000000000000..5dd37a16ac166540f20f4dc7e132a26a7985712e
--- /dev/null
+++ b/src/pages/Home.js
@@ -0,0 +1,12 @@
+import React from "react";
+
+const Home = () => {
+ return (
+
+
Welcome to HLAFLY
+
Your one-stop solution for flights, hotels, and travel packages.
+
+ );
+};
+
+export default Home;
diff --git a/src/pages/Hotels.js b/src/pages/Hotels.js
new file mode 100644
index 0000000000000000000000000000000000000000..6df30add14a57193f1ba22f49cfd61a4fe1a2ec3
--- /dev/null
+++ b/src/pages/Hotels.js
@@ -0,0 +1,12 @@
+import React from "react";
+
+const Home = () => {
+ return (
+
+
Welcome to Hotels
+
Your one-stop for Hotels
+
+ );
+};
+
+export default Home;
diff --git a/src/pages/Packages.js b/src/pages/Packages.js
new file mode 100644
index 0000000000000000000000000000000000000000..b392ecbcdc428726afc950ed90768fa9db137507
--- /dev/null
+++ b/src/pages/Packages.js
@@ -0,0 +1,12 @@
+import React from "react";
+
+const Home = () => {
+ return (
+
+
Welcome to Packages
+
Your one-stop for Packages
+
+ );
+};
+
+export default Home;