FIXGO Doc Saneen
FIXGO Doc Saneen
Computer Science
Of
University of Calicut
APRIL 2023
Department of Computer Science
EMEA COLLEGE OF ARTS AND SCIENCE, KONDOTTY
PH: 0483-2712030, EMAIL: [email protected]
1
Certificate
This is to certify that the project work titled: "FIXGO- CAR ONLINE SERVICE
BOOKING by SANEEN V (EMAUSCS050)”in partial fulfilment of BSc. Computer
Science examination and has been carried out under my direct supervision and guidance. This
report or a similar report on the topic has not been submitted for any other examination and does
not form any other course undergone by the candidate.
Place:
Date :
2
DEPARTMENT OF COMPUTER SCIENCE
Certificate
This is to certify that the project work titled: "FIXGO- CAR ONLINE SERVICE
BOOKING by SANEEN V (EMAUSCS050) of sixth semester Computer Science for
the project.
viva held on ............................... 2023 at EMEA COLLEGE Computer lab.
Signature of Guide/Supervisor
Signature of Examiners
1………………….
2………………….
3
ACKNOWLEDGEMENT
I also acknowledged for the comments and suggestions from the members of EMEA
College of Arts & Science, Kondotty . Each faculty of colleges and friends who
encountered and helped me in marking the project work as success.
By
SANEEN V (EMAUSCS050)
4
TABLE OF CONTENTS
Title Page No
1. INTRODUCTION 7
1.1 Abstract 8
1.2 Modules 8
2.3 Objectives 14
3.5 SRS 23
5
4.1 Input design 26
4.4 DFD 28
5. CODING
31
5.1 Codes (sample)
8. CONCLUSION 61
9. BIBLIOGRAPHY 63
10. ANNEXTURE 65
6
7
1.INTRODUCTION
1.1ABSTRACT
“FIXGO” is a mobile application designed to cater to the needs of car owners by
providing them with a platform for booking car workshop services and shopping for car
accessories. The app has been developed to address the challenge of finding reliable and
efficient car workshops and accessories stores.
Car owners often struggle with finding the right car workshops to service their vehicles. This
can lead to frustrations such as delays in repairs, subpar workmanship, and inflated prices.
With Fixgo, car owners can book their workshop services online from a wide selection of
verified car workshops. The app provides a user-friendly platform that allows users to
compare prices, services, and reviews from various workshops, making it easier for them to
make informed decisions.
In addition to booking workshop services, Fixgo also offers a shopping feature for car
accessories. Car owners can browse through an extensive collection of car accessories and
make purchases through the app. This eliminates the need to visit physical stores, saving time
and effort.
Moreover, Fixgo provides real-time updates on the status of car repairs and ensures
transparency in the billing process. It also offers a payment gateway for secure transactions,
making the overall experience hassle-free and convenient for users.
In conclusion, Fixgo is a much-needed app for car owners who want to ensure that their
vehicles receive the best possible care. It provides a one-stop solution for booking workshop
services and shopping for car accessories, making it a must-have app for all car enthusiasts.
1.2MODULES
The complete project is divided into three modules. And the modularisation is
based on the type of the users in the system. The modules are:
User
Shop owner
Admin
ADMIN
View and approve the registering users
Verify workshop
View complaints
View reviews and reply
Handling complaints
Maintaining updates
8
SHOP OWNER
Register the shop
Provide shop details
Adding services available and Details of the services
Adding Accessories
Handling bookings
Handling shipping of accessories
Provide employee information
Keep records of booking and shipped products
View feedbacks
USER
Register
View workshop
Buy the accessories
View services and booking
View accessories and add to cart
Write complaints and reviews
Request additional service
Call the needed workers and ask help
Call worker and request service
View booking history
View products ordered
The complete project is divided into three modules. Modules and the objectives have
briefly explained above. The working of each modules are such as:
ADMIN
Admin is an interface, if you will, that allows you to manipulate and manage your app’s data to
power user-related functions, handle transactions, and track performances. admin panel to
manage and make changes to their app. Here Admin can see registered users. Also view the
details of workshop provided and according to needs admin can also edit the details. Admin
also views the services provided by owners. If any error occurs he can interfere and solve in
case of functioning. Admin can also view complaints of users and update/modify app according
to their review.
SHOP OWNER
9
Shop owner is the owner and manager of the workshop. As per the request of owner an online
platform of their shop is implemented by admin. An shop owner has to provide shop details and
overall app structure to admin. Admin gives a login page to owner. A shop owner can add services
and accessories that are available in shop .He have to add details and price of each services and
accessories along with it. He can schedule the booking of services according to customer order. He
can also confirm the service by calling their number. He can keep records of services booked and
pending services and provided service. Therefore he can keep a financial tracks. He have to provide
employee details to users.
USER
A single store can have multiple users that can log in to assist with the day-to-day functions of
managing a store or for a specific role. Each user should have their own account, with permissions
limited to only their areas of responsibility. A user have to register in the app to continue the usage of
application. After confirming login he can utilize the benefits of app. The application provides the
services, accessories and their details that are available at the store. He can view and Acknowledge
about the availabilities in the store. The app shows details of services such as price, time taken for the
service, warranty of the service, Time of next service, or any other facilities available and
activities/sections included in it in service section. On accessories section shows the price and
specification of products. A user can add products to cart and buy later. The app provides online
delivery of products to your door step. It also provides information of employees with their section
and contact. App allows user to call the operator and ask for help/services. If car stops work at
midway or if car doesn’t start at home we can call labour and request for service and provide location
information. In profile of user shows the details of product history(the products you have
purchased),Booking history(the services you have booked), feedback(you can write review/ comment
on service/product/application to owner),you can invite a friend, and logout from application. user can
also proceed to buy from cart. This application provides the booking according to users spare time and
time estimation of service. Therefore easily manage time efficiently for workers and users.
10
2.PROBLEM DEFINITION AND METHEDOLOGY
2.1 PROBLEM DESCRIPTION
Car owners often struggle waiting in car workshops to service their vehicles. This can lead to
frustrations such as delays in repairs, subpar workmanship, and inflated prices. With Fixgo,
car owners can book their workshop services online. The app provides a user-friendly
platform that allows users to acknowledge prices, services, and reviews from various users,
making it easier for them to make informed decisions.
Waiting in a car workshop can be a tedious and frustrating experience, but it is a necessary
part of owning a vehicle. Whether you are waiting for routine maintenance or repairs, there
are several ways to make the most of your time.
Firstly, it is important to arrive at the workshop with a clear understanding of the services that
you need. This can help to streamline the process and reduce the amount of time that you
spend waiting. You can also inquire about the estimated time frame for completion and plan
your day accordingly.
In addition to booking workshop services, Fixgo also offers a shopping feature for car
accessories. Car owners can browse through an extensive collection of car accessories and
make purchases through the app. This eliminates the need to visit physical stores, saving time
and effort.
A car that suddenly shuts off while driving can be very frustrating. It interrupts the smooth travelling.
To fix car rapidly we need a car Mechanic. FIXGO provides information of workers. We can
specifically select mechanic according to section and call them.
Firstly, online car service booking has made the process of reserving a car much easier and
more convenient for customers. With just a few clicks, customers can book a car service from
the comfort of their own homes or offices. They no longer have to spend time traveling to a
physical location or wait on hold on the phone. This has saved customers both time and
effort, and has made the booking process more efficient.
Secondly, online car service booking has made the industry more competitive. With the rise
of online booking platforms, new entrants have been able to enter the market and offer their
services to a wider audience. This has resulted in increased competition among car service
providers, which has led to better prices and more options for customers. Additionally, online
booking platforms have made it easier for customers to compare prices and services from
different providers, which has made the market more transparent and customer-friendly.
Thirdly, online car service booking has improved the customer experience by providing
greater flexibility and customization. Online platforms allow customers to choose the type of
vehicle they want, the time and date of their trip, and the specific services they require, such
as airport pick-up or a luxury car. This has made the service more tailored to the needs of
each customer, resulting in a more satisfying experience overall.
Finally, online car service booking has improved safety and security for both customers and
drivers. Online platforms allow customers to track the progress of their ride, view the driver's
11
information, and provide feedback after the trip. This has increased accountability and
transparency in the industry, which has led to better quality service and greater peace of mind
for customers.
In conclusion, the significance of online car service booking cannot be overstated. It has
transformed the industry by making the booking process more convenient, the market more
competitive, the service more customized, and the experience more satisfying for customers.
It has also improved safety and security for both customers and drivers, and has created new
opportunities for entrepreneurs and startups. As technology continues to evolve, it is likely
that online car service booking will become even more sophisticated and widespread, further
changing the transportation landscape as we know it.
The provision of worker's contact information is essential for various reasons. we will explore
the significance of providing worker's contact information and how it can benefit both the
employer and employee.
Secondly, worker's contact information allows employees to stay informed about their
workplace. By providing their contact information, employees can receive updates on
company policies, new procedures, and upcoming events. This can be particularly important
for remote workers who may not have regular face-to-face contact with their colleagues or
managers. By staying informed, employees can feel more connected to their workplace and
be better equipped to perform their jobs effectively.
Thirdly, worker's contact information can also help facilitate teamwork and collaboration.
When employees have access to each other's contact information, it becomes easier to
coordinate work and communicate with each other. This can be especially important for
projects that require collaboration between multiple teams or departments. By having the
ability to contact each other easily, employees can work more efficiently and effectively
together.
Lastly, worker's contact information can also be useful in case of emergencies. In the event of
a workplace emergency, employers need to be able to quickly and easily contact their
employees to ensure their safety. By having accurate contact information, employers can
quickly reach their employees and provide them with instructions on how to respond to the
emergency. This can help minimize the risk of injury or damage to property.
12
keep it up-to-date. Similarly, employees should ensure that their contact information is
accurate and regularly updated. By doing so, both employers and employees can benefit from
improved communication and a more efficient and effective workplace.
2.3OBJECTIVES
• It computerizes the car workshop time booking system.
• Shop owners can register their service in the site.
• It contains all service details.
• User can send the request for service in the app.
• User friendly.
• Easy to handle, update, keep record.
• Provide security.
13
3.REQUIRMENT ANALYSIS AND SPECIFICATION
The lack of an online car workshop booking app can cause several drawbacks for both car
owners and auto repair shops. Without an online booking system, car owners may have to
physically visit the workshop or make phone calls to schedule appointments, which can be
time-consuming and inconvenient. This may also lead to miscommunication,
misunderstandings, and disputes regarding repair costs and timelines.
For repair shops, not having an online booking app can result in inefficiencies, such as
overbooking or delays, which can negatively impact customer satisfaction and retention.
Without an online system, repair shops may also miss out on potential customers who prefer
the convenience of booking appointments online. Additionally, without an online system to
track appointment and repair history, both car owners and repair shops may have difficulty
keeping track of past services, which can impact future maintenance and repairs.
Overall, the lack of an online car workshop booking app can hinder the efficiency and
effectiveness of the automotive industry, making it essential to have such a system in place to
streamline the booking process and enhance the customer experience.
The benefits of using an online car workshop booking app are numerous. Firstly, it saves time
and effort for both customers and workshops. Customers can quickly find available slots for
their desired services and book them in just a few clicks, without having to make multiple
phone calls or visits to the workshop. Workshops, on the other hand, can better manage their
schedules, reduce wait times, and avoid overbooking.
Secondly, an online booking app provides greater transparency and convenience for
customers. They can track the status of their repairs, receive updates on the estimated time of
completion, and even receive photos or videos of the work being done. Customers can also
pay for services through the app, making the entire process much more convenient.
14
Lastly, an online car workshop booking app can help workshops to improve customer
satisfaction and loyalty. By providing a seamless and hassle-free booking experience,
workshops can build trust with their customers and encourage them to return for future
services.
In summary, an online car workshop booking app is an essential tool for modern car owners
and workshops. It provides a convenient and efficient way to book services, improves
transparency and communication, and can help build stronger relationships between
customers and workshops.
15
3.3DEVELOPING TOOLS
3.31FRONT END: FLUTTER
Flutter is a UI toolkit that enables developers to build high-performance mobile, web, and
desktop applications from a single codebase. Created by Google, Flutter uses the Dart
programming language and provides a reactive programming model that simplifies building
complex user interfaces. It includes a wide range of customizable widgets, supports hot reload
for rapid iteration and debugging, and has a strong community with a wealth of resources and
packages. Flutter also provides native performance, with no compromise on app quality or
user experience.
Flutter's architecture is built on the Dart programming language, which makes it different
from other mobile development frameworks such as React Native or Xamarin. The Dart
language is easy to learn, and it comes with many features that make it an ideal choice for
developing applications with Flutter. Dart has a just-in-time (JIT) compiler, which makes the
development process faster, and it also has a garbage collector that makes memory
management easier for developers.
Another significant advantage of Flutter is its support for various development tools and
libraries. It has an extensive range of packages available, which makes it easy to integrate
different functionalities into the app. For example, developers can easily integrate Google
Maps, Firebase, or other third-party libraries to their app with just a few lines of code.
Moreover, Flutter has an excellent documentation system that helps developers to find the
right packages and libraries for their needs.
Flutter also provides a rich set of testing tools that help developers to ensure the quality of
their code. Flutter's built-in testing library enables developers to write unit tests, widget tests,
and integration tests, which help to detect and fix bugs quickly. Flutter's testing tools also
support a range of testing frameworks, such as Mockito and Flutter Driver, which further
extend its testing capabilities.
Importance of Flutter:
Flutter has become increasingly important in mobile app development due to its ability to
create high-quality, performant, and beautiful apps quickly and efficiently, with a single
codebase. Its cross-platform nature, hot reload feature, and wide range of customizable
widgets make it a popular choice for developers and businesses alike.
One of the primary advantages of Flutter is its ability to create beautiful and highly
customizable user interfaces. The framework has a rich set of pre-built widgets that allow
developers to create visually appealing interfaces quickly. These widgets are highly
customizable, and developers can tweak their appearance and functionality to suit their
specific needs. Additionally, Flutter's support for hot reloading enables developers to view
changes made to the UI in real-time, making the development process faster and more
efficient.
16
Flutter's support for web, desktop, and embedded devices extends the reach of an application
even further, making it possible for developers to create applications that work on a wide
range of devices.
In terms of performance, Flutter is highly optimized and can produce applications that are
both fast and responsive. Flutter achieves this by using Dart, a language that compiles to
native code, making it highly efficient. Additionally, Flutter's widgets are optimized for
performance, and the framework's architecture ensures that only the necessary parts of an
application are loaded into memory. These features make Flutter an ideal choice for creating
high-performance applications that require a smooth user experience.
Furthermore, Flutter has a vibrant community of developers that are continually contributing
to the framework's development. The community is constantly sharing knowledge, building
plugins, and developing new features that extend the functionality of the framework. The
Flutter community is also highly supportive, and developers can easily access resources and
help from other members when they encounter problems.
In conclusion, Flutter is a critical tool for mobile application development. Its ease of use,
cross-platform capabilities, performance, and supportive community make it an ideal choice
for creating high-quality mobile applications. Flutter is also constantly evolving, and
developers can expect the framework to continue improving in the future. With Flutter,
developers can create mobile applications that are both visually appealing and highly
functional, without having to write separate codebases for different platforms. Therefore, it is
important for developers to consider Flutter as a framework of choice for their mobile app
development projects.
Features of Flutter:
Fast development
Cross-platform development
Reactive programming
Customizable widgets
Native performance
Strong community
17
3.32BACKEND :
FIREBASE:
Firebase is a cloud-based platform owned by Google that provides a range of services for
mobile and web app development. It offers backend features such as real-time database,
authentication, cloud storage, cloud messaging, and more. Firebase allows developers to build
apps quickly and efficiently without worrying about server management or infrastructure.
Firebase's real-time database service allows developers to store and sync data in real-time
across different devices and platforms. Firebase authentication provides secure and easy-to-
use authentication and authorization services for your app, allowing users to sign in with
email and password, Google, Facebook, or other third-party providers.
Firebase also provides developers with a robust authentication system that allows users to
securely sign in to their applications using a variety of authentication providers, including
email and password, phone number, Google, Facebook, Twitter, and more. This makes it easy
for developers to add authentication to their applications without having to worry about
security and scalability issues.
Another important feature of Firebase is its hosting service. Firebase Hosting provides
developers with a fast and secure way to deploy their web applications to a global network of
servers. This ensures that applications load quickly and reliably, regardless of where users are
accessing them from.
Firebase Cloud Messaging is a powerful messaging platform that allows developers to send
notifications and messages to users across multiple platforms, including iOS, Android, and
the web. This makes it easy for developers to engage their users and keep them informed
about new features and updates.
Finally, Firebase Analytics provides developers with powerful insights into how their
applications are being used. This includes information on user engagement, retention, and
conversion rates. Firebase Analytics is easy to set up and provides developers with a range of
reports and dashboards to help them optimize their applications for better performance and
user engagement.
In conclusion, Firebase is a powerful platform that provides developers with a range of tools
and services to build high-quality applications quickly and easily. With its real-time database,
authentication system, hosting service, messaging platform, and analytics, Firebase is the
perfect platform for developers who want to build high-quality applications that are scalable,
secure, and engaging.
18
The greatest features are:
Real-time database
Authentication
Cloud messaging
Cloud storage
Scalable and fast hosting service for web apps.
Analytics
Performance monitoring
Test lab
Crash reporting
Machine learning
19
Memory 4GB Ram (Minimum)
The Software specification means the operating system and all other
applications or tools used for the development of the proposed system. It
includes the operating system, and the software which we are going to use.
20
software requirements specification document enlists enough and necessary requirements that
are required for the project development. To derive the requirements, we need to have clear
and thorough understanding of the products is to be developed or being developed. This is
achieved and refined with detailed and continuous communications with the project team and
customer till the completion of the software.
• Feasibility study lets the developer to foresee the future of the project
and its usefulness.
1) TECHNICAL FEASIBILITY
21
The technical feasibility centers on the existing system hardware, software, etc. and to what
intent if supports the proposed system. Since the “FIXGO-CAR WORKSHOP TIME
WEBSITE” system have all the require software such as Net beans, Android Studio, SQL
yog. The hardware such as i3classprocessor with 500GB Hard disk, hence it is technically
feasible.
2) ECONOMIC FEASIBILITY
Economic analysis is the most frequently used method for evaluating the effectiveness of a
candidate system Here all the processes being done without including additional cost to
employ other resources than available with the existing internet infrastructure. There is no
need for the initial expense with this project. Hence it can be said that, this package is
economically feasible.
3) OPERATIONAL FEASIBILITY
An estimate should be made to know how strong their action of user is likely to have towards
the new system. Since this system ready to use in the World Wide Web, So the system is
operationally feasible. As this package is technically, economically, and functionally feasible,
the system is judged feasible. Viewing the collected information, recommendation and
justification, conclusion is made of the proposed system.
22
4.DESIGNING AND DEPLOYMENT
23
4.2OUTPUT DESIGN
The output design has been an ongoing activity. Computer output is the most important and
direct source of information to the user. Efficient, intelligible output design should improve
the system’s relationship with the user and helps in decision making. Designing output
requires understanding user’s output requirements. The system produces an output which
varying according to user requirements.
Here user interface is shown as graph in screen, printed reports are based on data. In this
similar output in the manual process, this will solve the user’s problem and will be the
ultimate result of the application. The outline of the output design is detected by user’s
requirements.
The model for a document is designed externally with a driver program called mongoose js.
The model should be carefully designed because the efficiency of the efficiency of the
software is based on the model design. The organization of data in a database aims to achieve
three major objectives, at integration, data integrity and data independency.
24
4.4 DATA FLOW DIAGRAM(DFD)
Data Flow Diagram (DFD) is used to define the flow of the system and its resources such as
information. Data flow diagrams are the way of expressing system requirements in a
graphical manner. DFD represents one of the most ingenious tools used for structured
analysis. A DFD is also known as a bubble chart. It has the purpose of clarifying system
requirements identifying major transformations that will become programs in system design.
In the normal convention, logical DFD can completed using only $ notations.
: : Represents process.
: Represents the
25
0 LEVEL DFD
26
1 LEVEL DFD
27
5.CODING(SAMPLE)
LOGIN PAGE
import 'package:fixgo/main.dart';
import 'package:fixgo/reg.dart';
import 'package:flutter/material.dart';
void main(){
runApp(MaterialApp(
debugShowCheckedModeBanner: false,
home: app(),
));
}
class app extends StatefulWidget {
const app({Key? key}) : super(key: key);
@override
State<app> createState() => _appState();
}
ClipRRect(
borderRadius: BorderRadius.circular(20),
child: Container(
height: 550,
width: double.infinity,
color: Colors.blue[50],
child: Padding(
padding: const EdgeInsets.only(right: 20.0,left: 20,top: 20),
child: Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children:[
Text(
"Login",
style: TextStyle(fontSize: 24,color:
Colors.blue[900],letterSpacing: 2,
fontWeight: FontWeight.w900),
),
SizedBox(
height: 40,
),
Text(
"email",
style: TextStyle(fontSize: 21,color: Colors.blue[900]),
),
SizedBox(
height: 5,
),
Container(
28
decoration: BoxDecoration(
border: Border.all(
color: Colors.black12,
),
color: Colors.white,
borderRadius:
const BorderRadius.all(Radius.circular(10))),
child: const TextField(
decoration: InputDecoration(
icon: Padding(
padding: EdgeInsets.only(left: 10.0),
child: Icon(Icons.account_circle_rounded,color:
Colors.black,),
),
border: InputBorder.none,
hintText: 'enter email',
contentPadding: EdgeInsets.only(right: 1)),
),
),
SizedBox(
height: 30,
),
Text(
"password",
style: TextStyle(fontSize: 21,color: Colors.blue[900]),
),
SizedBox(
height: 5,
),
Container(
decoration: BoxDecoration(
border: Border.all(
color: Colors.black12,
),
color: Colors.white,
borderRadius:
const BorderRadius.all(Radius.circular(10))),
child: const TextField(
obscureText: true,
decoration: InputDecoration(
icon: Padding(
padding: EdgeInsets.only(left: 10.0),
child: Icon(Icons.lock_outline,color: Colors.black,),
),
border: InputBorder.none,
hintText: 'enter password',
contentPadding: EdgeInsets.only(right: 1)),
),
),
SizedBox(
height: 5,
),
InkWell(onTap: (){},
child: Text(
"forgot password? ",
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 14,
color: Colors.blue[900]),
),),
SizedBox(
height: 40,
),
Align(
alignment: Alignment.center,
child: SizedBox(
height: 40,
width: 200,
child: MaterialButton(
color: Colors.blue[900] ,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0),),
child: Text(
"Login",
style: TextStyle(color: Colors.white, fontSize: 20),
29
),
onPressed: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const nav()),
);
}
),
),
),
SizedBox(
height: 8,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("new user?",
style: TextStyle(fontSize: 14,color: Colors.black), ),
InkWell(onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const register()),
);
},
child: Text(
"Sign Up ",
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 14,
color: Colors.red),
),),
],
),
SizedBox(
height: 30,
),
Align(
alignment: Alignment.center,
child: Text('connect with us',style: TextStyle(fontSize:
15.0,color: Colors.black))
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
IconButton(onPressed: (){}, icon: Icon(Icons.facebook),color:
Colors.blue,iconSize: 35,),
IconButton(onPressed: (){}, icon:
Image.network('https://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Instagram-Icon.png/
1025px-Instagram-Icon.png'),iconSize: 30,),
IconButton(onPressed: (){}, icon:
Image.network('https://cdn4.iconfinder.com/data/icons/social-media-icons-the-circle-set/48/
twitter_circle-512.png'))
],
)
],),),
),
),
),
],
),
),
),
);
}
}
HOMEPAGE
import 'package:fixgo/page1.dart';
import 'package:fixgo/page10.dart';
import 'package:fixgo/page11.dart';
import 'package:fixgo/page12.dart';
import 'package:fixgo/page2.dart';
30
import 'package:fixgo/page3.dart';
import 'package:fixgo/page4.dart';
import 'package:fixgo/page5.dart';
import 'package:fixgo/page6.dart';
import 'package:fixgo/page7.dart';
import 'package:fixgo/page8.dart';
import 'package:fixgo/page9.dart';
import 'package:fixgo/services.dart';
import 'package:fixgo/signin.dart';
import 'package:flutter/material.dart';
void main(){
runApp(
MaterialApp(
debugShowCheckedModeBanner: false,
home:page1(),
)
);
}
class page1 extends StatefulWidget {
const page1({Key? key}) : super(key: key);
@override
State<page1> createState() => _page1State();
}
31
context,
MaterialPageRoute(builder: (context) => const app()),
);
},
child: Text('Logout')),),
],
),
),
body:
Center(
child: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsets.only(top: 25.0),
child: TextField(
decoration: InputDecoration(
hintText: 'search...',
suffixIcon:IconButton(onPressed: (){}, icon: Icon(Icons.search)),
prefixIcon: IconButton(onPressed: (){}, icon: Icon(Icons.search)),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(15.0)
)
)
),
),
Container(
height: 300,
width: 300,
child: Card(
child: Image.asset(
'assets/repair.png',
fit: BoxFit.cover,
),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(50.0),
),
elevation: 5,
margin: EdgeInsets.all(10),
),
),
SizedBox(
height: 30,
),
SizedBox(
height: 50,
width: 170,
child: ElevatedButton(
onPressed: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const pageorder()),
);
},
child: Text(
"place order",style: TextStyle(fontSize: 25,fontWeight:
FontWeight.bold,color: Colors.white)
),
style: ButtonStyle(
foregroundColor: MaterialStateProperty.all<Color>(Colors.white),
backgroundColor:
MaterialStateProperty.all<Color>(Colors.blue.shade900),
shape: MaterialStateProperty.all<RoundedRectangleBorder>(
RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
side: BorderSide(color: Colors.blue)
)
),
),
),
),
SizedBox(
height: 20,
32
),
Text('services',
style: TextStyle(
fontSize: 23,color: Colors.yellow[800]
)),
SizedBox(
height: 20,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page2()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/calender.png',),height: 60,width: 70,fit:
BoxFit.cover,
),
),
Text('scheduled',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(
width: 20,
),
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page3()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/paint.png',),height: 60,width: 70,fit: BoxFit.cover,
),
),
Text('value added',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(width: 20,),
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
33
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page4()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/repair1.png',),height: 60,width: 70,fit:
BoxFit.cover,
),
),
Text('Repair',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
)
],
),
SizedBox(height: 20,),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page5()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/wash.png',),height: 60,width: 70,fit: BoxFit.cover,
),
),
Text('car wash',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(width: 20,),
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page6()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/car1.png',),height: 60,width: 70,fit: BoxFit.cover,
),
),
34
Text('Modification',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(width: 20,),
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page7()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/accident.png',),height: 60,width: 70,fit:
BoxFit.cover,
),
),
Text('Accident',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
)
],
),
SizedBox(
height: 50,
),
Text('Accessories',
style: TextStyle(
fontSize: 23,color: Colors.yellow[800]
)),
SizedBox(
height: 10,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page8()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/speaker.png',),height: 60,width: 70,fit:
BoxFit.cover,
),
),
Text('speakers',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(width: 20,),
35
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page9()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/clean.png',),height: 60,width: 70,fit: BoxFit.cover,
),
),
Text('car care',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(width: 20,),
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page10()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/cover.png',),height: 60,width: 70,fit: BoxFit.cover,
),
),
Text('seat cover',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
)
],
),
SizedBox(
height: 20,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page11()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
36
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/caution.png',),height: 60,width: 70,fit:
BoxFit.cover,
),
),
Text('caution',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(width: 20,),
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page12()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/protection.png',),height: 60,width: 70,fit:
BoxFit.cover,
),
),
Text('Protectives',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(width: 20,),
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page13()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/light.png',),height: 60,width: 70,fit: BoxFit.cover,
),
),
Text('Lights',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
)
],
),
]),
),
);}}
37
Accessories
import 'package:fixgo/buy.dart';
import 'package:fixgo/page10_1.dart';
import 'package:fixgo/page10_2.dart';
import 'package:fixgo/page10_3.dart';
import 'package:fixgo/page11_1.dart';
import 'package:fixgo/page11_2.dart';
import 'package:fixgo/page11_3.dart';
import 'package:fixgo/page12_1.dart';
import 'package:fixgo/page12_2.dart';
import 'package:fixgo/page13_1.dart';
import 'package:fixgo/page8_2.dart';
import 'package:fixgo/page8_3.dart';
import 'package:fixgo/page9_1.dart';
import 'package:fixgo/page9_3.dart';
import 'package:flutter/material.dart';
void main(){
runApp(
MaterialApp(
debugShowCheckedModeBanner: false,
home:accessories() ,
)
);
}
class accessories extends StatefulWidget {
const accessories({Key? key}) : super(key: key);
@override
State<accessories> createState() => _accessoriesState();
}
38
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page8_2()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(
'https://rukminim1.flixcart.com/image/832/832/koq33ww0/car-speaker/r/h/e/
sb-tw-ss020-300w-max-sound-boss-original-imag34crfppgz6da.jpeg?q=70',),
height: 100,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Sound Boss)',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page8_3()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(
'https://rukminim1.flixcart.com/image/832/832/l37mtu80/car-speaker/6/5/a/
16-300-sb-b16-15-s-songbird-original-imagedugkcywph5b.jpeg?q=70',),
height: 100,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('songbird',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),
39
],
),
),
),
SizedBox(height: 20,),
Text('Car care',style: TextStyle(
fontSize: 23,color: Colors.yellow[800]
)),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page9_1()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(
'https://rukminim1.flixcart.com/image/832/832/k6jnfrk0/automotive-combo/z/
a/k/foafee404-indopower-original-imafnp2rzx2jtezy.jpeg?q=70'),
height: 200,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('INDOPOWER+CLOTH ',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 12,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(
'https://rukminim1.flixcart.com/image/832/832/kxw5tow0/car-interior-
cleaner/b/q/g/350-baalcc974-indopower-original-imaga8vhfjmatacw.jpeg?
q=70',),
40
height: 200,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('INDOPOWER +Brush',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 12,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page9_3()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(
'https://rukminim1.flixcart.com/image/832/832/kxw5tow0/car-interior-
cleaner/4/t/w/600-baalcc1003-indopower-original-imaga8vhxrhkwutq.jpeg?
q=70',),
height: 200,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('INDOPOWER+Brush ',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 12,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Text('Seat cover',style: TextStyle(
fontSize: 23,color: Colors.yellow[800]
)),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
41
MaterialPageRoute(builder: (context) => const
page10_1()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(
'https://rukminim1.flixcart.com/image/832/832/car-seat-cover/p/x/6/towel-
car-seat-cover-0851-jmjw-sons-original-imaekkrzxy4uytkf.jpeg?q=70'),
height: 100,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Seat Cover(4 Seater)',style:
TextStyle(fontWeight: FontWeight.bold,fontSize: 12,color:
Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page10_2()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(
'https://rukminim1.flixcart.com/image/832/832/j79czgw0/car-seat-cover/e/b/
v/brown4035-jmjw-sons-original-imaexjgky3zcrhbf.jpeg?q=70',),
height: 100,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('JSeat Cover(5 Seater)',style:
TextStyle(fontWeight: FontWeight.bold,fontSize: 12,color:
Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(
42
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page10_3()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(
'https://rukminim1.flixcart.com/image/832/832/car-
seat-cover/w/z/9/towel-car-seat-cover-0891-jmjw-sons-original-
imaekqesrshhn4zx.jpeg?q=70',),
height: 100,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Seat Cover (4 Seater)',style:
TextStyle(fontWeight: FontWeight.bold,fontSize: 12,color:
Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Text('Roadside Assistance',style: TextStyle(
fontSize: 23,color: Colors.yellow[800]
)),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page11_1()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(
'https://rukminim1.flixcart.com/image/832/832/xif0q/car-reflector-light/j/
y/3/foldable-warning-triangle-reflector-road-safety-reflective-with-
original-imagkh3wvk3cahst.jpeg?q=70'),
43
height: 200,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text(' Reflector ',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page11_2()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(
'https://rukminim1.flixcart.com/image/832/832/kevpwnk0/tire-air-pump/9/m/
t/car-metallic-heavy-duty-tyre-inflator-mytvs-original-
imafvgvcwqfgshgb.jpeg?q=70',),
height: 200,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Tyre Air Pump ',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page11_3()),
);
} ,
44
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(
'https://rukminim1.flixcart.com/image/832/832/xif0q/vehicle-jack/l/l/l/
jack-rod-for-mechanical-scissor-vehicle-lift-jack-vehicle-800kg-original-
imagmc9debc6hs4a.jpeg?q=70',),
height: 200,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Vehicle Jack ',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Text('Protectives',style: TextStyle(
fontSize: 23,color: Colors.yellow[800]
)),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page12_1()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(
'https://rukminim1.flixcart.com/image/832/832/k63xle80/car-cover/y/f/6/
gsmp-358-giffen-original-imafzmgghe5b5vfu.jpeg?q=70'),
height: 100,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Car Cover ',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
45
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page12_2()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(
'https://rukminim1.flixcart.com/image/832/832/xif0q/car-door-bumper-guard/
b/u/j/8-8pcs-universal-3d-carbon-fiber-texture-car-door-handle-door-
original-imagn9zs9gs5qbqj.jpeg?q=70',),
height: 100,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Car Door Guard',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Text('Light',style: TextStyle(
fontSize: 23,color: Colors.yellow[800]
)),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page13_1()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(
'https://rukminim1.flixcart.com/image/832/832/ku79vgw0/head-light-unit/e/
s/p/led-new-car-led-focus-beam-light-and-flood-light-off-roading-for-
original-imag7dqgysu4q6gb.jpeg?q=70'),
height: 100,width: 180,
46
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Fog Light',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
],
),
),
);
}
}
Backend
47
48
TESTING AND IMPLEMENTATION
49
• is sufficiently usable.
• can be installed and run in its intended environments, and
• Achieves the general result its stakeholder’s desire.
As the number of possible tests for even simple software components is practically infinite,
all software testing uses some strategy to select tests that are feasible for the available time
and resources. As a result, software testing typically (but not exclusively) attempts to execute
a program or application with the intent of finding software bugs (errors or other defects).
Software testing can provide objective, independent information about the quality of software
and risk of its failure to users and/or sponsors. Software testing can be conducted as soon as
executable software (even if partially complete) exists. The overall approach to software
development often determines when and how testing is conducted. For example, in a phased
process, most testing occurs after system requirements have been defined and then
implemented in testable programs. In contrast, under an Agile approach, requirements,
programming, and testing are often done concurrently.
Thus, testing plays a very critical role in determining the reliability and efficiency of the
software and hence is very important stage in software development. There are to be
conducted on the software evaluate its performance under a number of conditions. Ideally, it
should so at the level of each module and also when all of them are integrated to form the
completed system.
TESTING TECHNIQUES
The various testing techniques are,
White box Testing
Tests are performed to ensure that all internal operations of the software are performed
according to the specifications of the client. This is called White box testing.
White-box testing (also known as clear box testing, glass box testing, transparent box testing,
and structural testing) is a method of testing software that tests internal structures or workings
of an application, as opposed to its functionality (i.e. black-box testing).
In white-box testing an internal perspective of the system, as well as programming skills, are
used to design test cases. White-box testing can be applied at the unit, integration and system
levels of the software testing process. Although traditional testers tended to think of white-
box testing as being done at the unit level, it is used for integration and system testing more
frequently today. It can test paths within a unit, paths between units during integration, and
between subsystems during a system–level test. Though this method of test design can
uncover many errors or problems, it has the potential to miss unimplemented parts of the
specification or missing requirements. The details entered by the administrator are saved and
stored in the database, and testing is done to verify whether the control of each form or action
is working in the exact way. Using white-box testing methods, the software engineer can
derive the test cases that
• Guarantee that all independent paths within a module have been
exercised at least once.
50
• Exercise all logical decision on their true and false sides.
• Execute all loops at their boundaries and within their operational
bounds.
• Exercise internal data structure to ensure their validity.
6.2.1Condition Testing
Test cases are derived to determine whether the logic conditions and decision statements are
free from errors. Condition testing strategy is used to check if the operators used are correct
and to verify conditions such as if an error message is displayed if a non- registered user is
signed in to the app, or a user is registered without providing his body mass index value.
6.2.2Loop Testing
This testing is used to check the variety of loops present in programming. The working of the
loops such as while, for and do while are checked for its proper execution. The statements
inside the loop body are executed line by line for every condition that satisfies the loop.
6.2.3Unit Testing
This testing is performed to test the individual units in the system. Each module
51
in the system is tested individually and executed line by line for accurate functioning of the
system. The admin module has been tested for its proper functioning, since all services are
providing and data is stored and controlled by this module.
6.2.4Integration Testing
The objective of integration testing is to take all tested individual modules,
integrate them, test them again and develop the system. The Mobile application module, the
blood bank module as well as the admin should be integrated together for the proper
functioning of the whole system. Testing is conducted at this stage to check whether the
requested services are reaching to the admin through the mobile device and when requested
by the user for the nearest blood bank, it’s been available to the user appropriately.
6.2.5Acceptance Testing
This testing is performed to ensure that the functional, behavioral, and performance
requirements of the system is met. It may involve chemical tests, physical tests, or
performance tests. The acceptance test suite is run against the supplied input data or using an
acceptance test script to direct the testers. Then the results obtained are compared with the
expected results. If there is a correct match for every case, the test suite is said to pass. If not,
the system may either be rejected or accepted on conditions previously agreed between the
sponsor and the manufacturer. The objective is to provide confidence that the delivered
system meets the business requirements of both sponsors and users. The acceptance phase
may also act as the final quality gateway, where any quality defects not previously detected
may be uncovered. The system is implemented after all these checks and validations
6.26Output Testing
Output testing of the proposed system is important since no system could be useful if it does
not produce the required output. The output format on the screen is found to be correct. as the
format was designed in the system design phase according to the user needs. For the hard
copy also the output comes out as the specified requirements by the user. Hence output
testing doesn’t result in any correction on the system.
52
6.3SYSTEM IMPLEMENTATION
System implementation is the final stage of software development life cycle. For the
successful implementation and cooperation of new systems users must be selected, educated
and trained. Unless the users are not trained, the system will become complex and it will feel
as a burden for them. A product software implementation method is a systematically
structured approach to effectively integrate software based service or component into the
workflow of an organizational structure or an individual end-user. A product software
implementation method is a blueprint to get users and/or organizations running with a
specific software product.
The method is a set of rules and views to cope with the most common issues that
occur when implementing a software product: business alignment from the organizational
view and acceptance from human view. It is stated that the implementation of (product)
software consumes up to 1/3 of the budget of a software purchase The complexity of
implementing product software differs on several issues. Examples are: the number of end
users that will use the product software, the effects that the implementation has on changes of
tasks and responsibilities for the end user, the culture and the integrity of the organization
where the software is going to be used and the budget available for acquiring product
software.
The implementation stage of the system begins by preparing a plan for implementation of the
system. According to this plan, activities are to be carried out, discussions are made regarding
the equipment to be required and resources and additional facilities required implementing
the system. The most critical stage in achieving a successful system is by giving users
confidence that the system will work based on their requirements and be effective. This
method also offers the greatest.
53
7. MAINTENENCE AND SECURITY
7.1 SYSTEM MAINTANENCE
A process of modifying a software system or component after delivery to correct faults, to
improve performance is known as software maintenance. A common perception of
maintenance is that it merely involves fixing defects. However, one study indicated that the
majority, over 80%, of the maintenance effort is used for non- corrective actions. Software
maintenance is a very broad activity that includes error correction, enhancements of
capabilities, deletion of obsolete capabilities, and optimization. Because change is inevitable,
mechanisms must be developed for evaluation, controlling and making modifications. So any
work done to change the software after it is in operation is considered to be maintenance
work.
The purpose is to preserve the value of software over the time. The value can be enhanced by
expanding the customer base, meeting additional requirements, becoming easier to use, more
efficient and employing newer technology Maintenance may span for 20 years, whereas
development may be 1-2 years. Corrective maintenance is done to repair the faults or defects
found in day – to –day system functions, that is software design, logic and coding errors.
Adaptive maintenance is the implementation of changes in a part of the system which has
been affected by changes that occurred in some other part of the system. The objective of
perspective maintenance should be to prevent failures and optimize the software. Minor
adaptive changes should be handled by normal maintenance process
54
7.2SYSTEM SECURITY
System security is a branch of technology known as information security as applied to
computers and networks. The objective of system security includes protection of
information and property from theft, corruption, or natural disaster, while allowing the
information and property to remain accessible and productive to its intended users. The
terms system security, means the collective processes and mechanisms by which sensitive
and valuable information and services are protected from publication, tampering or collapse
by unauthorized activities or untrustworthy individuals and unplanned events respectively.
The technologies of system security are based on logic. As security is not necessarily the
primary goal of most computer applications, designing a program with security in mind
often imposes restrictions on that program's behavior. Internet is a part of everyday life; web
applications are an essential component of every business activity. Customers and trading
partners expect fast, accurate and secure applications with robust functionality.
Companies want sites that are easy to maintain and update, yet cost effective. Auditors and
security officers want to ensure that the web applications are controlled and that there is
strong data integrity. All of these requirements need to be blended to ensure that each web
application meets the company’s goals, satisfies the customers Any system developed should
be secured and protected against possible hazards.
Security measures are provided to prevent unauthorized access of various levels. An
uninterrupted supply should be provided, so that the power failure or voltage fluctuations will
not erase the data in the files or database. Data security is the practice of keeping data
protected from corruption and unauthorized access. The focus behind data security is to
ensure privacy while protecting personal or corporate data. Data is the raw form of
information stored as columns and rows in our database, network servers and personal
computers. Authorization ensures that the logged-in user is allowed to use a page or perform
an operation. Authorization is typically based on one or more roles (sometimes called groups)
to which the user belongs.
55
8.CONCLUSION
To conclude the description about the project, Fixgo is an innovative application project
that provides a comprehensive solution for booking car services online. The platform offers a
user-friendly interface that allows customers to quickly and easily book car services in just a
few clicks. The application project provides a wide range of services, including car
maintenance, repairs, and cleaning.
One of the standout features of Fixgo is its streamlined booking process. Customers can
easily schedule an appointment for car services using the application, and receive real-time
updates on the status of their booking. This makes the process of booking car services
convenient and stress-free.
Fixgo also provides customers with access to a network of trusted car service providers. This
ensures that customers can receive high-quality services from reliable providers. The
application project is designed to offer transparency and accountability, with detailed service
Another key benefit of Fixgo is its focus on customer satisfaction. The platform offers a range
of customization options, allowing customers to tailor their service bookings to their specific
needs. Additionally, the application project offers a range of payment options, including
secure online payments and cash payments.
Overall, Fixgo is a game-changing application project that offers a convenient and reliable
solution for booking car services online. With its user-friendly interface, trusted service
providers, and focus on customer satisfaction, Fixgo is poised to become a leading player in
the online car services market. Whether you need routine car maintenance or emergency
repairs, Fixgo is the go-to platform for all your car service needs. Try Fixgo today and
experience the future of online car services!
56
9.BIBLIOGRAPHY
Website:
• https://docs.flutter.dev/reference/tutorials
• https://www.tutorialspoint.com/flutter/index.html
• https://firebase.google.com
• https://pub.dev
57
10.ANNEXTURE
Screenshots
58
59
60
61