Online Cafe and Salon Management System Angular Project

During the Internship, Students worked on various static websites which include websites of café and event management companies. My internship also includes work on the Angular project Salon management system. This management system includes my main contributions in the registration portal, login portal, password changing portal, membership and offer cards, and other registration and contacts forms. This summer internship provided me with team experience and helped me in developing my skills in Web development using HTML, CSS, and JavaScript. Students have worked with the development of the front end and design of a Company’s Website and Dashboard.

Overall, the Internship program helped me in different ways to grow my knowledge in my field and also gave me insight into how to work in a team with proper coordination and in a timely manner.

ACKNOWLEDGEMENT

Working on these Cafe and Salon Management System projects has given us a wide opportunity to think, implement and interact with various aspects of computer technologies as well as learn new skills. One of the most fruitful benefits of working on this project is that we got a proper experience of working as a team, working on our assigned tasks, supervising and correlating with others, and management of the entire team with their tasks and completing the whole project.

I would also like to express our sincere thanks to our HOD and Course Directors, because of them we got the opportunity of having this group project as a subject in our current semester, and as a result, provided us the seed of execution of such a wonderful idea into action.

Overview of Projects

  • The Salon is a salon management system that has functions like admin management, customer tracking, and product shopping from the web.
  • The Café is a static site that has been designed for the users to get acknowledgment about the café. It has functionalities like booking tables, ordering online food, and menu details.

Objective

  • The objective of the salon management system: The Salon is to keep track of its daily expenses, customer, manage staff, and Publicity of its salon.
  • Static website Cafe management system which is designed also has the main objective of reaching more and more people through the help of the internet and making their marketing more strategic in the market.

Tools and Technologies

When the idea of making a web-based application came to our mind, the first thing that was required to be done was to gather information about the things that were required to be learned by us in order to make this project come to life. Hence after some brainstorming and group discussions, we followed the following figure and according to that learned the things in order.

After conducting this brainstorming and learning the process the tools and technologies that we had to use were as follows:

For Salon:

  • Angular
  • NodeJS
  • Stackoverflow (to learn about our software requirements)
  • GitHub (to learn about our topic)

For Static Website (The Cafe): 

  • Html
  • CSS
  • JavaScript
  • Bootstrap

IDE’s:

  • Visual Studio Code

Roles and Responsibility

  • Contributed to the making of a few modules for the Salon which includes modules like registering customers, forgetting passwords, and reset
  • Also contributed to live project

Implementation Environment:

 The backbone and the main aspect of the software side of the project were to run the HTML code, perform the JavaScript and make the site more user-friendly by adding CSS. So the implementation was carried out in such a way that the correlation of different files would be done easily. Hence, the use of an IDE was a must. Initially, we thought of using IntelliJ IDEA but the idea was dropped later on and we began working with the visual studio code 2020.

Sometimes to organize we even had to use some text editors like sublime text, atom, etc. Implementation of the code was done altogether after we researched and sorted the image data that we obtained. The basic approach that we used was the partial compilation method and went on integrating the small amount of the code into larger ones, module by module.

CONCLUSION

 In the end, we would just like to briefly explain how this project helped us to excel at our own best level and made us learn a lot of new things, technologies, and team management. And also implement all of the skills that we previously acquired or learned later on as a part of the completion of the project. Moreover, this project helped us to learn about the real scenarios of working in a team for real tasks and to cope with deadlines, quality management, and each and every aspect of the project. This project gave us the motivation to think differently and express our own ideas to implement them. Also, it taught us how to deal with errors, quality-related, time-related, and other management-related problems.

Most importantly with the medium of this project, we learned Many new skills, ranging from soft skills to technical skills. Qualities related to management, problem-saving time saving, etc. were also learned by us. We tried to make an honest solution for people out there facing problems and learned how all the skills combined: with the help of a perfect team and proper management along with proper skills is the key to providing the solution to any possible problems out there. And we believe that we did a great job implementing all our knowledge, and are grateful to present this execution of one such idea.

Thanking all those who helped us in a big or a small way with this project. Every contribution that has been given is very valuable to us and is the true reason for this project to stand out as a pioneer-based preliminary project and success of this project. With that being notified we heartily present our project and welcome all suggestions or improvements with open hands.

Competitive Programming Platform for Students Project Synopsis

