Sem 3 Project Report
Sem 3 Project Report
Intoduction
1
1.1 Project Abstract
In the dynamic and ever-growing automotive industry, the need for a seamless and user-friendly platform
for car enthusiasts to buy and sell vehicles is paramount. "Car Deals" aims to fulfill this need by providing
an innovative online marketplace where users can easily list their cars for sale, browse a diverse range of
available vehicles, and facilitate secure transactions.
Key Features:
1.User-friendly Interface:
An intuitive and responsive web and mobile interface designed for easy navigation, ensuring a positive
user experience.
3.Secure Transactions:
Implementation of a secure and transparent payment system for seamless transactions between buyers and
sellers. Integration of payment gateways to facilitate online transactions securely.
5.Real-time Notifications:
Push notifications and alerts to keep users informed about listing updates, inquiries, and transaction status.
6.Integration of Analytics:
Utilization of analytics tools to gather insights into user behavior, popular car models, and market trends.
2
1.2 Existing System:
In the existing system are done manually but in the proposed system we have to
computerize the car selling and buying in this application. And People want go to the
supplier for pickup the water can.
Lack of security of data.
More manpower.
Time-consuming.
Consumes a large volume of paperwork.
Needs manual calculations.
3
1.3 Scope of work:
Data exploration: The scope of Car Selling and buying includes exploring the dataset using
various statistical and visualization techniques.
Feature engineering: The scope of Car Selling and buying includes creating new features
from existing ones.
This includes extracting information like age of the car, mileage, and condition of the car
from existing features.
Model building: The scope of Car Selling and buying includes building a model using the
preprocessed dataset. This includes selecting an appropriate algorithm, training the model,
and evaluating its performance using metrics like accuracy, precision, and recall
4
1.4 Operating Environment – Hardware and Software:
Hardware Specification:
Processor : snapdragon
Clock speed : 500 MHZ
RAM : 6 GB of RAM
Memory : 128 GB or high
Software Specification:
OS : Android
IDE : Android Studio
Database : Firebase
5
1.6 Module Specification:
1. Administration Management:
Admin Login:
Secure login functionality for administrators to access the system.
Authentication mechanisms to ensure only authorized personnel can log in.
Data Insertion:
Admins can add, modify, or delete car-related data into/from the system.
Implementation of data validation to ensure the accuracy and integrity of
information.
Logging and audit trails for tracking data modifications.
2. User Management:
User Access:
Registered users can log in and access the system.
Different roles (e.g., regular users, premium users) with varying levels of
access.
Data Display:
Displaying sorted and filtered car-related data based on user preferences.
Search and filtering options to help users find specific cars or categories.
Pagination and user-friendly interfaces for easy navigation.
6
3. Category Management:
Car Types:
Classification of cars into different categories or types (e.g., Sedan, SUV,
Electric).
Admins can manage and update the list of categories.
Sorting Information:
Implementation of sorting mechanisms for users to view cars based on
categories.
Dynamic updating of categories based on the addition or removal of car
types.
7
Chapter 3
Proposed System
8
2.1 Proposed System :-
User Authentication:
Users (buyers and sellers) should be able to create accounts and log in securely.
Use Firebase Authentication or a similar service for secure user authentication.
User Profiles:
Allow users to create and manage profiles.
Sellers can add details about the cars they are selling.
Buyers can view and edit their profiles.
Car Listings:
Sellers can create detailed listings for each car they want to sell.
Include information such as make, model, year, mileage, price, images, and
additional features.
Provide a search and filter functionality for buyers to find specific cars.
Payment Integration:
Implement a secure payment gateway for users to make payments.
Support multiple payment methods (credit cards, digital wallets, etc.).
Order Processing:
Once a buyer decides to purchase a car, facilitate an order process.
Allow buyers to confirm their order and initiate payment.
Order History:
Keep track of users' order history.
Buyers and sellers should be able to view details of past transactions.
9
2.2 Project Objectives:-
To identify and understand the distribution of each variable in the dataset,
including their ranges, central tendencies, and spread, and to identify any missing or
erroneous data.
To explore the relationships between the different variables in the dataset,
including the correlations between them and any patterns or trends that emerge from
the data.
To determine the key factors that impact the
selling price of a used car, including the car's age, mileage, condition, and other
features,
10
Chapter 3
Analysis & Design
11
3.1 Entity Relationship Diagram
12
3.2Data Flow Diagram
13
3.3 Use Case Diagram
14
3.4 Class Diagram:
15
3.5 Sequence Diagram:
16
3.6 Activity Diagram
Admin Activity Diagram:
17
User Activity Diagram:
18
3.7 Table Structure
19
20
3.8 User Interface Screens
Home Page:
21
Admin Home Page:
22
Customer Registration Page :
23
Customer Summary Page :
24
3.9 Test Case
Test Case Id Test Objective Step Input Expected Actual Result Status
Descripti Result Pass or
on Fail
25
"Invalid
credential"
26
TC_06 To check add 1.Enter Audi Product Product add Pass
product the add successful
SUV
produvt successful
detail 5000000
TC_07 To check add 1.Enter blank Details not Details not enter Pass
product without the enter
input produvt
detail
TC_08 To check the user 1.Select By click Order Order summary Pass
can proceed to buy the on the summary open
product product open
27
TC_09 To check the order 1.Go to By Order Order approved Pass
By admin Order Clicking approved
Page the
approve
button
28
4.Drawbacks and Limitations:
5. Proposed Enhancement:
Every software has some weakness, and to overcome some enhancements are needed that make
software powerful.
In future, few good changes will definitely make this software more powerful to work.
29
6. Conclusion:
After verification following conclusion can be drawn.
7. Bibliography:
The Complete Reference Java2 Fourth Edition
- Herbert Schildt
-James Rumbaugh
w3schools
-https://www.w3schools.com/
30
8. ANNEXURE
31
ANNEXURE 3 : SAMPLE PROGRAM CODE
MainActivity.java
package com.example.carsapp;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import com.example.carsapp.Model.Users;
import com.example.carsapp.Prevalent.Prevalent;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import io.paperdb.Paper;
32
private ProgressDialog loadingBar;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Paper.init(this);
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
startActivity(intent);
});
joinNowButton.setOnClickListener(new View.OnClickListener() {
@Override
startActivity(intent);
});
33
{
AllowAccess(UserPhoneKey, UserPasswordKey);
loadingBar.setMessage("Please wait.....");
loadingBar.setCanceledOnTouchOutside(false);
loadingBar.show();
RootRef = FirebaseDatabase.getInstance().getReference();
RootRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
if (dataSnapshot.child("Users").child(phone).exists()){
if (usersData.getPhone().equals(phone))
if (usersData.getPassword().equals(password))
34
loadingBar.dismiss();
Prevalent.currentOnlineUser = usersData;
startActivity(intent);
else {
loadingBar.dismiss();
Toast.makeText(MainActivity.this,"Password is
incorrect",Toast.LENGTH_SHORT).show();
else {
Toast.makeText(MainActivity.this, "Account with this " + phone + " number do not exists.",
Toast.LENGTH_SHORT).show();
loadingBar.dismiss();
@Override
});
35
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/welcome"
tools:context=".MainActivity">
<ImageView
android:id="@+id/app_logo"
android:layout_width="300dp"
android:layout_height="100dp"
android:layout_marginTop="60dp"
android:src="@drawable/applogo" />
<TextView
android:id="@+id/app_slogan"
android:layout_width="248dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="153dp"
android:layout_marginEnd="29dp"
android:textAlignment="center"
android:textColor="@color/colorPrimary"
36
android:textSize="30sp"
android:textStyle="bold|italic" />
<Button
android:id="@+id/main_login_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="10dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:background="@drawable/buttons"
android:padding="20dp"
android:textAllCaps="false"
android:textSize="18sp"
android:textColor="@android:color/white"
/>
<Button
android:id="@+id/main_join_now_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/main_login_btn"
android:layout_marginBottom="5dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
37
android:background="@drawable/input_design"
android:padding="20dp"
android:textAllCaps="false"
android:textSize="18sp"
android:text="Join Now"
android:textColor="@android:color/white"
/>
</RelativeLayout>
38