Sasi Final Year Project-1
Sasi Final Year Project-1
Place: Tiruvannamalai
Date:
Signature of
Candidate
(SASI PRIYA.S)
(Reg. No.)
ACKNOWLEDGEMENT
Place: Tiruvannamalai
Date:
(S
ASI PRIYA.S)
INDEX
Declaration………………………………………………………………………
……… i
Acknowledgement………………………………………………………………
……. ii
1. Introduction of the
Project.............................................................. 1
2. Problem
Statement………………………………………………………………... 2
3. Requirements of
Project.................................................................. 3
6.
Bibliography………………………………………………………………………
….
7. Code……………………………………………………………………………
………. 15
8.
Conclusion………………………………………………………………………
……. 22
INTRODUCTION
Phone number tracking is the process of locating a device
using its phone number through GPS, cell towers, or
online databases.
PROBLEM STATEMENT
RECUREMENTS
1) SOFTWARE REQUIREMENTS:
LIMITATIONS
Location tracking can be inaccurate in areas with
weak GPS signals, dense urban environments, or
underground locations.
Many countries have strict laws restricting
unauthorized tracking, and improper use can lead
to legal consequences.
Continuous tracking, especially through GPS,
significantly reduces a phone’s battery life.
High-precision tracking solutions, such as real-time
GPS tracking, require expensive software
and infrastructure
BIBLOGRAPHY
1. https://www.tutorialspoint.com/python
2. https://docs.python.org/3/tutorial
3. www.programiz.com/python-programming
4.
https://en.wikibooks.org/wiki/A_Beginner's_Python_Tutori
al
5. Quora.com
6. Sthurlow.com sthurlow.com/python/
Key Features:
1. Phone Number Validation: Check if the entered
phone number is valid based on its format (using
regular expressions).
2. Phone Number Information Lookup: Retrieve
information about the phone number, including the
country, carrier, and line type (using an API like
Numverify or Twilio).
3. Data Storage: Store phone number information in
a database (e.g., SQLite) for future reference and
historical tracking.
4. User Interface: Develop a graphical user interface
(GUI) to allow users to input phone numbers and
view results easily.
5.Visualizations: Visualize the data (e.g., a map
showing the locations of tracked phone numbers).
Technologies Used:
Python: Programming language for the project.
SQLite: Database for storing phone number data.
Tkinter: For building a simple desktop GUI (or
Flask/Django for a web-based app).
Numverify API: For phone number validation and
geolocation (or Twilio for additional features).
Matplotlib or Folium: For visualizing geolocation
data on a map.
System Architecture:
1. User Input: The user will input a phone
number into the system (via GUI or command
line).
2.Validation: The system validates the format
of the phone number.
3. API Integration: If the number is valid, the system
queries an external API for information (carrier,
location, line type).
4. Data Storage: The details of the phone number
(including country, carrier, etc.) are stored in a
database.
5. Display Results: The results are displayed to the
user, either in the command line or a graphical
interface.
Final Structure:
Your project will be organized into multiple
modules:
validation.py: Phone number validation logic.
api_integration.py: Handles API requests and
response processing.
database.py: Manages the SQLite database for
storing phone number data.
gui.py: The Tkinter-based user interface for
interacting with the user.
visualization.py: Code to visualize tracked
locations (optional).
import mysql.connector
import phonenumbers
class Phone:
timeZone = str('')
Carrier = str('')
Region = str('')
def _init_(self):
self.home_screen()
def check_no(self) -> 'True or False':
entry_widget['highlightcolor'] = "blue"
entry_widget['highlightthickness'] = 0
try:
phone_number = phonenumbers.parse(number.get())
a = type(phone_number.national_number)
valid = phonenumbers.is_valid_number(phone_number)
possible = phonenumbers.is_possible_number(phone_number)
except:
return False
finally:
self.get_details(phone_number)
return True
elif a != int:
return False
else:
return False
""" def find_location(self):
place_entity = locationtagger.find_locations(text=Phone.Region)
get_country = str(place_entity.countries)
print(get_country)"""
def update_values(self):
company_label.config(text=f'Comapny -- -- -- -- -- {Phone.Carrier}')
region_label.config(text=f'Region -- -- -- -- -- {Phone.Region}')
map_widget.set_address(Phone.Region, marker=True)
def connection(self):
a = "127.0.0.1"
user = "root"
key = "1234"
try:
self.mydatabase = mysql.connector.connect(
host=a,
user=user,
password=key,
database="history"
self.cursor = self.mydatabase.cursor()
print('Connection Established')
except Exception:
print("Connection Failed")
def insertion(self):
self.connection()
self.cursor.execute(
number.get())
self.cursor.execute(sql)
self.mydatabase.commit()
Phone.timeZone = str(timezone.time_zones_for_number(no))
print(Phone.timeZone)
print(Phone.Carrier)
print(Phone.Region)
self.update_values()
Phone.Carrier = str()
Phone.Region = str()
valid_label.config(text='', fg='#2B2B2B')
self.update_values()
entry_widget['highlightcolor'] = "#960e32"
entry_widget['highlightthickness'] = 3
def home_screen(self):
global window
window = Tk()
window.geometry('1190x600')
window.title('Phone Track')
window.config(bg='#050e1c')
icon = PhotoImage(file='tracking.png')
window.wm_iconphoto(False, icon)
Entry_text = Label(a, text='Enter your phone no. with + _ _', fg='#DDDDDD', bg='#0a1221',
Entry_text.place(x=729, y=85)
global number, entry_widget
number = StringVar()
borderwidth=0)
entry_widget.place(x=666, y=135)
entry_widget.bind('<Button>', self.update_entry)
global valid_label
valid_label.place(x=730, y=170)
enter_btn.place(x=828, y=210)
time_zone_label.place(x=610, y=275)
company_label.place(x=610, y=345)
region_label.place(x=610, y=415)
get_location_btn.place(x=788, y=485)
get_location_btn.bind('<Button>', self.set_address)
map_widget.pack(fill=Y, side=LEFT, )
# Google_url
map_widget.set_tile_server('https://mt0.google.com/vt/lyrs=m&hl=en&x={x}&y={y}&z={z}&s=Ga",
max_zoom=20')
window.resizable(False, False)
window.mainloop()
a = Phone()
Conclusion:
This Phone Number Tracker project can be a comprehensive
and engaging final year project. It integrates various aspects of
Python development, including:
API integration for real-time data fetching.
Regular expression for validation.
Database management to store phone numbers.
GUI development to make the application user-friendly.