Introduction

Most of the major IT corporations are leveraging online coding competitions to judge the pressure handling and fundamentals of upcoming software engineers. This has led to a significant increase in the number of online judges and coding competitions. Most of the students are now confused, about which platform they should opt for and how to approach these coding contests on time, every time. This is where the Competitive Programming Platform comes into the picture.
A competitive Programming Platform is a collection of extensions, APIs, bots, and web apps aimed to simplify competitive programming. With this project, students can observe, compare, shortlist and outperform these online judges and compare the improvements and achievements with their peers in a healthy environment. Technologies that we’ll be using in this Competitive Programming Platform project will be Python, Javascript, Node, Flask, Selenium, VueJS, and Tailwind.

Objectives

The main objective is to create a platform on which students can easily select and prepare for online coding competitions in the best possible way.
The key objectives of the Competitive Programming Platform are:
1. Looking at all the competitive profiles at a glance.
2. Get updates about the latest programming contests.
3. Getting all the updates through an email newsletter and push notification.
4. Fetching global and local leadership.
5. VS code extension to speed up local development.
6. Chrome extension to view upcoming contests on the go.
7. Standalone REST API.

Methodology

In the first step, we will scrape the data from various resources using a crawler built in Python with Selenium. We will store this data in our database and create a pipeline with a cronjob every six hours.
Now we will deliver all the extracted data through our SPA using VueJS. We will use Workbox 6.0 to convert our SPA into a Progressive Web Application and natively support push notifications.

Web Scrapping: Web scraping is an automatic method to obtain large amounts of data from websites.
Cronjobs in recurrent pipelines: A cron job is normally used to schedule a job that is executed periodically. In our case, we use a cronjob to run our python script that will fetch, and extract unstructured HTML data, validate it and save it in our required database.
User interfaces: Building user-friendly interfaces that bring meaning to our extracted data and visualize it through various tables, charts, and graphs.

Work Flow

Facilities required

• Vue, Tailwind, ChartJS, Babel, GSAP, Node
• Flask, Postgre, Selenium, Python
• Git, GitHub, CodeQL, VS Code
• NGINX, PM2, Travis, Certbot

Expected Outcome

• Responsive, minimalistic user interface with a clutter-free user experience.
• Powerful REST API that can power other third-party applications.
• Healthy competitive environment with ’ friendly competition’ among peers and making competitive programming a constructive habit.

Predicting Life Expectancy Using Machine Learning Python Project

Project Name: Predicting Life Expectancy Using Machine Learning

Project scope: The scope of this project is ” Predicting Life Expectancy Using Machine Learning” in this project we are given the task to predict life expectancy, life expectancy is the average time period for which the subject lives.

Project schedule: 

  1. Understanding what to do in the above-given Predicting Life Expectancy Project
  2. Identify and get familiar with the tools needed to complete this project
  3. Writing codes
  4. Collecting Data sets
  5. The time duration is 5 days

 Deliverables: 

  1. Predicting Life Expectancy Using Machine Learning.
  2. Making a user interface too as front-end work and writing code as backend work to make the user interact and calculate the Life

Setting The Development Environment

  1. Creating GitHub account
  2. Creating Slack account
  3. Signing up for cloud services
    1. Node-Red for front end
    2. Watson Studio for coding
  • Machine Learning services

1.  INTRODUCTION

  1.1          Overview:

 This project is based on predicting the life expectancy of a person. It is the statistical average of the number of years a person is expected to live. Factors affecting life expectancy are Country, Mental and Physical Illness, lifestyle, diet, health care services, financial condition, BMI, alcohol consumption, Diseases, etc.

Here in this Predicting Life Expectancy project, our motive is to find the life expectancy of a person after providing details such as the country he is living in is developed or is developing, BMI of the person, Disease history, Income, Population of that country, Expenditure, etc. So here I have used Machine learning and Artificial Intelligence to predict life expectancy. The data used in the training of the model was the data by WHO taken from Kaggle.

There were almost 22 columns stating different factors affecting Life expectancy and 2939 rows comprising data of different persons from different countries. Based on the results we got on Watson Studio some factors which were not affecting the Life expectancy much were removed and the scoring endpoint was obtained after running full code. This scoring endpoint is the URL that helps us to send payload data to a model or function development for analysis (such as to classify the data or to make predictions).

