Commit ae1c36bc authored by Azam Khan's avatar Azam Khan

initial commit

parent e51b51d7
# 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
{
"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"
]
}
}
{
"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
¸¸¸
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>HLAFLY</title>
</head>
<body>
<div id="root"></div>
</body>
</html>
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 (
<>
<Navbar />
<div className="container mt-4">
<Routes>
<Route path="/" element={<Home />} />
<Route path="/flights" element={<Flights />} />
<Route path="/hotels" element={<Hotels />} />
<Route path="/packages" element={<Packages />} />
</Routes>
</div>
<Footer />
</>
);
}
export default App;
import React from "react";
const Footer = () => {
return (
<footer className="bg-light text-center py-3 mt-4">
<p>&copy; 2025 HLAFLY. All rights reserved.</p>
</footer>
);
};
export default Footer;
\ No newline at end of file
import React from "react";
import { Link } from "react-router-dom";
import "bootstrap/dist/css/bootstrap.min.css";
const Navbar = () => {
return (
<nav className="navbar navbar-expand-lg navbar-light bg-light">
<div className="container">
<Link className="navbar-brand" to="/">HLAFLY</Link>
<div className="collapse navbar-collapse">
<ul className="navbar-nav ms-auto">
<li className="nav-item"><Link className="nav-link" to="/flights">Flights</Link></li>
<li className="nav-item"><Link className="nav-link" to="/hotels">Hotels</Link></li>
<li className="nav-item"><Link className="nav-link" to="/packages">Packages</Link></li>
</ul>
</div>
</div>
</nav>
);
};
export default Navbar;
\ No newline at end of file
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;
}
};
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 };
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(
<BrowserRouter>
<App />
</BrowserRouter>
);
\ No newline at end of file
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 (
<div className="container mt-5">
<h1>Available Flights</h1>
<ul>
{flights.map((flight, index) => (
<li key={index}>{flight.name} - {flight.price}</li>
))}
</ul>
</div>
);
};
export default Flights;
import React from "react";
const Home = () => {
return (
<div>
<h1>Welcome to HLAFLY</h1>
<p>Your one-stop solution for flights, hotels, and travel packages.</p>
</div>
);
};
export default Home;
import React from "react";
const Home = () => {
return (
<div>
<h1>Welcome to Hotels</h1>
<p>Your one-stop for Hotels</p>
</div>
);
};
export default Home;
import React from "react";
const Home = () => {
return (
<div>
<h1>Welcome to Packages</h1>
<p>Your one-stop for Packages</p>
</div>
);
};
export default Home;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment