WT Project

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 23

INTRODUCTION

In today's fast-paced world, owning a car has become more of a necessity than a
luxury. However, with the convenience of owning a vehicle comes the responsibility of
its maintenance. Neglecting regular maintenance not only decreases the lifespan of
your car but also poses safety risks to you and other road users.

Introducing AutoCare, your personal car maintenance companion! AutoCare is a


comprehensive mobile application designed to simplify and streamline the process of
managing your car's maintenance schedule and keeping track of its health. Whether
you're a seasoned car enthusiast or a new driver, AutoCare is here to make your life
easier.

Whether it's commuting to work, running errands, or embarking on road trips, cars
play a significant role in facilitating mobility and convenience. However, with the
privilege of vehicle ownership comes the responsibility of proper maintenance to
ensure safety, reliability, and longevity. Unfortunately, keeping track of regular
maintenance tasks, service schedules, and repairs can be daunting and often
overlooked, leading to potential safety hazards and costly repairs down the line.

To address this challenge, we introduce "AutoCare," your personal car maintenance


companion. AutoCare is a comprehensive mobile application designed to streamline
and simplify the process of managing your vehicle's maintenance requirements. With
its user-friendly interface and intuitive features, AutoCare empowers car owners to
stay organized, proactive, and informed about their vehicle's health and upkeep.

AutoCare allows users to create personalized maintenance schedules tailored to their


specific vehicle make, model, and mileage. By inputting essential information such as
oil change intervals, tire rotations, and filter replacements, users can receive timely
reminders and notifications for upcoming service tasks.

Keeping track of past maintenance and repair records is crucial for understanding
your vehicle's history and identifying recurring issues. AutoCare enables users to
maintain a comprehensive service history log, including details such as dates, mileage,
services performed, and associated costs. This feature not only facilitates better
decision-making but also enhances resale value by demonstrating diligent upkeep.

1
PROBLEM STATEMENT

As a busy dad juggling multiple responsibilities, keeping track of car maintenance


tasks can often be challenging and time-consuming. From managing work
commitments to attending to family needs, finding the time to ensure that your
vehicle remains safe, reliable, and well-maintained can easily slip through the cracks.
In today's fast-paced world, there's a pressing need for a solution that simplifies the
car maintenance process for busy dads, allowing them to prioritize their family and
work obligations while ensuring the safety and longevity of their vehicles.

Many busy dads struggle to stay organized and proactive when it comes to
maintaining their vehicles due to time constraints, competing priorities, and a lack of
streamlined tools and resources. Without a convenient and efficient way to manage
car maintenance tasks, these individuals risk overlooking essential services, leading to
potential safety hazards, costly repairs, and unnecessary stress.

Time Constraints: Between work commitments, family responsibilities, and personal


obligations, finding time to schedule and perform routine car maintenance tasks can
be difficult for busy dads.Organization: Keeping track of service schedules,
maintenance records, and upcoming tasks in a hectic schedule can be overwhelming
and prone to oversight.

To address these challenges, we propose the development of "AutoCare," a user-


friendly mobile application specifically designed to simplify car maintenance for busy
dads. AutoCare aims to empower dads with the tools, resources, and support they
need to stay on top of their vehicle's maintenance requirements without sacrificing
precious time and energy.

AutoCare will provide busy dads with a centralized platform to manage all aspects of
car maintenance, including scheduling, reminders, service history tracking, and
expense management.Enhance Accessibility: The app will offer intuitive features and a
user-friendly interface accessible via smartphones, ensuring convenience and ease of
use for dads on the go.

2
IMPLEMENTATION