After obtaining the endpoint the next step is to work on Node-red which is the platform, we can use for developing our front-end page that will have a form asking you your details such as year of birth, adult mortality, infant deaths, BMI, etc. rest we’ll discuss in details later on.

Requirements: IBM Cloud, GitHub, Slack, IBM Watson, Node-Red

1.2          Purpose:

 The purpose of this project is to build a model that will predict the Life Expectancy of a person after giving the details of the BMI, Expenditure, Disease history, etc.

2.  Literature Survey

2.1          Proposed Solution:

 The project tries to create a model based on data provided by the World Health Organization (WHO) to evaluate the life expectancy for different countries in years. The data offers data on different person’s Physical health, Mental health, etc from the time frame 2000 to 2015. The data was taken from the website: https://www.kaggle.com/kumarajarshi/life-expectancy- who/data. 

3.  Theoretical Survey

 3.1          Block diagram

 

Block Diagram for Predicting Life Expectancy with Python

3.2          Hardware/Software Designing:

·       GitHub

GitHub is the largest community of developers in the world with millions of people sharing their projects, and ideas for benefiting many people in a very unique way. Any person living in any corner of this world can access this platform for his/her benefit. They can share their problem, their ideas, and solution to some problems. In simple words, it is basically a platform in which anyone can come and share their problems and solutions. It is easy to manage. A team working on the same project can easily monitor the progress and can easily access their work anywhere.

·       Slack

It is a messaging tool that is intended to contact your internal team easily. As it gives you a platform through which we can communicate to our team members easily under one roof. It is not as hectic as sending emails and reading them. It directly comes as a message to you from the group created having your team members. It is great if you are having a team of more than 2 members. Searching for messages becomes an easy, fast medium, searching old messages.

·       IBM Cloud

It is the platform that enables us to use its various features such as Watson Studio which provides a platform where we can write our python code and observe our results in the form of heat maps, graphs, and tables. In this project, we used it and got our scoring endpoint. It is the URL that helps us to send payload data to a model or function development for analysis (such as to classify the data or to make predictions).

·       Node-Red

Node-Red helps us to create a front-end window on which we can get the data from the user such as his Year, BMI, Alcohol intake, etc. and it will then connect to the code written on Watson Studio via the scoring endpoint created after running the python code.

4.  Experimental Investigations

 The graphs of various Factors affecting the prediction of life expectancy are shown in the figure given below:

Curves of life expectancy v/s different factors

Heat map of different factors

Shown above is the heat map of the various factors affecting other various factors some of them have positive values some of them have negative but the thing we have to keep in mind is that we can’t neglect the factors having negative values because they will have the adverse effect which will affect the life expectancy. After some observations, I decided not to include 6 factors that are not affecting life expectancy much and will reduce the calculations and make our model less complex.

5.  Flow Chart

  1. Result

 After filling in all the necessary details asked in the UI form, we got the prediction of life expectancy. The accuracy of our model was 94.41%

Screenshot of the prediction of life expectancy obtained

Advantages and Disadvantages

 Advantages:

  • Easily identifies trends and patterns
  • Wide Applications
  • Handling multi-dimensional and multi-variety data
  • No human intervention is needed (automation)
  • Continuous Improvement

Disadvantages:

  • High error-susceptibility
  • Needs a lot of time to implement
  • Interpreting the results accurately
  • Data set collection is a complex task

Applications 

  1. The form created is easy to understand and is easy to fill by anyone.
  2. It can be used for monitoring health conditions in a particular country
  3. It can be used to get the data about the factor affecting Life expectancy the most in order to work in the direction of obtaining a high life expectancy
  4. It can be used to develop statistics for a country’s development process

Conclusions

This user interface enables any user to predict the life expectancy value of anyone on the basis of the details asked in the form.

Future Scope 

  1. Increase model accuracy
  2. Gives suggestions on how to increase Life Expectancy
  3. Mental health data was missing from the WHO data set which also plays the important role in affecting life expectancy
  4. The scalability and flexibility of the application can be

Employee Task Management System Web Project using PHP and MYSQL

Problem Description

