Professional Documents
Culture Documents
ACKNOWLEDGEMENT
I TAKE THIS OPPORTUNITY TO EXPRESS MY PROFOUND GRATITUDE AND DEEP REGARDS TO
MY FACULTY MR. KOUSHIK GHOSH FOR HIS EXEMPLARY GUIDANCE,MONITARING AND
CONSTANT ENCOURAGEMENT THROUGH OUT THE COURSE OF THIS PROJECT . THE
BLESSING , HELP AND GIDENCE GIVEN BY HIM TO TIME SHALL CARRY ME A LONG WAY IN THE
JOURNY OF LIFE WHICH I AM ABOUT TO EMBARK .
I AM OBLIZED TO MY PROJECTING MEMBERS FOR THE VALUABLE IMFORMATION
PROVIDED BY THEM IN THEIR RESPECTIVE FIELDS.I AM GRATEFUL FOR THEIR CO-OPERATION
DURING THE PERIOD OF MY ASSIGMENT .
SAURAV KUMAR
PROJECT OBJECTIVE
It is a system design especially for car
rental business (hire) with a fleet of large,
premium and small cars.
PROJECT SCOPE
The web application provides the admin a 24X7
observation on the hirer and driver.
The hirer can book or search for a cab from our
web portal 24X7 among the category of their
favorite car along with the specific location and
fare .
A driver can be recruited by their CV and
experience.
A guest to the web portal may submit a query.
Requirement Specification
Domain Description
ADMIN
HIRER
DRIVER
PROBLEM DEFINATION
Functional Requirements
Admin :
Admin can add a car, manage booking car and rent and
also view feedback and
enquiry.
Hirer/User :
User can view information of available car, booking car,
easily get the car on rent and also give feedback and can
enquiry.
12.
a) SUV:
A sports utility vehicle, or suburban utility vehicle
(SUV), is a vehicle similar to a station wagon, estate
car, or van usually equipped with four-wheel drive
for on-road or off-road ability. Some SUV's include
the towing capacity of a pickup truck with the
passenger-carrying space of a minivan or large
sedan.
b) SEDAN:
A sedan is a passenger car in a three-box
configuration with A, B & C-pillars and principal
volumes articulated in separate compartments for
engine, passenger and cargo. The passenger
compartment features two rows of seats and
adequate passenger space in the rear
compartment for adult passengers. The cargo
compartment is typically in the rear.
c) Small car:
A small car is a car have four seats and equipped
with four wheel drive for a short distance. Hirers can
use this car for business or personal purpose . Its also
comes with AC/Non AC.
B) Date & Time :
The hirers can book the cab at a certain date and time.
The requested cab will be gotten after the approval of
owner.
F) Drivers details:
After the approval has been done for the requested cab
the hirer will be provided the car no.,the name of the driver
and the contact no of the driver.
G) Estimated charge :
The hirer can also see the charge for the travel on the
basis of the type of cab, travelling distance , AC or Non
AC.this estimated charge is an assumption by the system
by the default values provided to it and it may vary.
H) Cancellation:
In this case the hirer can cancel his cab booking for the
few reasons- (1) mistook on putting information of
journey, (2) the fare is no fair, (3) the cab will be late to
come.
I) The mode of payment:
Hirer has to chose the payment method in the time of
booking the cab . until the payment method is selected
the booking will not be approved
Cash: Its the offline payment method.
This is paid to the driver after the end of
the jouney.
J) Query:
The hirer will be provided a form to feedback on the basis
of the behavior of the driver, the fare is taken, the
conformability provided by the company. The form will
be submitted after giving the feedback.
E.g. there will be 5 stars and hirer select 1 to 5 stars to
make the owner know about the progress.
B) Car details:
D) Driver :
a) The driver database (name, date of birth,
driving license no, driver-ID, no of trips )
b) Every driver will be registered with a specific
car. The owner will decide.
c) In the each tripe the driver will update with the
distance traversed.
d) Recruitment facility:
The footer area of website will display the
recruitment notice of new drivers. Aspirants
may apply by clicking on the link and by
uploading their Bio-data in the subsequent
stage. Admin would be able to observe these
bio-data and may select suitable candidates.
E) Bill generation :
The driver or the hirer will sent the starting k.m.
At the and of the journey the driver or the hirer
will provide the ending K.M. The owner will
calculate the faire on the basis of distance
traverse, the type f the car , AC or Non AC. the
e-bill will be generated and sent to the driver
and the hirer both the hirer will do the rest.
F) View Query :
The admin easily view the feedbacks and solve the
query.
HARDWARE REQUIREMENTS
compartment for adult passengers. The cargo compartment is
typically
Client side:
RAM
512 MB
Hard disk
10 GB
Processor
1.0 GHz
Server side:
RAM
1 GB
Hard disk
20 GB
Processor
2.0 GHz
SOFTWARE REQUIREMENTS
Client side:
Web Browser
Operating System
Internet Explorer 6 or
any compatible
browser
Windows or any
equivelent OS
Server side:
Web Server
IIS 7.5
Framework
Database Server
Web Browser
Internet Explorer 6
or any compatible
browser
Windows Server 2007
Operating System
Database Design
Database table schema
>>passenger:
>>car
>>category
>>Booking
>>Driver:
SCREENSHOTS OF WEB-PORTAL
WELOCOME.aspx
REGISTER.aspx
LOGIN.aspx
CONTACT_US.aspx
PRIVACY.aspx
APPLY_RECRUITMENT.aspx
ADMIN_INTERFACE.aspx
ADD_CAR.aspx
CAR_MANAGEMENT.aspx
ADD_CATAGORY.aspx
ADD_CATAGORY.aspx
DRIVER_MANAGEMENT.aspx
BOOKING_MANAGEMENT.aspx
BILLING_MANAGEMENT.aspx
USER_MANAGEMENT.aspx
APPLY_RECRUITMENT.aspx
VIEW_PROFILE.aspx
HIRER_INTERFACE.aspx
SEARCH.aspx
BOOKING_HISTORY.aspx
Future Scope:
1. Make our web-page much attractive to both the Admin and the
Hirer , Here we have to use CSS, HTML and XHTML properly.
2. Here we have not given the feature in case of the hirer or admin
forgets the password of his/her account.
3. We have decided to include more features of cars that a hirer
can choose the best compatible with him/her.
4. The admin will be provided much control power to handle both
the driver and hirer.
5. In future each driver will be provided with a new account.
6. The driver and hirer should have better knowledge among them.
7. There will be more cities and states included in the web-portal.
8. We have decided to include an auto-generated location
tracking system(GPS) such that more security and portability can
be provided.
CODE:
WELCOME.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
Response.Redirect("~/LOGIN.aspx");
}
ADD_CAR.aspx.cs
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class WebForm10 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DropDownList2.Items.Add("AC");
DropDownList2.Items.Add("NON-AC");
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/images/") + im_name);
im_path = "~/images/" + im_name;
SqlCommand cmd = new SqlCommand("insert into
car(registrationno,categoryname,bookingstatus,carname,acornonac,price,image) values
(@var1,@var2,@var3,@var4,@var5,@var6,@var7)", con);
cmd.Parameters.AddWithValue("@var1", TextBox3.Text);
cmd.Parameters.AddWithValue("@var2", DropDownList1.SelectedValue);
cmd.Parameters.AddWithValue("@var3", "unbooked");
cmd.Parameters.AddWithValue("@var4", TextBox1.Text);
cmd.Parameters.AddWithValue("@var5", DropDownList2.SelectedValue);
cmd.Parameters.AddWithValue("@var6", int.Parse(price.Text));
cmd.Parameters.AddWithValue("@var7", im_path);
con.Open();
cmd.ExecuteNonQuery();
messenger.Text = "Added";
DataBind();
con.Close();
}
else
{
messenger.Text = "Not an image...";
}
}
}
}
ADD_CATEGORY.aspx.cs
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class WebForm11 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=AFTERLIFE;Initial
Catalog=ecar;Integrated Security=True");
SqlCommand cmd = new SqlCommand("insert into category values
(@var1,@var2,@var3,@var4)", con);
cmd.Parameters.AddWithValue("@var1", TextBox1.Text);
cmd.Parameters.AddWithValue("@var2", TextBox3.Text);
cmd.Parameters.AddWithValue("@var3", int.Parse(totalcars.Text));
cmd.Parameters.AddWithValue("@var4", int.Parse(TextBox4.Text));
con.Open();
cmd.ExecuteNonQuery();
messenger.Text = "Added";
DataBind();
con.Close();
}
}
}
ADMIN_INTERFACE.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
ADMIN_INTERFACE
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class ADMIN_INTERFACE : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
ADMIN_PROFILE.aspx.cs
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class WebForm5 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = DBAccess.FetchData("Select * from passenger where userid='admin' and
password='12345678'");
DataTable dt = new DataTable();
dt = ds.Tables[0];
}
}
APPLY_RECRUITMENT.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class APPLY_RECRUITMENT : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ImageButton1_Click1(object sender, ImageClickEventArgs e)
{
Response.Redirect("WELCOME.ASPX");
}
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/cv/") + im_name);
im_path = im_name;
DBAccess.SaveData("insert into cv(email,cvpath) values('" + email.Text + "','" + im_path +"')");
Label2.Text = "Success.......";
}
else
{
Label2.Text = "unsupported file";
}
}
}
}
CAR_MANAGEMENT.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Data.SqlClient;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class WebForm4 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DropDownList bookstatus = GridView1.FooterRow.FindControl("DropDownList2") as
DropDownList;
DropDownList acornon = GridView1.FooterRow.FindControl("DropDownList3") as DropDownList;
bookstatus.Items.Add("booked");
bookstatus.Items.Add("unbooked");
acornon.Items.Add("ac");
acornon.Items.Add("non-ac");
}
}
//public string InsertCommand { get; set; }
//
CONTACT_US.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Mail;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class CONTACT_US : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
MailMessage m = new MailMessage();
SmtpClient sc = new SmtpClient();
try
{
MailMessage mailMsg = new MailMessage();
mailMsg.To.Add("ecarrenter@gmail.com");
mailMsg.IsBodyHtml = true;
mailMsg.Body = "Contact Details" + "<b>Name:</b>" + TextBox1.Text + " <br/> <b>Email address :</b>" + TextBox2.Text + "<br/> <b>Comments :</b>" + TextBox3.Text;
mailMsg.Priority = MailPriority.Normal;
Label6.Text = "Thank you. Your contact details and feed back has been submitted.";
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
HIRER_ASK.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Mail;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class HIRER1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
{
MailMessage mailMsg = new MailMessage();
mailMsg.To.Add("ecarrenter@gmail.com");
mailMsg.IsBodyHtml = true;
mailMsg.Body = "Contact Details" + "<b>Name:</b>" + TextBox1.Text + " <br/> <b>Email address :</b>" + TextBox2.Text + "<br/> <b>Comments :</b>" + TextBox3.Text;
mailMsg.Priority = MailPriority.Normal;
smtp.Timeout = 25000;
smtp.EnableSsl = true;
smtp.Send(mailMsg);
Label6.Text = "Thank you. Your contact details and feed back has been submitted.";
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
}
HIRER_VIEW_BOOKING.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class WebForm18 : System.Web.UI.Page
{
protected void SqlDataSourcmhe1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
if (Session["UserName"] != null)
{
// do this only when Session Variable stores as a string the Username
e.Command.Parameters["@Username"].Value = Session["uid"];
}
else
{
Response.Write("log in first");
}}}}
HIRER.MASTER.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class HIRER : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
//Session["x"] = "abc";
}
protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
{
Session.Abandon();
Response.Redirect("WELCOME.aspx");
}
}}
HIRER_PROFILE.aspx.cs
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class WebForm17 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = DBAccess.FetchData("Select * from passenger where userid='" +
Session["uid"].ToString() + "' and password='" + Session["pwd"].ToString() + "'");
DataTable dt=new DataTable();
dt=ds.Tables[0];
foreach ( DataRow dr in dt.Rows)
{
Label1.Text = dr[2].ToString();
Label2.Text = dr[0].ToString();
Label3.Text = dr[1].ToString();
Label5.Text = dr[4].ToString();
Label6.Text = dr[5].ToString();
Label7.Text = dr[6].ToString();
Label8.Text = dr[3].ToString();
ImageMap1.ImageUrl = dr[7].ToString();
}
}
}
}
LOGIN.aspx.cs
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect("WELCOME.aspx");
}
Session["uid"] = TextBox1.Text;
Session["pwd"] = txtPassword.Text;
Response.Redirect("hirer_interface.aspx");
}
}
LOGOUT.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class LOGOUT : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Session.Abandon();
Response.Redirect("WELCOME.aspx");
}
}
}
POLICY.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class POLICY : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect("welcome.aspx");
}
}
}
RECRUIT.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class WebForm12 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
REGISTER.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class REGISTER : System.Web.UI.Page
{
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect("welcome.aspx");
}
protected void login2_Click(object sender, EventArgs e)
{
Response.Redirect("login.aspx");
}
try
{
//saurav's own algo for unique id generation
string email = TextBox5.Text.Substring(0, 3);
string time = DateTime.Now.Second.ToString().Substring(0,2);
string phone = TextBox8.Text.Substring(0, 2);
string id = email + time+phone;
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/images/") + im_name);
im_path = "~/images/" + im_name;
DBAccess.SaveData("insert into passenger values('" + id + "','" + TextBox3.Text + "','" +
TextBox1.Text + "','" + TextBox8.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "','" +
int.Parse(TextBox7.Text) + "','" + im_path + "','allowed')");
Label2.Text = "Success,Your UserID is "+id;
}
else
{
Label2.Text = "Not an image...";
}
}
SEARCH.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class WebForm7 : System.Web.UI.Page
{
protected void Button10_Click(object sender, EventArgs e)
{
int spfare=0,fare=0;
string s = Calendar1.SelectedDate.ToShortDateString();
if (start.SelectedValue=="newtown" || start.SelectedValue=="howrah")
{
if (end.SelectedValue== "newtown" || end.SelectedValue=="howrah")
{
spfare = 300;
}
}
if (start.SelectedValue=="newtown" || start.SelectedValue=="sealdah")
{if(end.SelectedValue== "newtown" || end.SelectedValue== "sealdah")
{
spfare = 400;
}
}
if (cat.SelectedValue == "sedan")
{
fare = spfare + 200;
}
if (cat.SelectedValue == "suv")
{
fare = spfare + 300;
}
if (ac.SelectedValue == "AC")
{
fare = fare + 200;
}
DBAccess.SaveData("insert into
booking(dateofjourney,userid,totalfare,category,startloc,endloc,status,acornon) values('" + s + "','" +
Session["uid"] + "','" + fare + "','" + cat.SelectedValue + "','" + start.SelectedValue + "','" +
end.SelectedValue + "','" + "unapproved" + "','" + ac.SelectedValue + "')");
messenger.Text = "Book Request Processed";
}
}
}
USER_MANAGEMENT.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace E_Car_Rental_Project
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
DataBind();
}
}
}
78
Certificate
This is to certify that Mr. ARNAB CHATTERJEE of
Government College of Engineering and CERAMIC
Technology, Registration No. 121100110047 OF 2012-13
has successfully completed a project on E-Car Rental
System using .Net under the guidance of Mr. Koushik
Ghosh.
79