MAIN SCREEN:
class Car:
def _init_(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.mileage = 0
self.service_history = []

def add_mileage(self, miles):


self.mileage += miles

def add_service(self, service):


self.service_history.append(service)

def get_service_history(self):
return self.service_history

class MaintenanceApp:
def _init_(self):
self.cars = {}

def add_car(self, make, model, year):


car = Car(make, model, year)
self.cars[make + ' ' + model] = car

def record_service(self, car_name, service):


if car_name in self.cars:

3
self.cars[car_name].add_service(service)
else:
print("Car not found.")

def show_service_history(self, car_name):


if car_name in self.cars:
service_history = self.cars[car_name].get_service_history()
print(f"Service history for {car_name}:")
for service in service_history:
print(service)
else:
print("Car not found.")

# Example usage:
app = MaintenanceApp()
app.add_car("Toyota", "Camry", 2015)
app.add_car("Honda", "Accord", 2018)

app.record_service("Toyota Camry", "Oil Change")


app.record_service("Honda Accord", "Tire Rotation")

app.show_service_history("Toyota Camry")
app.show_service_history("Honda Accord")

HOME SCREEN:

4
class CarMaintenanceApp:
def _init_(self, root):
self.root = root
self.root.title("Car Maintenance App")

self.label = tk.Label(root, text="Welcome to Car Maintenance App",


font=("Helvetica",16))
self.label.pack(pady=20)

self.new_car_button = tk.Button(root, text="Add New Car",


command=self.add_new_car)
self.new_car_button.pack(pady=10)

self.record_service_button = tk.Button(root, text="Record Service",


command=self.record_service)
self.record_service_button.pack(pady=10)

self.show_history_button = tk.Button(root, text="Show Service History",


command=self.show_service_history)
self.show_history_button.pack(pady=10)

self.quit_button = tk.Button(root, text="Quit", command=root.quit)


self.quit_button.pack(pady=10)

def add_new_car(self):
# Add functionality to add a new car
pass

def record_service(self):
# Add functionality to record a service
pass

5
def show_service_history(self):
# Add functionality to show service history
pass

root = tk.Tk()
app = CarMaintenanceApp(root)
root.mainloop()
}

class Home extends StatelessWidget {


const Home({super.key});

@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
darkTheme: darkTheme,
theme: lightTheme,
home: home(),

)
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Theme.of(context).colorScheme.primary,
appBar: AppBar(
title: Text("Home"),
),

6
Padding(padding: EdgeInsets.fromLTRB(90, 400, 90, 0)),
ListTile(
title: const Text('About'),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => aboutus()),
);
},
),
ListView.builder(
itemCount: users.length,
itemBuilder: (context, index) {
final user = users[index];
return Container(
margin: const EdgeInsets.all(7.0),
width: double.infinity,
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.background,
borderRadius: BorderRadius.all(
Radius.circular(20),
),
),
icon: Icon(Icons.arrow_forward_ios),
onPressed: () async {
var url = Uri.parse(user.homeurl);

if (await canLaunchUrl(url)) {
await launchUrl(url,
mode: LaunchMode.externalApplication);
} else {

7
throw 'Could not launch $url';
}

LATEST NEWS SCREEN:


import 'package:flutter/material.dart';
import 'package:xml2json/xml2json.dart';
import 'dart:convert'
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await MobileAds.instance.initialize();
runApp(news());
}
List Result = [];
Future NewsTopics() async {
final Xml2Json xml2json = Xml2Json();
const url = "https://www.gadgets360.com/rss/feeds";
final uri = Uri.parse(url);
final response = await http.get(uri);
xml2json.parse(response.body.toString());
var body = await xml2json.toGData();
var jsons = json.decode(body);
Result = jsons['rss']['channel']['item'];
}
List<Color> colors = [Colors.blue, Colors.amber, Colors.pink];
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Theme.of(context).colorScheme.primary,
appBar: AppBar(
title: Text("News"),

8
),

child: ListTile(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
title: Text(
Result[index]['title']['__cdata'],
style: TextStyle(
fontSize: 16, fontWeight: FontWeight.w500),
),
subtitle:
Text(Result[index]['description']['__cdata']),
trailing: Padding(
padding: EdgeInsets.fromLTRB(0, 0, 0, 0),
child: IconButton(
icon: Icon(Icons.arrow_forward_ios),
onPressed: () async {
var url = Uri.parse(
Result[index]['guid']['\$t'].toString());

if (await canLaunchUrl(url)) {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
WebPageViewer(url: url.toString())),
);
} else {
throw 'Could not launch $url';
}

9
},
color: Color.fromARGB(143, 60, 177, 231),
),
)));
}

NAVIGATION SCREEN:
import 'package:flutter/material.dart';
import 'package:practicenews/facts.dart';
import 'package:practicenews/news.dart';
import 'package:practicenews/home.dart';