We need to make a system in which mentors can assign tasks to the employee and other mentors can monitor the availability of employees and on that basis, they can assign him/her new task. As well as employees can see all the assigned tasks with priorities. The app should be able to: Store data on new Employees/Trainees and new Task Assignments Employees can see the availability of other employees, trainees, and interns but trainees will not be able to see other availability. Employees can assign tasks with details like task name, task description, assigner, priority, and expected hours for completion to other employees’ or trainees’ ToDo lists considering the maximum limit of a total of eight hours for an employee before assigning any task.

Target Audience

This is a very common problem in companies where an employee already working on an assigned task and another mentor or boss going to assign him a new task, S/He might not know the employee’s availability and the priority of the task on which the employee already working. In that scenario, there will be lots of communication going around to assign the task, due to which task going to be delayed. To resolve these issues and make employee availability transparent, we need to make a system in which mentors can assign tasks to the employee and other mentors can monitor the availability of employees and on that basis, they can assign him/her new task.

As part of the curriculum of B.tech and to gain practical knowledge in the field and Python programming and web development we have made this project. We have boosted our skills through it.

In this Project, we have worked on VS Code and GitHub. Git Bash, Mysql, Software xamp, CSS, and HTML.

Employee Task Management System is created in PHP and MYSQL. It deals with the rundown of workers in an organization or an association. It likewise contains the training went by every Employee. Representative is the foundation of an organization so the Employee Management System is an extremely useful framework for an association or organization.

It also contains training attended by each employee. The employee is the backbone of a company so the Employee Management System is a very helpful system for an organization or company. This system also manages the company employee details like their attendance, their performance, salary details, and leave details.

This section compresses the assessment of the writing important to the Employee Management System. It looks at hypotheses, ideas, methodologies, strategies, and systems important to the venture.
Comparative existing advances identifying with the improvement of the Employee Management Systems are talked about.

In this Project, we have worked on VS Code and GitHub. Git Bash, Mysql, Software xampp, CSS, and HTML. Employee Management System is created in PHP and MYSQL. It deals with the rundown of workers in an organization or an association. It likewise contains the training went by every Employee.

Representative is the foundation of an organization so the Employee Management System is an extremely useful framework for an association or organization. It also contains training attended by each employee. The employee is the backbone of a company so the Employee Management System is a very helpful system for an organization or company. This system also manages the company employee details like their attendance, their performance, salary details, and leave details.

Design Diagrams:

Use Case Diagram:

Data Flow Diagram:

ER Diagram: Sequence Diagram:

Activity Diagram:

Functional Requirements

REQ-1: Authentication 

  1. Login- The user can log in to the system with his/her username and
  2. Logout- The user can log out from the
  3. Login failure- If the user does not exist in the database or the user has not yet been authorized by the

REQ-2:Authorization 

  1. User role check- After logging in, the user role will be checked from the database and the user interface will be displayed according to their role.

REQ-3: Employee Management 

  1. Display- Users with defined roles can display the content of the database. To be more specific, an employee can only view his/her personal Boss and can not only see his/her personal information but also employee’s information who are under his/her department or school.
  2. Edit- A user with an employee role can edit his/her specific personal

information. Boss can only edit employees’ personal information that is under his/her coverage except for user role type. The Boss can check employee availability.

REQ-4:Trainee Management 

  1. Training – The Boss and employee shall create training tasks and assign them to other Bosses and employees and employees and trainees respectively that are required to attend the training as well. Boss and Employee can also check the availability of the trainee.

REQ-5: Task Management 

  1. Tasks – Boss and Employee can check assigned tasks, they can check task priority. they can also create the task and assign the task.

1. Sign Up
2. Login Up
3. View Employee Details
4. Create Task
5. Priority
6. Availability
7. Assign Task
8. Task Status
9. Task Done
10. Task Details
11. Personal Details
12. Submit Task

System Features

Module Description

Sign Up: Bosses, employees, and trainees will sign up using their credentials.

stimulus: boss/employee/trainee will sign up through the signup button.

response: dialogue box for “thank you for signing up” appears.

Log in: Boss, employee or trainee will log in to the system using their unique ID.

stimulus: boss/employee/trainee will log in through the login button.

response: for boss/employee/trainee different pages will appear respectively.

View employee details: contains employees’ details.

stimulus: click on the button to View employee details.

response: Details appear (only boss and employee can view details)

