Whole Lab Manual-CPAD
Whole Lab Manual-CPAD
Lab Manual
Practical - Cross Platform App
Development
Class - T.Y. IT
Batch - SMAD
Name of the Student
Mr. Vikrant Sushil Vani
Project-I
Project Title: ReactJS E-Commerce Website with Page Routing
Project Statement:
Objective:
Develop a fully functional E-commerce website using ReactJS that includes page
routing functionality for smooth navigation between different sections like Home,
Product Listing, Product Details, Cart, and Checkout.
Project Features:
Technical Requirements:
Expected Outcome:
Project-II
Project Title: React Native E-Commerce Application
Project Statement:
Objective:
Build a fully functional E-commerce mobile application using React Native that
integrates navigation, core components, user interaction, dynamic list rendering, and
state management.
Project Features:
1. User Authentication:
○Implement a simple login screen where users can enter their
credentials (username and password).
○After successful login, navigate to the Home Screen.
2. Navigation:
○Set up react-navigation to allow users to navigate between the
following screens using StackNavigator:
■ Home Screen: Displays a list of products.
■ Product Details Screen: Shows details of the selected product.
■ Cart Screen: Displays products added to the shopping cart.
■ Profile Screen: Displays user profile details.
■ Settings Screen: Allows the user to modify their account
settings.
3. Core Components & UI:
○Use core React Native components such as View, Text, Image,
StyleSheet, and Button to build a user-friendly interface.
○Apply Flexbox for layout, ensuring responsiveness across different
screen sizes.
4. Product List and Cart:
MIT ADT University, Pune
○On the Home Screen, render the list of products using FlatList. Each
item should display a product image, name, and price.
○Implement a button for each product to add it to the Cart.
5. Handling User Interactions:
○Implement touch events to handle interactions such as adding products
to the cart, navigating to the product details, and updating the cart.
○Use onPress to trigger actions like adding a product to the cart or
navigating between screens.
6. Cart Management:
○Use React Context API for global state management to handle the cart’s
data (adding/removing products).
○Show the cart’s content and total price on the Cart Screen.
7. Product Details:
○When a user clicks on a product in the Home Screen, navigate to the
Product Details Screen and display detailed information about the
product, such as the description, image, and price.
8. Responsive Design:
○Ensure that the app is responsive, and elements adjust properly to
different screen sizes using Flexbox.
9. Rendering Lists with SectionList:
○On the Home Screen, group products by categories (e.g., electronics,
clothing) and use SectionList to render them in separate sections with
headers.
Technical Requirements:
Expected Outcome:
Experiment No.1
Problem Statement:
The automobile industry is evolving rapidly with constant updates in car models, technologies, and
consumer preferences. However, car enthusiasts and buyers often lack a centralized, user-friendly
platform to access up-to-date car news, detailed reviews, galleries, and service options.
TurboTalks aims to solve this gap by developing a modern, responsive, and intuitive React-based
single-page website that acts as a comprehensive car blogging platform.
Objective:
1. Develop a Responsive Car Blog Website using React.js that works seamlessly across devices.
2. Showcase Car News and Reviews in an organized and engaging manner for car enthusiasts.
3. Display High-Quality Image Galleries of various cars with responsive layouts.
4. Implement a Services Section offering car-related services (e.g., detailing, maintenance) that
users can add to a cart.
5. Enable Cart Functionality using browser storage to simulate user selections and provide a
real-world experience
Theory:
1. React.js Framework
○ Component-based architecture for reusability and modular development.
○ Functional components and JSX for rendering UI elements.
2. React Router
○ Enables client-side routing for seamless navigation between pages without reloading.
3. State Management with useState and useEffect
○ Manages dynamic data like cart items and allows local component-based logic.
4. LocalStorage API
○ Stores cart data persistently across sessions on the browser side.
5. CSS Modules / Inline Styling
○ For component-specific styling and maintaining a clean UI (dark theme, hover effects,
responsive design).
6. Responsive Web Design (RWD)
○ Media queries and flexbox used to adapt layout for different screen sizes.
7. Event Handling in React
○ Click events (e.g., Add to Cart, Remove from Cart) to update UI and local state.
8. Component Reusability
○ Building reusable components for navbars, service cards, footers, etc., promoting cleaner code.
Code:
MIT ADT University, Pune
1. App.js -
import "./App.css";
function App() {
return (
<Router>
<Routes>
</Routes>
</Router>
);
2. Login.jsx -
MIT ADT University, Pune
import "../css/login.css";
function LoginPage() {
username: "",
password: "",
});
username: false,
password: false,
});
setFormData((prev) => ({
...prev,
[name]: value,
}));
setIsValid((prev) => ({
...prev,
}));
const passwordRegex =
/^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,16}$/;
setIsValid((prev) => ({
...prev,
MIT ADT University, Pune
password: passwordRegex.test(value),
}));
};
e.preventDefault();
setShowPassword(!showPassword);
};
e.preventDefault();
navigate("/home");
};
return (
<div className="loginContainer">
<div>
<h3 className="heading">
<a href="https://accounts.google.com/v3/signin/identifier?hl=en-
gb&ifkv=ASKXGp3t4IG5KeJP87H40h4aBdRScxhnTvw1Bty8N8ijI0NwG9G1Yy5CRNb7sXkJhXEybkdo8twjlw&f
lowName=GlifWebSignIn&flowEntry=ServiceLogin&dsh=S252556771%3A1706118587831152&theme=glif"
className="signInLink"
target="_blank"
rel="noopener noreferrer"
>
</a>
</h3>
<h3 className="heading">OR</h3>
</div>
<div>
<input
type="text"
placeholder="Username/Email"
name="username"
value={formData.username}
onChange={handleInputChange}
/>
<div className="passwordContainer">
<input
placeholder="Password"
name="password"
value={formData.password}
onChange={handleInputChange}
/>
<button
onClick={togglePasswordVisibility}
className="showPassButton"
>
</button>
</div>
<button
type="submit"
className="loginButton"
>
LOGIN
</button>
</Link>
</div>
</form>
</div>
);
Output:
3. Registration.jsx -
import "../css/registration.css";
function RegistrationPage() {
fullname: "",
email: "",
password: "",
cpassword: "",
phone: "",
state: "",
newsletter: false,
terms: false,
});
fullname: false,
email: false,
password: false,
cpassword: false,
phone: false,
state: false,
});
setFormData((prev) => ({
...prev,
}));
setIsValid((prev) => ({
...prev,
}));
setIsValid((prev) => ({
...prev,
email: emailPattern.test(value),
}));
const passwordRegex =
/^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,16}$/;
setIsValid((prev) => ({
...prev,
password: passwordRegex.test(value),
}));
setIsValid((prev) => ({
...prev,
}));
setIsValid((prev) => ({
...prev,
phone: phonePattern.test(value),
}));
setIsValid((prev) => ({
...prev,
}));
MIT ADT University, Pune
};
e.preventDefault();
};
};
return (
<div className="registrationContainer">
<input
type="text"
className="name"
placeholder="Full Name"
name="fullname"
value={formData.fullname}
onChange={handleInputChange}
/>
<input
type="email"
className="email"
placeholder="Email"
name="email"
value={formData.email}
onChange={handleInputChange}
/>
MIT ADT University, Pune
<div className="password-cpassword-row">
<input
type="password"
className="password"
placeholder="Password"
name="password"
value={formData.password}
onChange={handleInputChange}
/>
<input
type="password"
className="cpassword"
placeholder="Confirm Password"
name="cpassword"
value={formData.cpassword}
onChange={handleInputChange}
/>
</div>
<div className="number-menu-row">
<input
type="text"
className="number"
placeholder="Contact Number"
name="phone"
value={formData.phone}
onChange={handleInputChange}
/>
<select
className="menu"
name="state"
MIT ADT University, Pune
value={formData.state}
onChange={handleInputChange}>
<option value="Assam">Assam</option>
<option value="Bihar">Bihar</option>
<option value="Chattisgarh">Chattisgarh</option>
<option value="Goa">Goa</option>
<option value="Gujarat">Gujarat</option>
<option value="Haryana">Haryana</option>
<option value="Jharkand">Jharkand</option>
<option value="Karnataka">Karnataka</option>
<option value="Kerala">Kerala</option>
<option value="Maharashtra">Maharashtra</option>
<option value="Manipur">Manipur</option>
<option value="Meghalaya">Meghalaya</option>
<option value="Mizoram">Mizoram</option>
<option value="Nagaland">Nagaland</option>
<option value="Odisha">Odisha</option>
<option value="Punjab">Punjab</option>
<option value="Rajasthan">Rajasthan</option>
<option value="Sikkim">Sikkim</option>
<option value="Telangana">Telangana</option>
<option value="Tripura">Tripura</option>
<option value="Uttarakhand">Uttarakhand</option>
MIT ADT University, Pune
</select>
</div>
<div className="checkbox-row">
<label>
<input
type="checkbox"
name="newsletter"
checked={formData.newsletter}
onChange={handleInputChange}
/>
</label>
<label>
<input
type="checkbox"
name="terms"
checked={formData.terms}
onChange={handleInputChange}
/>
</label>
</div>
<button
type="submit"
className="registerButton"
disabled={!isFormValid()}
>
REGISTER
</button>
MIT ADT University, Pune
<div>
Login Here!
</Link>
</div>
</form>
</div>
);
Output:
4. Home.jsx -
import "../css/home.css";
function HomePage() {
return (
<>
<div className="navdiv">
<header>
</header>
<nav>
Home
</Link>
<Link to="/servicepage">Services</Link>
Cart
</Link>
<Link to="/login">
<button className="login-btn">LOGIN</button>
MIT ADT University, Pune
</Link>
</nav>
</div>
<div className="image-container">
<div className="car-section">
<div className="car">
<p>
crore!
</p>
</div>
<div className="car">
<p>
</p>
</div>
<div className="car">
<p>
</p>
</div>
<div className="car">
<p>
</p>
</div>
<div className="car">
<p>
it can also outpace most sports cars with its AMG GT-derived
</p>
</div>
<div className="car">
<p>
</p>
</div>
</div>
</div>
</div>
<div className="opinions-section">
<h2>Opinions on Cars</h2>
<div className="car-opinion">
MIT ADT University, Pune
<div className="opinion-info">
<h3>Mercedes-Maybach S Class</h3>
<p>
</p>
</div>
</div>
<div className="car-opinion">
<div className="opinion-info">
<p>
GT3rs. One thing has certainly been true of the five previous GT3
Ferrari, Lamborghini and everyone else wouldn't see which way the
</p>
</div>
</div>
<div className="car-opinion">
MIT ADT University, Pune
<div className="opinion-info">
<h3>BMW M5 CS</h3>
<p>
Forget about the fact the M5 CS only gets 7kW more power than the
simply, the best all-round sports sedan I've ever driven, even
though it's difficult to call out any one aspect of the car that
</p>
</div>
</div>
<div className="car-opinion">
<div className="opinion-info">
<p>
and engineering prowess. The Jesko doesn't just excel in power but
weapon.
</p>
</div>
MIT ADT University, Pune
</div>
</div>
<footer>
<p>
<a href="mailto:[email protected]">
</a>
</p>
<ul className="socials">
<li>
<a
href="https://www.linkedin.com/in/vikrant-vani-96b329209/"
target="_blank"
rel="noopener noreferrer"
title="Linkedin"
>
<FaLinkedin />
</a>
</li>
<li>
<a
href="https://github.com/codeby-vikrant"
target="_blank"
rel="noopener noreferrer"
title="Github"
>
<FaGithub />
</a>
</li>
MIT ADT University, Pune
<li>
<a
href="https://www.instagram.com/_.vikrant_10._/"
target="_blank"
rel="noopener noreferrer"
title="instagram"
>
<FaInstagram />
</a>
</li>
</ul>
</footer>
</>
);
Output:
MIT ADT University, Pune
5. CarNews.jsx
MIT ADT University, Pune
import "../css/carnews.css";
function CarNewsPage() {
return (
<>
<div className="navdiv">
<header>
</header>
<nav>
<Link to="/home">Home</Link>
Car News
</Link>
<Link to="/servicepage">Services</Link>
MIT ADT University, Pune
Cart
</Link>
<Link to="/login">
<button className="login-btn">LOGIN</button>
</Link>
</nav>
</div>
<div className="main-content">
<p>
Stay updated with the latest car news, reviews, and features right
here.
</p>
</div>
<div className="car-section">
<div className="car">
<p className="title">
</p>
<p>
claim
</p>
</div>
<div className="car">
<p className="title">
MIT ADT University, Pune
field
</p>
<p>
New and existing players will be able to benefit from this policy
</p>
</div>
<div className="car">
<p>
</p>
</div>
<div className="car">
<p>
Cold brakes that haven't been used or warmed up can catch you
unaware.
</p>
</div>
<div className="car">
<p className="title">
MIT ADT University, Pune
</p>
<p>
</p>
</div>
<div className="car">
<p className="title">
</p>
<p>
</p>
</div>
<div className="car">
<p className="title">
</p>
<p>
The Duster's comeback can be easy but there are a few hurdles
</p>
</div>
MIT ADT University, Pune
<div className="car">
<p className="title">
</p>
<p>
</p>
</div>
<div className="car">
<p className="title">
</p>
<p>
Regulations have made our cars safer, but road infrastructure and
</p>
</div>
<div className="car">
<p className="title">
</p>
<p>
When it comes to luxury cars, very often it's the product that holds
MIT ADT University, Pune
</p>
</div>
<div className="car">
<p>
</p>
</div>
<div className="car">
<p>
New car prices have shot up recently due to tighter emissions norms,
</p>
</div>
</div>
<footer>
<p>
<a href="mailto:[email protected]">
</a>
</p>
<ul className="socials">
MIT ADT University, Pune
<li>
<a
href="https://www.linkedin.com/in/vikrant-vani-96b329209/"
target="_blank"
rel="noopener noreferrer"
title="Linkedin"
>
<FaLinkedin />
</a>
</li>
<li>
<a
href="https://github.com/codeby-vikrant"
target="_blank"
rel="noopener noreferrer"
title="Github"
>
<FaGithub />
</a>
</li>
<li>
<a
href="https://www.instagram.com/_.vikrant_10._/"
target="_blank"
rel="noopener noreferrer"
title="instagram"
>
<FaInstagram />
</a>
</li>
MIT ADT University, Pune
</ul>
</footer>
</>
);
Output:
6. CarReviews.jsx
import "../css/carreviews.css";
function CarReviewsPage() {
MIT ADT University, Pune
return (
<>
<div className="navdiv">
<header>
</header>
<nav>
<Link to="/home">Home</Link>
Car Reviews
</Link>
<Link to="/servicepage">Services</Link>
<Link to="/login">
<button className="login-btn">LOGIN</button>
</Link>
</nav>
</div>
<br />
<div className="main-content">
<section className="review-highlight">
<p>
</p>
MIT ADT University, Pune
</section>
<section className="reviews-list">
<div className="review-card">
<h3>
2023
</h3>
<iframe
width="200"
height="200"
src="https://www.youtube.com/embed/QQ-zS7RprDw"
frameBorder="0"
allowFullScreen
></iframe>
<p>
The new Innova HyCross has elevated its design to a new HY. The
</p>
</div>
<div className="review-card">
<iframe
width="200"
height="200"
src="https://www.youtube.com/embed/Afim_iA3038"
frameBorder="0"
MIT ADT University, Pune
allowFullScreen
></iframe>
<p>
seamlessly.
</p>
</div>
<div className="review-card">
<iframe
width="200"
height="200"
src="https://www.youtube.com/embed/cJlNpZUAe9M"
title="Lexus LX500d"
frameBorder="0"
allowFullScreen
></iframe>
<p>
</p>
</div>
</section>
<br />
<br />
<br />
MIT ADT University, Pune
<section className="review-highlight">
<p>
level.
</p>
</section>
<section className="reviews-list">
<div className="review-card">
<h3>
COMPARISON
</h3>
<iframe
width="200"
height="200"
src="https://www.youtube.com/embed/XUEMRPppTF0"
title="SUV Comparison"
frameBorder="0"
allowFullScreen
></iframe>
<p>
In this video, we compare the big names of the compact SUV, namely
the Nexon, Sonet, Brezza and Venue and do their Asli Test. We
MIT ADT University, Pune
</p>
</div>
<div className="review-card">
<h3>
</h3>
<iframe
width="200"
height="200"
src="https://www.youtube.com/embed/w5qDwXK472I"
title="Hatchback Comparison"
frameBorder="0"
allowFullScreen
></iframe>
<p>
Maruti Baleno vs Tata ALTROZ vs Hyundai i20 - which one should you
buy and why? We share all the details with you. Check it out in
</p>
</div>
<div className="review-card">
<h3>
COMPARISON
</h3>
MIT ADT University, Pune
<iframe
width="200"
height="200"
src="https://www.youtube.com/embed/CT0WS2868CI"
title="Sedan Comparison"
frameBorder="0"
allowFullScreen
></iframe>
<p>
one should you buy and why? We share all the details with you.
features, second row space, mileage, hill climb and even headlight
throw.
</p>
</div>
</section>
</div>
<footer>
<p>
<a href="mailto:[email protected]">
</a>
</p>
<ul className="socials">
<li>
<a
href="https://www.linkedin.com/in/vikrant-vani-96b329209/"
MIT ADT University, Pune
target="_blank"
rel="noopener noreferrer"
title="Linkedin"
>
<FaLinkedin />
</a>
</li>
<li>
<a
href="https://github.com/codeby-vikrant"
target="_blank"
rel="noopener noreferrer"
title="Github"
>
<FaGithub />
</a>
</li>
<li>
<a
href="https://www.instagram.com/_.vikrant_10._/"
target="_blank"
rel="noopener noreferrer"
title="instagram"
>
<FaInstagram />
</a>
</li>
</ul>
</footer>
</>
MIT ADT University, Pune
);
Output:
MIT ADT University, Pune
7. Services.jsx -
import "../css/services.css";
const products = [
name: "brake",
title: "Brake",
MIT ADT University, Pune
price: 2400,
image: brakeImg,
desc: "These are steel backing plates which are bound to the surface that faces the brake discs. Brake pads
convert the kinetic energy to thermal through friction.",
},
name: "oil",
price: 1000,
image: oilImg,
desc: "Fully Synthetic motor oil - It features the dynamic “Flexi-Molecule Technology” that constantly adapt
to boost protection, when your engine needs it most.",
},
name: "clutch",
title: "Clutch",
price: 4300,
image: clutchImg,
desc: "The clutch disc, also known as the clutch drive plate, is a part placed between the pressure plate of the
clutch cover and the flywheel. When the car clutch is engaged, the disc is squeezed between the friction
surfaces of these two parts.",
},
name: "filter",
title: "Filter",
price: 2100,
image: filterImg,
desc: "Car filter is essentially important as it guards engine from dust, dirt, sand and other contaminants.",
},
name: "mirror",
MIT ADT University, Pune
price: 1870,
image: mirrorImg,
desc: "Far Vision Car Side Door Mirrors are your most affordable OE replacement mirrors and they are
manufactured from the highest quality, corrosion-resistant materials to withstand all types of weather.",
},
name: "steer",
price: 5600,
image: steerImg,
desc: "Made from leather with carbon fiber inserts, the steering wheel exudes luxury and sophistication.",
},
];
function ServicesPage() {
useEffect(() => {
setCart(stored);
setCartCount(stored.length);
}, []);
setCart(newCart);
setCartCount(newCart.length);
localStorage.setItem("cart2", JSON.stringify(newCart));
};
MIT ADT University, Pune
return (
<>
<div className="navdiv">
<header>
</header>
<nav>
<Link to="/home">Home</Link>
Services
</Link>
</Link>
<Link to="/login">
<button className="login-btn">LOGIN</button>
</Link>
</nav>
</div>
<div className="product-cart">
{products.map((product) => (
<h4>{product.title}</h4>
<p>{product.desc}</p>
<p>Rs. {product.price}</p>
</div>
MIT ADT University, Pune
))}
</div>
<footer>
<p>
<a href="mailto:[email protected]">
</a>
</p>
<ul className="socials">
<li>
<a
href="https://www.linkedin.com/in/vikrant-vani-96b329209/"
target="_blank"
rel="noopener noreferrer"
title="Linkedin" >
<FaLinkedin />
</a>
</li>
<li>
<a
href="https://github.com/codeby-vikrant"
target="_blank"
rel="noopener noreferrer"
title="Github" >
<FaGithub />
</a>
</li>
<li>
<a
MIT ADT University, Pune
href="https://www.instagram.com/_.vikrant_10._/"
target="_blank"
rel="noopener noreferrer"
title="instagram" >
<FaInstagram />
</a>
</li>
</ul>
</footer>
</>
);
Output:
8. Cart.jsx
import "../css/cartpage.css";
MIT ADT University, Pune
function CartPage() {
useEffect(() => {
setCartItems(stored);
}, []);
setCartItems(updated);
localStorage.setItem("cart2", JSON.stringify(updated));
};
return (
<>
<div className="navdiv">
<header>
</header>
<nav>
<Link to="/home">Home</Link>
<Link to="/servicepage">Services</Link>
</Link>
<Link to="/login">
<button className="login-btn">LOGIN</button>
MIT ADT University, Pune
</Link>
</nav>
</div>
<div className="container">
<div className="cart-items">
{cartItems.length === 0 ? (
):(
cartItems.map((item) => (
<img
src={item.image}
alt={item.name.trim()}
className="item-image"
/>
<div className="item-details">
<h4>{item.title || item.name.trim()}</h4>
<p>Rs. {item.price}</p>
</div>
<button
className="remove-btn"
>
Remove
</button>
</div>
))
)}
</div>
</div>
MIT ADT University, Pune
<footer className="footer">
</footer>
</>
);
Output:
Conclusion:
The TurboTalks React Website successfully delivers a sleek, responsive, and informative platform
tailored for car enthusiasts. By leveraging the power of React.js, the project demonstrates how a
MIT ADT University, Pune
modern single-page application can provide dynamic content updates, smooth navigation, and a
user-friendly interface without page reloads.
The project also showcases a modular and scalable architecture, making it easy to maintain and
expand. With foundational components in place, the application is well-suited for further
development
MIT ADT University, Pune
Experiment No.2
Problem Statement:
Car enthusiasts and buyers often struggle to find centralized, high-quality car reviews, specifications,
and expert opinions in a mobile-friendly format. Most content is scattered across multiple websites,
lacks personalization, or isn’t optimized for mobile users. There’s a need for a sleek, responsive app
where users can explore car reviews, ratings, and trends in a simplified and engaging format.
Objective:
To develop a React Native-based mobile application named TurboTalks that provides users with:
Theory:
1. React Native & Expo – For cross-platform mobile app development using JavaScript and React.
2. Navigation (React Navigation) – To enable smooth tab and stack-based navigation.
3. Component-Based Architecture – Modular code using reusable components (cards, headers, tabs).
4. State Management (useState, useEffect) – For handling dynamic content and interactions.
5. FlatList / ScrollView – For rendering scrollable content like featured cars, reviews, etc.
6. UI/UX Principles – Clean layout, imagery, and readability to ensure a pleasant user experience.
Code:
1. Index.tsx
useEffect(() => {
setLoading(false);
}, 1000);
}, []);
if (loading) {
return (
</View>
);
return (
<ScrollView
style={styles.scrollView}
contentContainerStyle={styles.scrollContent}
showsVerticalScrollIndicator={false}
>
<WelcomeHeader />
<FeaturedContent />
<ActionCards />
</ScrollView>
</SafeAreaView>
);
}
MIT ADT University, Pune
container: {
flex: 1,
backgroundColor: '#f8f9fa',
},
darkContainer: {
backgroundColor: '#121212',
},
scrollView: {
flex: 1,
},
scrollContent: {
paddingBottom: 24,
},
centerContent: {
justifyContent: 'center',
alignItems: 'center',
},
loadingText: {
marginTop: 12,
fontSize: 16,
color: '#495057',
},
darkText: {
color: '#e9ecef',
},
infoSection: {
padding: 16,
marginHorizontal: 16,
marginTop: 24,
MIT ADT University, Pune
backgroundColor: '#ffffff',
borderRadius: 12,
shadowColor: '#000',
shadowOpacity: 0.05,
shadowRadius: 8,
elevation: 2,
},
sectionTitle: {
fontSize: 22,
fontWeight: '700',
color: '#212529',
marginBottom: 8,
},
infoText: {
fontSize: 16,
lineHeight: 24,
color: '#495057',
marginBottom: 16,
},
button: {
backgroundColor: '#228be6',
paddingVertical: 12,
paddingHorizontal: 24,
borderRadius: 8,
alignItems: 'center',
marginTop: 8,
},
buttonText: {
color: '#ffffff',
MIT ADT University, Pune
fontSize: 16,
fontWeight: '600',
},
webHover: {
cursor: 'pointer',
},
});
2. About.tsx
return (
<SafeAreaView style={styles.container}>
<ScrollView contentContainerStyle={styles.content}>
<Image
source={require('../../assets/images/profile.jpeg')}
style={styles.profileImage}
/>
<Text style={styles.bio}>
With over 5 years of experience in automotive journalism, I've had the privilege
of testing and reviewing hundreds of cars. My passion for automobiles goes beyond
just writing - I'm a true enthusiast who lives and breathes car culture.
</Text>
MIT ADT University, Pune
<View style={styles.statsContainer}>
<View style={styles.statItem}>
<Text style={styles.statNumber}>500+</Text>
</View>
<View style={styles.statItem}>
<Text style={styles.statNumber}>5+</Text>
</View>
<View style={styles.statItem}>
<Text style={styles.statNumber}>50K+</Text>
<Text style={styles.statLabel}>Followers</Text>
</View>
</View>
<View style={styles.socialLinks}>
<View style={styles.socialItem}>
<Text style={styles.socialText}>[email protected]</Text>
</View>
<View style={styles.socialItem}>
<Text style={styles.socialText}>@turbo-talks</Text>
</View>
<View style={styles.socialItem}>
</View>
</View>
</ScrollView>
</SafeAreaView>
MIT ADT University, Pune
);
container: {
flex: 1,
backgroundColor: '#121212',
},
content: {
padding: 16,
alignItems: 'center',
},
profileImage: {
width: 150,
height: 150,
borderRadius: 75,
marginBottom: 24,
},
name: {
fontSize: 24,
fontWeight: 'bold',
color: '#ffffff',
marginBottom: 8,
},
title: {
fontSize: 16,
color: '#ff3b30',
marginBottom: 16,
},
bio: {
fontSize: 16,
MIT ADT University, Pune
color: '#8e8e8e',
textAlign: 'center',
lineHeight: 24,
marginBottom: 24,
},
statsContainer: {
flexDirection: 'row',
justifyContent: 'space-around',
width: '100%',
marginBottom: 32,
},
statItem: {
alignItems: 'center',
},
statNumber: {
fontSize: 24,
fontWeight: 'bold',
color: '#ffffff',
marginBottom: 4,
},
statLabel: {
fontSize: 14,
color: '#8e8e8e',
},
socialLinks: {
width: '100%',
},
socialItem: {
flexDirection: 'row',
alignItems: 'center',
MIT ADT University, Pune
backgroundColor: '#1a1a1a',
padding: 16,
borderRadius: 12,
marginBottom: 12,
},
socialText: {
marginLeft: 12,
fontSize: 16,
color: '#ffffff',
},
});
Output:
MIT ADT University, Pune
3. Galleries.tsx
const galleryData = [
id: '1',
image: 'https://images.pexels.com/photos/3802510/pexels-photo-3802510.jpeg',
},
id: '2',
image: 'https://images.pexels.com/photos/170811/pexels-photo-170811.jpeg',
},
id: '3',
image: 'https://www.stratstone.com/-/media/stratstone/blog/2024/top-10-best-supercars-of-2024/
mclaren-750s-static-rear-1280x720px.ashx',
},
id: '4',
image: 'https://www.stratstone.com/-/media/stratstone/blog/2024/top-10-best-supercars-of-2024/
porsche-911-gt3-rs-on-nurburgring-1280x720px.ashx',
},
id: '5',
image: 'https://www.stratstone.com/-/media/stratstone/blog/2024/top-10-best-supercars-of-2024/
lamborghini-revuelto-orange-static-1920x720px.ashx',
},
id: '6',
image: 'https://www.stratstone.com/-/media/stratstone/blog/2024/top-10-best-supercars-of-2024/
ferrari-296-gtb-red-driving-dynamic-1280x720px.ashx',
},
MIT ADT University, Pune
id: '7',
image: 'https://www.stratstone.com/-/media/stratstone/blog/2024/top-10-best-supercars-of-2024/
maserati-mc20-doors-up-1280x720px.ashx',
},
id: '8',
image: 'https://www.stratstone.com/-/media/stratstone/blog/2024/top-10-best-supercars-of-2024/
lamborghini-huracan-technica-dramatic-1280x720px.ashx',
},
id: '9',
image: 'https://www.stratstone.com/-/media/stratstone/blog/2024/top-10-best-supercars-of-2024/
mclaren-artura-static-front-1280x720px.ashx',
},
id: '10',
image: 'https://www.stratstone.com/-/media/stratstone/blog/2024/top-10-best-supercars-of-2024/audi-
r8-v10-dynamic-red-1280x720px.ashx',
},
];
return (
<SafeAreaView style={styles.container}>
<FlatList
data={galleryData}
<View style={styles.imageContainer}>
</View>
MIT ADT University, Pune
)}
numColumns={2}
contentContainerStyle={styles.listContent}
/>
</SafeAreaView>
);
container: {
flex: 1,
backgroundColor: '#121212',
},
listContent: {
padding: 16,
},
imageContainer: {
padding: 8,
},
image: {
width: imageSize,
height: imageSize,
borderRadius: 12,
},
});
Output:
MIT ADT University, Pune
4. News.tsx
const newsData = [
id: '1',
image: 'https://images.pexels.com/photos/14674136/pexels-photo-14674136.jpeg',
date: '2024-03-15',
},
id: '2',
image: 'https://images.pexels.com/photos/20706243/pexels-photo-20706243/free-photo-of-a-car-at-
sunset.jpeg',
date: '2024-03-14',
},
id: '3',
excerpt: 'The iconic SUV gets a modern twist with zero-emission capabilities…',
image: 'https://images.pexels.com/photos/30698575/pexels-photo-30698575/free-photo-of-suv-in-the-
desert-sands-of-qatar.jpeg',
date: '2024-04-10',
},
id: '4',
image: 'https://images.pexels.com/photos/10905505/pexels-photo-10905505.jpeg',
date: '2024-03-12',
MIT ADT University, Pune
},
id: '5',
excerpt: 'With improved range and faster charging, the new Taycan sets fresh benchmarks…',
image: 'https://images.pexels.com/photos/30749352/pexels-photo-30749352/free-photo-of-modern-
police-car-in-istanbul-street-scene.jpeg',
date: '2024-03-11',
},
id: '6',
image: 'https://images.pexels.com/photos/17115626/pexels-photo-17115626/free-photo-of-black-
mercedes-s-class.jpeg',
date: '2024-03-10',
},
id: '7',
excerpt: 'This futuristic electric SUV boasts over 600 km of range on a single charge…',
image: 'https://images.pexels.com/photos/11952741/pexels-photo-11952741.jpeg',
date: '2024-03-09',
},
id: '8',
excerpt: 'The electric G-Wagon retains iconic ruggedness with a silent powertrain…',
image: 'https://images.pexels.com/photos/9927973/pexels-photo-9927973.jpeg',
date: '2024-03-08',
},
MIT ADT University, Pune
id: '9',
excerpt: 'Croatia’s electric hypercar sets new standards for track performance…',
image: 'https://images.pexels.com/photos/29410854/pexels-photo-29410854/free-photo-of-luxury-
electric-sports-car-on-display.jpeg',
date: '2024-03-07',
},
id: '10',
excerpt: 'Kia’s flagship electric SUV brings bold design and family-first features…',
image: 'https://images.pexels.com/photos/31212857/pexels-photo-31212857/free-photo-of-kia-ev9-gt-
line-electric-car-on-sandy-beach.jpeg',
date: '2024-03-06',
},
];
return (
<SafeAreaView style={styles.container}>
<FlatList
data={newsData}
contentContainerStyle={styles.listContent}
/>
</SafeAreaView>
);
container: {
flex: 1,
backgroundColor: '#121212',
},
listContent: {
padding: 16,
},
});
Output:
MIT ADT University, Pune
5. Services.tsx
const services = [
id: '1',
},
id: '2',
},
id: '3',
title: 'Consultation',
},
id: '4',
},
];
MIT ADT University, Pune
return (
<SafeAreaView style={styles.container}>
<ScrollView contentContainerStyle={styles.content}>
<View style={styles.servicesGrid}>
{services.map(service => (
<View style={styles.iconContainer}>
{service.icon}
</View>
<Text style={styles.serviceTitle}>{service.title}</Text>
<Text style={styles.serviceDescription}>{service.description}</Text>
</TouchableOpacity>
))}
</View>
</ScrollView>
</SafeAreaView>
);
container: {
flex: 1,
backgroundColor: '#121212',
},
content: {
padding: 16,
},
title: {
MIT ADT University, Pune
fontSize: 28,
fontWeight: 'bold',
color: '#ffffff',
marginBottom: 8,
},
subtitle: {
fontSize: 16,
color: '#8e8e8e',
marginBottom: 24,
},
servicesGrid: {
flexDirection: 'row',
flexWrap: 'wrap',
justifyContent: 'space-between',
},
serviceCard: {
width: '48%',
backgroundColor: '#1a1a1a',
borderRadius: 12,
padding: 16,
marginBottom: 16,
},
iconContainer: {
width: 48,
height: 48,
borderRadius: 24,
justifyContent: 'center',
alignItems: 'center',
marginBottom: 12,
MIT ADT University, Pune
},
serviceTitle: {
fontSize: 16,
fontWeight: '600',
color: '#ffffff',
marginBottom: 8,
},
serviceDescription: {
fontSize: 14,
color: '#8e8e8e',
},
});
Output:
MIT ADT University, Pune
6. Review.tsx
const reviewsData = [
id: '1',
rating: 4.8,
excerpt: 'A plug-in hybrid supercar that blends electrification with raw Ferrari thrill…',
image: 'https://images.pexels.com/photos/337909/pexels-photo-337909.jpeg',
},
id: '2',
rating: 4.5,
excerpt: 'Lamborghini’s first V12 hybrid delivers insane power and signature drama…',
image: 'https://images.pexels.com/photos/16170477/pexels-photo-16170477/free-photo-of-modern-red-
sports-car.jpeg',
},
id: '3',
rating: 4.7,
excerpt: 'This wagon defies expectations with blistering speed and everyday usability…',
image: 'https://images.pexels.com/photos/19368036/pexels-photo-19368036/free-photo-of-back-view-of-
audi-rs6.png',
},
id: '4',
rating: 4.6,
image: 'https://images.pexels.com/photos/8190663/pexels-photo-8190663.jpeg',
},
id: '5',
rating: 4.8,
excerpt: 'America’s mid-engine marvel pushes boundaries with a screaming flat-plane V8…',
image: 'https://images.pexels.com/photos/17653620/pexels-photo-17653620/free-photo-of-chevrolet-
corvette-z06.jpeg',
},
];
return (
<SafeAreaView style={styles.container}>
<FlatList
data={reviewsData}
contentContainerStyle={styles.listContent}
/>
</SafeAreaView>
);
container: {
flex: 1,
MIT ADT University, Pune
backgroundColor: '#121212',
},
listContent: {
padding: 16,
},
});
Output:
MIT ADT University, Pune
7. Home.tsx
import { BookOpen, CarFront, FileText, Search, Send, Star, Upload, Users } from 'lucide-react-native';
MIT ADT University, Pune
const actions = [
id: '1',
description: 'Instantly view the most recent car reviews and ratings.',
backgroundColor: '#edf2ff',
textColor: '#4c6ef5',
},
id: '2',
backgroundColor: '#ebfbee',
textColor: '#37b24d',
},
id: '3',
backgroundColor: '#fff4e6',
textColor: '#f76707',
},
{
MIT ADT University, Pune
id: '4',
description: 'Let users post their own car experiences and ratings.',
backgroundColor: '#f3d9fa',
textColor: '#ae3ec9',
},
];
return (
<View style={styles.container}>
Quick Actions
</Text>
<View style={styles.grid}>
{actions.map(action => (
<TouchableOpacity
key={action.id}
style={[
styles.card,
]}
activeOpacity={0.8}
>
<View style={styles.iconContainer}>
{action.icon}
</View>
<Text
style={[
styles.cardTitle,
]}
>
{action.title}
</Text>
<Text style={styles.cardDescription}>
{action.description}
</Text>
</TouchableOpacity>
))}
</View>
</View>
);
container: {
paddingHorizontal: 16,
marginBottom: 24,
},
sectionTitle: {
fontSize: 20,
fontWeight: '700',
color: '#212529',
marginBottom: 16,
},
darkText: {
color: '#f8f9fa',
},
grid: {
flexDirection: 'row',
flexWrap: 'wrap',
MIT ADT University, Pune
justifyContent: 'space-between',
},
card: {
width: '48%',
padding: 16,
borderRadius: 12,
marginBottom: 16,
},
iconContainer: {
marginBottom: 12,
},
cardTitle: {
fontSize: 16,
fontWeight: '600',
marginBottom: 4,
},
cardDescription: {
fontSize: 14,
color: '#6c757d',
},
});
import { View, Text, StyleSheet, Image, TouchableOpacity, useColorScheme, Dimensions } from 'react-native';
const featuredItems = [
MIT ADT University, Pune
id: '1',
description: 'Explore what\'s hot in the car world right now. Showcase currently popular or most viewed
cars on the platform.',
image: 'https://images.pexels.com/photos/3764984/pexels-photo-3764984.jpeg?
auto=compress&cs=tinysrgb&w=1200',
},
id: '2',
description: 'Top recommendations from automotive experts. Highlight editor\'s choice vehicles or staff-
curated content.',
image: 'https://images.pexels.com/photos/8052843/pexels-photo-8052843.jpeg?
auto=compress&cs=tinysrgb&w=1200',
},
];
return (
<View style={styles.container}>
<View style={styles.headerRow}>
Featured
</Text>
<TouchableOpacity style={styles.viewAllButton}>
</TouchableOpacity>
</View>
<View style={styles.cardsContainer}>
{featuredItems.map(item => (
MIT ADT University, Pune
<TouchableOpacity
key={item.id}
style={[
styles.card,
{ width: cardWidth }
]}
activeOpacity={0.9}
>
<Image
style={styles.cardImage}
resizeMode="cover"
/>
<View style={styles.cardContent}>
{item.title}
</Text>
<Text style={styles.cardDescription}>
{item.description}
</Text>
</View>
</TouchableOpacity>
))}
</View>
</View>
);
container: {
marginBottom: 24,
},
headerRow: {
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
paddingHorizontal: 16,
marginBottom: 16,
},
sectionTitle: {
fontSize: 20,
fontWeight: '700',
color: '#212529',
},
darkText: {
color: '#f8f9fa',
},
viewAllButton: {
flexDirection: 'row',
alignItems: 'center',
},
viewAllText: {
fontSize: 14,
color: '#228be6',
marginRight: 4,
},
cardsContainer: {
flexDirection: 'row',
flexWrap: 'wrap',
MIT ADT University, Pune
justifyContent: 'space-between',
paddingHorizontal: 16,
},
card: {
borderRadius: 12,
backgroundColor: '#ffffff',
shadowColor: '#000',
shadowOpacity: 0.08,
shadowRadius: 8,
elevation: 2,
marginBottom: 16,
overflow: 'hidden',
},
darkCard: {
backgroundColor: '#212529',
},
cardImage: {
width: '100%',
height: 120,
},
cardContent: {
padding: 16,
},
cardTitle: {
fontSize: 16,
fontWeight: '700',
color: '#212529',
marginBottom: 8,
},
MIT ADT University, Pune
cardDescription: {
fontSize: 14,
color: '#6c757d',
lineHeight: 20,
},
});
return (
<View style={styles.container}>
<Image
style={styles.image}
/>
<View style={styles.content}>
<Text style={styles.tag}>Featured</Text>
<Text style={styles.excerpt}>
</Text>
</View>
</TouchableOpacity>
</View>
);
container: {
padding: 16,
},
sectionTitle: {
fontSize: 20,
fontWeight: 'bold',
color: '#ffffff',
marginBottom: 16,
},
card: {
backgroundColor: '#1a1a1a',
borderRadius: 12,
overflow: 'hidden',
},
image: {
width: '100%',
height: 200,
},
content: {
padding: 16,
},
tag: {
color: '#ff3b30',
fontSize: 14,
fontWeight: '600',
marginBottom: 8,
},
title: {
fontSize: 20,
fontWeight: 'bold',
MIT ADT University, Pune
color: '#ffffff',
marginBottom: 8,
},
excerpt: {
fontSize: 16,
color: '#8e8e8e',
marginBottom: 16,
},
readMore: {
fontSize: 16,
color: '#ff3b30',
fontWeight: '600',
},
});
return (
<View style={styles.container}>
Hello,
</Text>
Turbo-Talks User
</Text>
<Text style={styles.welcomeMessage}>
</Text>
MIT ADT University, Pune
</View>
);
container: {
padding: 16,
marginBottom: 16,
},
greeting: {
fontSize: 16,
color: '#495057',
marginBottom: 4,
},
userName: {
fontSize: 28,
fontWeight: '700',
color: '#212529',
marginBottom: 8,
},
welcomeMessage: {
fontSize: 16,
color: '#6c757d',
},
darkText: {
color: '#f8f9fa',
},
});
Output:
MIT ADT University, Pune
MIT ADT University, Pune
MIT ADT University, Pune
Conclusion:
The TurboTalks app successfully delivers an interactive and informative platform for car
enthusiasts. By leveraging React Native with Expo, it ensures cross-platform performance and a
native-like experience. The app provides quick access to trending car info, expert picks, and user
reviews—all in one sleek, mobile interface. It simplifies the research process for users while keeping
them updated with the latest in the automotive world.