Professional Documents
Culture Documents
Submitted by
INFORMATION TECHNOLOGY
APRIL – 2023
i
PSNA COLLEGE OF ENGINEERING AND TECHNOLOGY
(An Autonomous Institution Affiliated to Anna University, Chennai)
DINDIGUL – 624622
BONAFIDE CERTIFICATE
SIGNATURE SIGNATURE
Dr. A. Vincent Antony Kumar, M.E., Ph.D., Dr. R. Venkatesh. M.E., Ph.D.,
ii
ACKNOWLEDGEMENT
We express our deep gratitude to Lord Almighty, our supreme guide for
bestowing his blessings upon entire endeavour.
We would like to thank our Principal Dr. D.Vasudevan M.E., Ph.D., for
being a light in guiding every one of us and infusing us the strength and
enthusiasm to work over successfully.
iii
ABSTRACT
The main interface of this application is the item screen. It showcases every
material that were needed for building a building like sand, bricks, steels, cement,
electricals, paintings etc. The people can easily get their materials in huge
numbers within short period of time. All the products were available, which is
essential for construction of a building from starting day to finishing day. The
users can even book their engineers for their house plan, workers for building.
So, the users can build their structures by themselves without any masons or
builders. All departments of workers and products were available for users to
construct their own building. All brands of products with all range of prices will
be available here.
iv
TABLE OF CONTENTS
ABSTRACT iv
LIST OF FIGURES vii
LIST OF ABBREVATIONS viii
1 INTRODUCTION 1
1.1 Purpose 2
1.2 Objective 2
1.3 Domain of Automatic Timetable Generator 3
2 LITERATURE REVIEW 4
3 SYSTEM ANALYSIS 5
3.1 Existing System 5
3.2 Proposed System 5
4 SYSTEM METHODOLOGY 7
4.1 Requirement Phase 7
4.2 Design Phase 7
4.3 Development Phase 8
4.4 Testing Phase 9
4.5 Deployment Phase 10
4.6 Review Phase 10
5 SYSTEM REQUIREMENTS 11
5.1 Software Requirements 11
5.2 Hardware Requirements 11
v
6 FEASIBILITY ANALYSIS 14
6.1 Economic Feasibility 14
6.2 Technical Feasibility 14
6.3 Behavioural Feasibility 15
7 SYSTEM FEATURES 16
7.1 Admin Features 16
7.2 User Features 17
7.3 Advantages 18
8 SYSTEM DESIGN 19
8.1 Sequence Diagram 19
8.2 Use Case Diagram 20
9 SYSTEM TESTING 21
9.1 Unit Testing 21
9.2Integration Testing 21
9.3 Functional Testing 21
10 SYSTEM IMPLEMENTATION 23
10.1 Sample Output 25
REFERENCE 54
vi
LIST OF FIGURES
vii
LIST OF ABBREVATIONS
JS - Java Script.
RN - React - native.
FB - Firebase.
Expo - Expo tool kit
IOS - iPhone Operating System
viii
CHAPTER 1
1 INTRODUCTION
1.1 PURPOSE
1
all brands and a range of prices, users can easily make informed decisions about
their purchases.
By streamlining the purchasing process and offering a wide range of
products and services, the application improves efficiency and convenience for
builders and homeowners alike. Overall, the purpose of this mini project is to
provide a comprehensive e-commerce solution for construction needs that is
accessible, efficient, and easy to use.
1.2 OBJECTIVE
2
To continuously improve and update the application to keep up with the
changing demands of the construction industry and the evolving needs of
customers
The project would likely fall within the broader category of "e-commerce"
and "mobile application development" as well, given its focus on creating an
online platform for buying and selling construction materials and services.
Additionally, it could potentially involve aspects of logistics and supply chain
management, as the application aims to facilitate the efficient delivery of
materials to construction sites.
The project aims to facilitate the efficient delivery of construction materials
to construction sites, which requires effective logistics and supply chain
management. This could involve coordinating the transportation of materials
from suppliers to buyers, tracking inventory levels, and managing the delivery
schedule to ensure timely delivery of materials to construction sites.
3
CHAPTER 2
LITERATURE REVIEW
The construction industry is one of the largest and most important sectors
of the global economy. As such, it is no surprise that it has been a focus of
technological innovation in recent years, with the development of numerous
digital tools and platforms aimed at improving efficiency, reducing costs, and
enhancing collaboration among stakeholders. One key area of innovation within
the industry has been the adoption of e-commerce solutions, which enable
contractors and suppliers to buy and sell goods and services online.
4
CHAPTER 3
SYSTEM ANALYSIS
One of the main features of the proposed system is one-day delivery, which is
achieved by directly buying products from respective shops and delivering them.
This feature ensures that construction work is not delayed due to late deliveries.
Moreover, the application provides an extensive range of brands and products,
catering to all budgets. The proposed system will be developed using React-
Native and Firebase as the database, enabling it to run without a server.
5
2 Time-saving:
The traditional process of purchasing construction materials involves visiting
multiple stores physically, which can be time-consuming. With the proposed
system, users can easily purchase their required materials within a few clicks,
saving valuable time.
4 One-day delivery:
The application's one-day delivery feature ensures that construction work is
not delayed due to late deliveries, which is often the case with the traditional
system.
5 Cost-effective:
The proposed system offers products at competitive prices, and users can
easily compare prices to make informed decisions, leading to cost savings.
6
CHAPTER 4
SYSTEM METHODOLOGY
The application will have a simple and clean design to make it easy for
users to navigate and find what they are looking for. The item screen will be the
main interface of the application, showcasing all the necessary materials for
construction.
7
The database for the application will be implemented using Firebase,
providing reliable and scalable cloud storage. This will allow for seamless data
management and ensure that the application runs smoothly without the need for
a server. Furthermore, the application will be developed using React-Native,
which provides cross-platform compatibility, enabling the application to run
smoothly on both Android and iOS devices.
Overall, the design phase of the proposed system aims to provide users
with a seamless and hassle-free experience, making it easy for them to purchase
construction materials and services online.
The front-end development will involve creating the user interface of the
mobile application. The team will use React-Native to build the application's
user interface. The user interface will be designed to be easy to use and visually
appealing to the users. The team will also ensure that the user interface is
responsive and can adapt to different screen sizes.
8
The back-end development will involve building the server-side of the
application. The team will use Firebase to store and retrieve data from the cloud
database. The database will be designed to be scalable and capable of handling
large amounts of data. The team will also ensure that the database is secure and
can protect user data from unauthorized access.
During the development phase, the team will work in sprints, where they
will develop specific features of the application in short time frames. This
approach will allow the team to be agile and respond to any changes or issues
that may arise during the development process. Once the application is fully
developed, it will be tested thoroughly to ensure that it meets all the
requirements and is free of any bugs or issues.
The testing process begins with the preparation of a test plan, which
includes the different types of testing to be performed, the resources required, and
the expected outcomes. Some of the essential types of testing that can be
performed on our application include unit testing, integration testing, system
testing, and acceptance testing.
9
4.5 DEPLOYMENT PHASE
The deployment phase is the process of making the system available for
use by the end-users. This phase is when the system has been successfully done
and fulfills all the objectives. The system can be deployed and finally the system
will be published to the user for their needs. This deployed in googles play store
in accordance with the android platform development.
10
CHAPTER 5
SYSTEM REQUIREMENTS
11
content updates, interactive maps, animated 2D/3D graphics, scrolling video
jukeboxes, etc. you can bet that JavaScript is probably involved. It is the third
layer of the layer cake of standard web technologies, two of which (HTML and
CSS) we have covered in much more detail in other parts of the Learning Area.
The Java programming language is a high-level language that can be
characterized by all the following:
REACT NATIVE
React Native is an open-source mobile application framework developed
by Facebook. It allows developers to build high-performance mobile
applications for both Android and iOS platforms using JavaScript and React.
With React Native, developers can create a single codebase that can be shared
across multiple platforms, which can significantly reduce development time and
costs.
One of the key benefits of React Native is its ability to deliver a native-
like user experience, which means that the applications built with React Native
can take advantage of the hardware capabilities of the device, such as the
camera, accelerometer, and GPS. Additionally, React Native provides a rich set
of UI components and APIs that allow developers to build complex and
interactive user interfaces.
12
FIREBASE
Firebase Firestore is a cloud-hosted NoSQL document database that is
widely used for mobile and web application development. It is a flexible, scalable,
and cost-effective solution that allows developers to store and sync data in real-
time across multiple devices and platforms. Firestore supports offline data access,
real-time data synchronization, and powerful query capabilities, making it an
ideal choice for modern mobile and web applications.
In our project, we have used Firebase Firestore as the database for our E-
commerce mobile application for the construction industry. We have stored all
the products and their details, user information, orders, and other necessary
information in Firestore. The real-time synchronization feature of Firestore
allows us to update the application in real-time with the latest information,
ensuring a seamless user experience.
13
CHAPTER 6
FEASIBILITY ANALYSIS
14
Firebase offers a scalable and flexible infrastructure that can easily handle
the requirements of the project, such as real-time updates and high availability.
15
CHAPTER 7
SYSTEM FEATURES
2 User management:
The admin should be able to manage user accounts and permissions. They
should be able to view and edit user profiles, add or remove users, and assign
roles and permissions.
3 Product management:
The admin should be able to manage the products available on the platform.
This includes adding new products, updating product information, managing
inventory, and deleting products that are no longer available.
4 Order management:
The admin should be able to manage the orders placed by users. This
includes viewing order details, updating the order status, and managing the
shipping and delivery of products.
5 Payment management:
16
The admin should be able to manage payment transactions made through
the platform. This includes managing payment gateways, refunds, and
tracking transactions.
The application also allows users to book engineers and workers for their
construction projects, enabling them to build their structures independently
without the need for masons or builders. The application covers all departments
of workers and products required for the construction process. Users can access
all brands of products with various price ranges, ensuring that they can find the
product that best fits their budget.
17
7.3 ADVANTAGES
• Convenience:
The application provides users with the convenience of purchasing
construction materials and booking workers from their mobile devices. Users
can avoid the hassle of visiting physical stores and save time and effort.
• One-day delivery:
The application's one-day delivery feature ensures that users receive their
products promptly, enabling them to continue with their construction work
without any delays.
• Easy booking:
The application's booking feature makes it easy for users to book engineers
and workers for their construction projects, ensuring that they have the
necessary workforce to complete their construction work.
• Budget-friendly:
The application offers products from various brands with different price
ranges, enabling users to choose products that fit their budget.
18
CHAPTER 8
SYSTEM DESIGN
The system design of the E-commerce mobile application for the
construction department involves various components that work together to
provide a seamless user experience. The application is developed using the React
Native framework, which enables it to run on both iOS and Android devices. The
database is on Firebase, which ensures that data is secure and reliable.
The main interface of the application is the item screen, which showcases
all the construction materials available for purchase. The users can easily browse
through the products and select the ones they need.
19
8.2 USE-CASE DIAGRAM
20
CHAPTER 9
SYSTEM TESTING
System testing is an essential part of any software development project,
including the E-commerce mobile application for the construction department.
The purpose of system testing is to ensure that the application is free from
defects and performs as intended. The following is an overview of the system
testing process for this project:
1. Performance testing:
This involves testing the application's performance under various
conditions, such as heavy traffic and high usage. Performance testing is
done to ensure that the application can handle a large volume of traffic and
usage.
21
2. Security testing:
This involves testing the application's on performs as intended.
This involves testing the application with actual users to ensure that
it meets their needs and expectations. User acceptance testing is done to
ensure that the application is user-friendly and easy to use.
22
CHAPTER 10
SYSTEM IMPLEMENTATION
The system implementation for the E-commerce mobile application for the
construction department involves several key steps to ensure that the application
is developed and deployed successfully. The following is an overview of the
system implementation process for this project:
Requirements gathering:
System design:
his involves creating a detailed system design that outlines the architecture,
components, and data structures for the application. The system design will serve
as a blueprint for the development process.
Development:
This involves writing the code for the application using the React Native
framework and integrating it with the Firebase database. The development
process will include implementing the features and functionality specified in the
requirements and system design.
23
Testing:
This involves testing the application using various testing techniques, such
as unit testing, integration testing, functional testing, performance testing,
security testing, and user acceptance testing. The testing process will ensure that
the application is free from defects and performs as intended.
Deployment:
This involves deploying the application to the app stores for iOS and
Android devices. The deployment process will include submitting the application
to the app stores and ensuring that it meets their guidelines and requirements.
Maintenance:
24
10.1 SAMPLE OUTPUT
25
After login/registration the user will taken to the home screen.
This is the home Screen contains all the categories of constructional products
26
This is the home Screen contains all the categories of constructional products
27
Theis the search screen for the products where users can able to search all kinds
ofproducts here.
28
This is the products View Screen for particular constructional products.
29
The product View Screen where all details of the item is listed and showed.
30
All reviews and options of delivery the product.
31
The product suggestion items for the related products and quantity, address selection
screen for that selected product.
32
Product prize and quantity confirmation screen.
33
Payment Gateway for users to pay the amount
34
The screen for those engineers to be booked for the construction.
list of skilled engineers and details.
35
All details of the Each Engineers and their Skills
36
Cart Screen for products for the application to book mark that
product.
37
CHAPTER 11
11.1 CONCLUSION
There are several potential future enhancements that could be made to the
E-commerce mobile application for the construction department to further
improve its functionality and user experience. Some of these enhancements
include:
38
Personalized recommendations:
The application could use machine learning algorithms to analyze user data
and provide personalized product recommendations based on their preferences
and past purchases.
Chatbot integration:
Integrating a chatbot into the application would allow users to quickly and
easily get answers to their questions about products, services, and orders.
These potential enhancements would not only improve the functionality and
user experience of the application but also position it for long-term success and
growth in the competitive E-commerce market.
39
11.3 SOURCE CODE
Products Categories-Screeen :
console.log(data);
EnteredItem = data;
GotoItemViewScreeen(EnteredItem);
40
const GotoItemViewScreeen = (EnteredItem) =>{
console.log(EnteredItem, 'data');
return (
<View style={styles.wholeScreen}>
<ScrollView
showVertivalScrollIndicator={false}
>
<View style={styles.itemRow}>
<View style={styles.container}>
navigation.navigate("SearchStack",{screen
:'SearchedItemsScreen',params:{EnteredItem}});
}}>
41
<Image
source={require('../assets/images/Categories/bricks.png')} style={styles.image}
/>
</TouchableOpacity>
<Text style={styles.text}>Bricks</Text>
</View>
<View style={styles.container}>
navigation.navigate("SearchStack",{screen
:'SearchedItemsScreen',params:{EnteredItem}});
}}>
<Image
source={require('../assets/images/Categories/cement.png')}
style={styles.image} />
</TouchableOpacity>
<Text style={styles.text}>Cement</Text>
</View>
<View style={styles.container}>
42
navigation.navigate("SearchStack",{screen
:'SearchedItemsScreen',params:{EnteredItem}});
}}>
<Image source={require('../assets/images/Categories/sand.png')}
style={styles.image} />
</TouchableOpacity>
<Text style={styles.text}>Sand</Text>
</View>
</View>
<View style={styles.itemRow}>
<View style={styles.container}>
navigation.navigate("SearchStack",{screen
:'SearchedItemsScreen',params:{EnteredItem}});
}}>
<Image
source={require('../assets/images/Categories/gravel.png')} style={styles.image}
/>
</TouchableOpacity>
43
<Text style={styles.text}>Steels</Text>
</View>
<View style={styles.container}>
navigation.navigate("SearchStack",{screen
:'SearchedItemsScreen',params:{EnteredItem}});
}}>
<Image source={require('../assets/images/Categories/paint-
box.png')} style={styles.image} />
</TouchableOpacity>
<Text style={styles.text}>Paints</Text>
</View>
<View style={styles.container}>
navigation.navigate("SearchStack",{screen
:'SearchedItemsScreen',params:{EnteredItem}});
}}>
<Image source={require('../assets/images/Categories/tiles.png')}
style={styles.image} />
44
</TouchableOpacity>
<Text style={styles.text}>Tiles</Text>
</View>
</View>
</View>
</ScrollView>
</View>
wholeScreen:{
flex:1,
},
container:{
alignItems:'center'
},
45
round:{
},
image:{
height:dimensions.height/10,
width:dimensions.width/4.5,
marginRight:20,
marginLeft:5,
},
text:{
fontSize:14,
color: 'black',
},
itemRow:{
flexDirection:'row',
width:'100%',
marginTop: 20,
justifyContent:'space-evenly'
46
})
return { styles }
Products EngineeerScreen:
47
useEffect(() =>{
getDocs(collection(db, 'engineers'))
.then(docSnap => {
docSnap.forEach((doc) => {
setIsLoading(false);
setEngineersData(data);
});
});
},[])
console.log(engineersData);
return (
<View style={styles.wholeScreen}>
<View style={styles.adminsearchcontainer}>
48
<View style={{paddingLeft:22,paddingTop:7}}>
</View>
<View style={{flexDirection:'row'}}>
</View>
</View>
<ScrollView contentContainerStyle={{
paddingHorizontal:15,
paddingTop: 10,
height: 49,
backgroundColor:'transparent'
}}
horizontal
showsHorizontalScrollIndicator={false}
>
<TouchableOpacity style={styles.topscrollcontenets}>
</TouchableOpacity>
<TouchableOpacity style={styles.topscrollcontenets}>
49
</TouchableOpacity>
<TouchableOpacity style={styles.topscrollcontenets}>
<Text>Compose</Text>
</TouchableOpacity>
<TouchableOpacity style={styles.topscrollcontenets}>
<Text>Prize</Text>
</TouchableOpacity>
<TouchableOpacity style={styles.topscrollcontenets}>
<Text>Experience</Text>
</TouchableOpacity>
<TouchableOpacity style={styles.topscrollcontenets}>
<Text>Age</Text>
</TouchableOpacity>
</ScrollView>
<View style={styles.itemsView}>
{(() => {
if(isLoading==false){
return(
<FlatList
showsVerticalScrollIndicator={false}
50
data={engineersData}
return(
);
}}
/>
);
}else{
return(
})()}
</View>
</View>
51
wholeScreen:{
flex:1
},
adminsearchcontainer:{
backgroundColor:'#ffdb00',
paddingTop:40,
flexDirection:'row',
justifyContent:'space-between',
paddingBottom:10,
alignItems:'center',
borderBottomColor:'black',
borderBottomWidth:.4
},
searchIcon:{
marginRight: 9,
},
Righticons:{
marginRight:10
},
topscrollcontenets:{
backgroundColor:'transparent',
52
borderColor:'black',
borderWidth:1,
borderRadius:20,
padding:9,
marginRight:10,
borderColor:'#C0BA,B7'
},
53
REFERENCE
III. "Building a Mobile E-commerce App with React Native" by Yash Soni on
Hacker Noon: https://hackernoon.com/building-a-mobile-e-commerce-
app-with-react-native-part-1-ml7t37ib
IV. "7 Best Practices for Mobile App Testing" by Sumit Agrawal on DZone:
https://dzone.com/articles/7-best-practices-for-mobile-app-testing
54