Create Task: boss can create tasks for employees or another boss. Employees can create tasks for trainees or other employees. trainee can not create tasks.

stimulus: click create task button.

response: the task will be created

Priority: Check the assigned task priority.(boss/employee/trainee)

stimulus: click on check assigned task priority.

response : shows priority(High,Medium,Low).

Availability: check availability of boss/employee/trainee for assigning the task.

stimulus: click on the check availability button.

response: shows availability.

Assign Task: After creating the task the creator will assign the task to the boss/employee/trainee.

stimulus: click on the button to assign a task.

response: Task will be assigned

Task Status: change the task status whether it is completed/submitted/in progress.

stimulus: click on the button to change task status.

response: changes will be done according to your status when you choose options from it.

The task is done: The feature indicates the task is done. Only bosses and employees can access this feature.

stimulus: click on the task done button.

response: status will be updated once the task is done.

Task Details: will get trainees through the details of the task assigned.

stimulus: click on the View Task Details button

response: details appeared

Personal Details: will display personal details of the trainee to her /him.

stimulus: click on the View personal details button.

response: personal view appears to him/her.

Submit Task: The feature is for trainees only, to submit the task.

stimulus: click on submit task button

response: the task will be submitted.

Future Scope

1) AI is applied in almost every industry and may become a standard in the near future. 

2) Data visualization represents the data in a visual and understandable manner: graphs, diagrams, maps, etc.

Conclusion

This is a customized task management tool that enables your enterprise to manage all tasks efficiently in this troubled time & even in the post-COVID age. Our robust task management app help organizations face challenges related to project management & gain a higher Return Of Investment over the period while meeting deadlines and utilizing resources effectively.

Download the Complete Employee Task Management System Project code, Report, PPt, and Design Documents

Development of Career Builder HTML & CSS Minor Project

  1. Introduction

There has been a demand for a career builder product, an application that can solve the problem of mock tests, and sample papers for different government and non-government projects.
The current trend of research on ed-Tech startups shows us that there is no specific application that solves this problem Several variants of this application are not focused on this. The current career builder web application project is to study and develop how this exam web and mobile application works so that we can build them in the forthcoming future.

  1. Motivation

Our country has too many government exams and the craze for it is too much but in the ed-tech market in this digital age, there is no stable application by which the aspirants can practice for the exams. In the modern era of 2021, the aspirants have to go to the local market and ask for the books for the preparation and mock exam of that particular government exam. Therefore we felt like there is a need for such a career builder application in the market. This is a pain point for many that we can see around us.

  1. Related work

Before starting this career builder project our team made many different google forms to know the need for this project and if something like this is required in the market or not.
Other than that we had previously observed people go to the local bookstore and ask for sample paper books and wait until it’s available also finding the papers is also tough since too many sites take extra permission and show nonrelevant ads.

  1. Objectives of the work

The objective of this career builder project is to make a well-focused web application (maybe a demo for this time and an upgraded version in the future and a mobile application too) so that the aspirants can find all the sample papers and mock exam papers in one place without suffering through the whole internet and make a business model in the future out of it.

  1. Technical Details

This career builder project is mainly developed using HTML, CSS, JavaScript, and JSON.
We are gonna develop an API to fetch data ( Questions and choices ) from the JSON file and are going to use external APIs for external data too. Some CSS frameworks will also be used for the beauty of the front end. The score of the user’s performance will be calculated and stored using local storage.

career builder Minor project ER Diagram

6. Hardware and Software Requirement Specifications

Write hardware and software requirement specifications.
The hardware required for the project is our team members’ laptops for programming and a WiFi router for remote work since we all are in different cities. Many software are used for communication and development as follows –

  1. Zoom – for planning and discussing the project and connecting virtually through video calls our team used the Zoom application which is also used in the tech industry for the same.
  1. Slack – for communication in the form of texts and images and also for data sharing except for the code we used slack and we could use other applications too but we choose it during a discussion because it is also used in the industry.
  1. Visual Studio Code – for the real work to be done in the programming we used the IDE called visual studio code. The two main reasons to choose this IDE only over the others are

a. We used it before in our college, therefore, we are comfortable with it.
b. It is widely used in the industry.

This software gave us support through its vast extensions some of which are