class Navigation extends StatelessWidget {


const Navigation({super.key});

class _homeState extends State<home> {


int currentIndex = 0;
final screen = [Home(), news(), facts(), tips(), tricks()];
@override
Widget build(BuildContext context) {
return Scaffold(
body: screen[currentIndex],
bottomNavigationBar: BottomNavigationBar(
currentIndex: currentIndex,
onTap: (index) => setState(() => currentIndex = index),
type: BottomNavigationBarType.fixed,
items: [
BottomNavigationBarItem(
icon: Icon(Icons.home),
label: 'Home',

10
backgroundColor: Theme.of(context).colorScheme.secondary,
),
BottomNavigationBarItem(
icon: Icon(Icons.newspaper),
label: 'News',
backgroundColor: Theme.of(context).colorScheme.secondary,
),
BottomNavigationBarItem(
icon: Icon(Icons.strikethrough_s),
label: 'Tricks',
backgroundColor: Theme.of(context).colorScheme.secondary,
}
}
SETTINGS SCREEN:
import 'package:flutter/material.dart';
import 'package:practicenews/about.dart';
import 'package:practicenews/login.dart';
import 'package:firebase_auth/firebase_auth.dart'
class settings extends StatefulWidget {
const settings({super.key});

@override
State<settings> createState() => _settingsState();
}

class _settingsState extends State<settings> {


final email = FirebaseAuth.instance.currentUser!.email;

@override
Widget build(BuildContext context) {
bool isEmailverified = false;

11
void initState() {
super.initState();
isEmailverified = FirebaseAuth.instance.currentUser!.emailVerified;

if (!isEmailverified) {}
}

return Scaffold(
backgroundColor: Theme.of(context).colorScheme.primary,
appBar: AppBar(
title: Text("Settings"),
),
const Divider(
thickness: 1,
color: Colors.black,
),
Padding(padding: EdgeInsets.fromLTRB(90, 440, 90, 0)),
ListTile(
title: const Text('About'),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => aboutus()),
);
},
),

body: SingleChildScrollView(
child: Column(
children: [
Container(

12
padding: EdgeInsets.fromLTRB(0, 20, 150, 0),
child: Text(
"Account",
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w500,
color: const Color.fromARGB(151, 33, 149, 243)),
),
),
Container(
padding: EdgeInsets.fromLTRB(0, 20, 150, 0),
child: Text(
"Email",
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w400),
),
),
Container(
padding: EdgeInsets.fromLTRB(0, 10, 0, 0),
child: Text(
email.toString(),
style: TextStyle(
fontSize: 16,
color: const Color.fromARGB(178, 33, 149, 243)),
),
),
Container(
padding: EdgeInsets.fromLTRB(10, 20, 150, 0),
child: Text(
"Sign out",
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w400),
),

13
),
Container(
padding: EdgeInsets.fromLTRB(10, 20, 140, 0),
child: ElevatedButton(
onPressed: () {
FirebaseAuth.instance.signOut();
displayToastMessage(
"SignOut was done successfully", context);
Navigator.pushAndRemoveUntil(
context,
MaterialPageRoute(builder: (context) => Login()),
(route) => false);
},
child: Text('SignOut'),
style: ElevatedButton.styleFrom(
backgroundColor: Theme.of(context).colorScheme.secondary,
),
)),
SizedBox(
height: 50,
),
Container(
padding: EdgeInsets.fromLTRB(30, 20, 110, 0),
child: ElevatedButton(
child: Text("Reset Password"),
onPressed: passwordReset,
style: ElevatedButton.styleFrom(
backgroundColor: Theme.of(context).colorScheme.secondary,
),
)),
Container(

14
padding: EdgeInsets.fromLTRB(20, 20, 110, 0),
child: Text(
"Delete Account",
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w400),
),
),
Container(
padding: EdgeInsets.fromLTRB(20, 20, 110, 0),
child: ElevatedButton(
onPressed: Delete,
child: Text(
"Delete Account",
),
style: ElevatedButton.styleFrom(
backgroundColor: Theme.of(context).colorScheme.secondary,
}
ABOUT SCREEN:
import 'package:flutter/material.dart';
import 'package:practicenews/settings.dart';

class aboutus extends StatefulWidget {


const aboutus({super.key});

@override
State<aboutus> createState() => _aboutusState();
}

class _aboutusState extends State<aboutus> {


@override
Widget build(BuildContext context) {
return Scaffold(

15
backgroundColor: Theme.of(context).colorScheme.primary,
appBar: AppBar(
title: Text("BtechNews"),
),
drawer: Drawer(
width: 220,
child: ListView(
padding: EdgeInsets.all(0),
children: [
Container(
height: 200,
child: DrawerHeader(
decoration: BoxDecoration(
image: DecorationImage(
fit: BoxFit.fill,
image: AssetImage('assets/image/logo.jpeg'))),
child: Text(""),
),
),
body: Padding(
padding: const EdgeInsets.all(0),
child: Center(
child: SingleChildScrollView(
child: Column(children: [
Container(
padding: EdgeInsets.fromLTRB(0, 20, 0, 0),
child: Text("About ",
style: TextStyle(
fontWeight: FontWeight.w500,
fontSize: 20,
))),

16
TextSpan(
text: 'HOME:',
style: TextStyle(
fontSize: 20,
color: Theme.of(context).colorScheme.secondary,
),
),
TextSpan(
text:
"The central hub of the app, where students can find updates, announcements,
and featured content related to the Btech field. This section provides easy navigation to other
sections within the app.\n\n",
style: TextStyle(
fontSize: 15,
color: Theme.of(context).colorScheme.secondary,
),
),
TextSpan(
text: 'NEWS:',
style: TextStyle(
fontSize: 20,
color: Theme.of(context).colorScheme.secondary,
),
),
TextSpan(
style: TextStyle(
fontSize: 15,
color: Theme.of(context).colorScheme.secondary,
),
),
TextSpan(

17
text: 'TRICKS:',
style: TextStyle(
fontSize: 20,
color: Theme.of(context).colorScheme.secondary,
),
),
TextSpan(

style: TextStyle(
fontSize: 15,
color: Theme.of(context).colorScheme.secondary,
),
),
TextSpan(
text: 'TIPS:',
style: TextStyle(
fontSize: 20,
color: Theme.of(context).colorScheme.secondary,
),
),
TextSpan(

TextSpan(
text ),

18
19
20
CONCLUSION

21
In conclusion, the development of a car maintenance app offers a practical solution to the
challenges faced by busy individuals in managing their vehicle upkeep effectively. Through
the integration of intuitive features, streamlined processes, and accessible technology, the
app aims to empower users to prioritize safety, reliability, and longevity in their vehicle
ownership experience.

By leveraging the capabilities of modern mobile platforms and web technologies, the car
maintenance app provides a user-friendly interface that simplifies tasks such as scheduling
maintenance, tracking service history, receiving reminders, and managing expenses. This not
only saves valuable time and effort but also promotes proactive maintenance practices,
ultimately leading to cost savings and enhanced vehicle performance.

Furthermore, the app serves as a valuable educational resource, offering maintenance tips,
guidelines, and resources to empower users with the knowledge needed to make informed
decisions about their vehicle care. By fostering a culture of awareness and responsibility, the
app contributes to safer roads, reduced environmental impact, and improved overall vehicle
maintenance standards.

In summary, the car maintenance app represents a significant step towards modernizing and
optimizing the way individuals manage their vehicles. Whether it's for busy parents,
professionals, or automotive enthusiasts, the app serves as a trusted companion in ensuring
that vehicles remain safe, reliable, and well-maintained for years to come. As technology
continues to evolve, so too will the capabilities and effectiveness of car maintenance apps,
driving positive change in the automotive industry and beyond.

FUTURE WORK

Future Work for Car Maintenance App:

22
1. Integration of IoT Devices: Incorporate Internet of Things (IoT) technology to
enable real-time monitoring of vehicle diagnostics, performance metrics, and
sensor data. This would allow for predictive maintenance, early fault detection,
and remote troubleshooting, enhancing overall vehicle health management.
2. Enhanced Analytics and Reporting: Develop advanced analytics capabilities to
analyze maintenance trends, identify patterns, and generate insightful reports.
This would help users make data-driven decisions, optimize maintenance
schedules, and identify areas for improvement.
3. Augmented Reality (AR) Features: Integrate AR functionality to provide
interactive guides and tutorials for performing DIY maintenance tasks. Users
could visualize step-by-step instructions overlaid onto their vehicle
components, facilitating easier and more accurate repairs.

REFERENCES

Here are some reference books on car maintenance that cover various aspects of vehicle care,
repair, and maintenance:

*"Haynes Repair Manuals"*: These manuals are renowned for providing detailed
instructions and illustrations for repairing and maintaining specific vehicle models. They
cover topics ranging from basic maintenance tasks to complex repairs. You can find Haynes
manuals for most car makes and models.

*"Auto Repair For Dummies" by Deanna Sclar*: This book is designed for beginners and
covers a wide range of topics, including basic maintenance, troubleshooting common
problems, and performing simple repairs. It's written in an easy-to-understand language with
clear explanations and illustrations.

23

You might also like