Live Server (main feature hot reload)
Prettier (format the code in ES6 the industry standard )

  1. Git Bash – for the use of the terminal for the Linux commands since 1 of our teammates uses Linux Operating System (Ubuntu) and it is beneficial to use these commands over windows commands (commands of Windows Power shell, etc ) since again because of industry standards – most of the startups in India provide mac book to their developers, the terminal of which also works on Linux commands and other companies also suggest to use Linux over windows at least for Command Line Interface.
  2. Git Hub – To deploy and share our code, it has many features like making branches and working separately together. To take the snapshot of that particular instant of the code for the future and other features like a staging area, commit, clone, and a remote code sharing system.
  1. Future Scope

The MVP version of the career builder minor project and its corresponding later versions can be used by the aspirants so that instead of finding papers on the whole web they can simply use a single website and study and practice without distractions.

  1. Conclusion

This career builder minor project is made with the idea of having a web application where the aspirants can practice with the sample papers of their particular exam.

Grocery Store Management System Python Database Project

The objective of this python project is to design a GUI for the Grocery store Management System which incorporates details of the Employees, the Manager, the Designation of the employees, the categories of the products, the details of the Customer, and a list of available commodities, and location information of the grocery stores.

Suppliers and details of commodities which shows which items are going to be out of stock for the store which has various branches situated in various areas with different Managers taking care of that data set.

This database is efficacious in running the grocery stores. The users of the database will be the store managers.

  • Grocery Store Management System is designed to provide the grocery stores with the benefit of having everything online, from products data to customers data.
  • It helps the store managers to perform various functions like checking the products stock, suppliers information, customers information and also allows them to check if a particular product is available in any other branch.
  • It also helps to keep track of the store employees.
  • Provides a user-friendly interface where everything can be accessed with just a button click.

Database

  • Created views using joins to have a virtual table that can be accessed anytime.
  • Created a table for login credentials that allow only the managers of the store to access the database.
  • We have used the database queries effectively and carefully to implement the insert, update, delete and search. We have also used a view to join our tables and view the records. A database with the name grocery store has been created.

In Grocery store management, we have the following tables which will store the corresponding data

Database table Design for Grocery Store Management System

Location

The Location table has records of the location information of the grocery stores. For now, we have defined grocery stores in 20 locations.

Employees

The employee’s table has records of the Employees working in the grocery store. As we have defined our model to have managers for each store and they exclusively have the access to the database of the grocery store (DB Users), for now, we have defined all the managers for all the grocery stores listed in the Location table.

Designation

The Designation table has various records of different designations applicable/available in the grocery store.

Customers

The Customers table holds the details of the customer

Manager

The Manager table holds the details of the employee

DB Users

DB Users are the Managers

Commodities

The Commodities table holds the details of various products such as the product number, product name, product quantity, and product price. 

Suppliers

The Suppliers table holds the details of the product suppliers

Categories

The Categories table holds the details of the Product categories

GUI

The GUI for our project, the Grocery Store Management system is built using Python Tkinter. We have created GUI for all our tables, where we can perform operations, such as INSERT, UPDATE, DELETE, and SEARCH on all the tables of our Grocery Store database. 

Database connection to GUI

 To establish a connection to the database and GUI the following syntax needs to be used.              

Here, I have used the credentials of my localhost database connection, however, one has to replace it with the credentials in their system. By using this, the user can connect to the database and a GUI will be displayed accordingly.

Description of GUI

The main.py file has to be run, in which all the other modules are imported. Each module is for each table in our database. Main.py holds everything and it directs us to different modules with the help of buttons. When we run “main.py”, a login window, where we have to enter the credentials will be displayed and will only take you inside, if you enter valid credentials. If the credentials are correct, then a window is displayed with image buttons for all our tables.

When we click on each button, it will be redirected to the respective module, and a connection is established with the database. To establish a successful connection with the database “grocery store”, it should be available in our system.

View the developer’s page on Github and download the Grocery Store Management System Python Tkinter Project & MySQL Database Design Project source code, Project Report, and Project PPT for academic project guidance and reference purposes.

Used Car Price Prediction AI / Machine Learning Project using Python

Abstract

Used Car price prediction using AI / Machine Learning techniques has picked researchers’ interest since it takes a significant amount of work and expertise on the part of the field expert. For a dependable and accurate forecast, a large number of unique attributes are analyzed. We employed 6 different machine learning approaches to develop a model for forecasting the price of used automobiles.

Problem statement

With the Coronavirus sway on the lookout, we have seen a lot of changes in the vehicle market. Presently some vehicles are sought after subsequently making them exorbitant and some are not popular and consequently less expensive. With the adjustment of the market due to the Coronavirus 19 effect, people/sellers are facing issues with their past Car Price valuation AI/Machine Learning models. Along these lines, they are searching for new AI models from new information. Here we are building the new car price, valuation model.

The primary point of this Used Car Price Prediction AI / Machine Learning Project is to create a dataset with the help of web scraping and anticipate the cost of a trade-in vehicle given different elements.

The objective of the Project:

1. Data Collection: To scrape the data of at least 5000 used cars from various websites like Olx, cardekho, cars24, auto portal, cartrade, etc.
2. Model Building: To build a supervised machine learning model for forecasting the value of a vehicle based on multiple attributes.

Motivation Behind the Project:

There are a few major worldwide multinational participants in the automobile sector, as well as several merchants. By trade, international companies are mostly manufacturers, although the retail industry includes both new and used automobile dealers. The used automobile market has seen a huge increase in value, resulting in a bigger percentage of the entire market. In India, about 3.4 million automobiles are sold each year on the secondhand car market.

Collecting the data

We have scraped the data for over 5000 cars using Selenium script from 4 different websites from different locations around the country. The websites are as followed:
1. OLX
2. Cars24
3. CarDekho
4. Autoportal

There are 9 columns:

1.’Brand & Model’: It gives us the brand of the car along with its model name and      manufacturing year

2.’Varient’: It gives us a variety of particular car model

3.’Fuel Type’: It gives us the type of fuel used by the car

4.’Driven Kilometers’: It gives us the total distance in km covered by car

5.’Transmission’: It tells us whether the gear transmission is Manual or Automatic

6.’Owner’: It tells us the total number of owners cars had previously

7.’Location’: It gives us the location of the car

8.’Date of Posting Ad’: It tells us when the advertisement for selling that car was posted online

9.’Price (in ₹)’: It gives us the price of the car.

Here ‘Price (in ₹)’ is our target variable.

Reading the dataset

Now we read the dataset into Pandas and since the target column ‘Price’ is of integer data type, we will apply regression algorithms to it.

Data Cleaning

We check for null values and find that there are few in column ‘Variant’ and we will treat them with Mode.
Since all the features are categorical hence we need not check for outliers and skewness.
Exploratory data analysis
Firstly, we will plot the boxplot and distribution plot for the target variable. And find that few outliers need not be treated and the data is tightly distributed with an almost normalized distribution.

Bar graph

Since Brands, Varients, Driven Kilometers & locations have a wide range of values in them, we will not perform bivariate analysis for them as they will not give us any specific details. Now by plotting the graph of Fuel Type, Transmission, and Owner against Price, we conclude that a Car that uses Diesel has automatic Transmission, and Has only 1 owner is more likely to have a high price.

Model building

The models used in training and testing datasets are as followed:

SVR
Linear Regression
SGD Regressor
neighbors Regressor
Decision Tree Regressor
Random Forest Regressor
Only Decision Tree Regressor and Random Forest Regressor are performing well and giving an accuracy of 80.2 % and 87.7%, respectively.

Final model

The accuracy of Model ‘PriceCar’ (Random Forest Regressor) after applying Hyper Tuned Parameters is found to be 87.79% and the score is 0.98 which is quite good.

Conclusion

Here, we can see that all the predicted prices are either equal or nearly equal to the original prices of the car. Hence we conclude that our model ‘price car’ is working very well. And we shall save it for further use.

Limitations of this work and Scope for Future Work

As a part of future work, we aim at the variable choices over the algorithms that were used in the project. We could only explore two algorithms whereas many other algorithms exist and might be more accurate. More specifications will be added to a system or provide more accuracy in terms of price in the system i.e.
1) Horsepower
2) Battery power
3) Suspension
4) Cylinder
5) Torque

As we know technologies are improving day by day and there is also advancement in-car technology, so our next upgrade will include hybrid cars, electric cars, and Driverless cars.

Download Used Car Price Prediction AI / Machine Learning Project using Python. For more details about the project feel free to contact the developer at github