Registration And Login System
Project Report
Submitted in Partial Fulfilment of the Requirements for
the Award of Degree of
Bachelor in Technology
GGS COLLEGE OF MODERN TECHNOLOGY,
KHARAR
Submitted by:
VIKAS KUMAR
2103779
CERTIFICATE
This is to certify that the work presented in this Project entitled “Super-Market Navigation System”
is a bonafide record of the work done during the period from Jan – June 2023 at “FUTURE FINDERS”
by Eshan Padhiar
The project work is an authentic record of my own work and is carried out under the supervision
and guidance of Guide Sunder sir, Computer Science Department. The matter presented in the
report has not been submitted elsewhere, wholly or in part, for the award of any other degree or
diploma.
VIKAS KUMAR (2103779)
This is to certify that the above statement made by the candidate is correct to the best of my
knowledge.
Prof. Sunder
Department of Computer Science
Miss. Saruchi Saggi
HOD (C.S.E)
Computer Science Department GGS College of Modern Technology, Kharar, Mohali,
PUNJAB
ACKNOWLEDGEMENT
I take this opportunity to express my sincere gratitude to the Principal, GGS College of Modern
Technology, for providing this opportunity to carry out the present work.
The constant guidance and encouragement received from Prof. (Dr.) <X>, Professor and
Head, Department of Computer Science & Engineering, has been of great help in carrying our
present work and helped us in completing this project with success.
I would like to express a deep sense of gratitude to “FUTURE FINDERS” team and my Project
Guide Prof. Sundar, Computer Science department for the guidance and support in defining the
design problem and towards the completion of my project work. Without their wise counsel and
able guidance, it would have been impossible to complete the thesis in this manner.
I am also thankful to all the faculty and staff members of FUTURE FINDERS ORGANISATION for
their intellectual support throughout the course of this work.
VIKAS KUMAR (2103779)
INDEX
S.NO TOPIC PAGE NO.
1 INTRODUCTION 1-5
2 PROJECT OBJECTIVE 7
3 BACKGROUND 7
4 HARDWARE & 8
SOFTWARE
REQUIREMENTS
5 CODE 9-11
6 OUTPUT 12-14
7 FUTURE SCOPE 15
8 CONCLUSION 15
9 BIBLIOGRAPHY AND 16
REFERENCE
INTRODUCTION
1.1 PYTHON:-
Fig.1.1 Python Logo
1.1.1 Python Language Introduction:
Python is a widely used general-purpose, high level programming language. It was initially designed by
Guido van Rossum in 1991 and developed by Python Software Foundation. It was mainly developed for
emphasis on code readability, and its syntax allows programmers to express concepts in fewer lines of code.
Python is a programming language that lets you work quickly and integrate systems more efficiently.
Python is a high-level, interpreted, interactive and object-oriented scripting language. Python is designed to
be highly readable. It uses English keywords frequently where as other languages use punctuation, and it has
fewer syntactical constructions than other languages.
Python is Interpreted − Python is processed at runtime by the interpreter. You do not need to
compile your program before executing it. This is similar to PERL and PHP.
Python is Interactive − You can actually sit at a Python prompt and interact with the interpreter
directly to write your programs.
Python is Object-Oriented − Python supports Object-Oriented style or technique of programming that
encapsulates code within objects.
1|Page
1.2 Python Features :-
Fig 1.3 Features
Python’s Features includes-
Easy-to-learn − Python has few keywords, simple structure, and a clearly defined syntax. This
allows the student to pick up the language quickly.
Easy-to-read − Python code is more clearly defined and visible to the eyes.
Easy-to-maintain − Python's source code is fairly easy-to-maintain.
A broad standard library − Python's bulk of the library is very portable and cross-platform
compatible on UNIX, Windows, and Macintosh.
Interactive Mode − Python has support for an interactive mode which allows interactive testing and
debugging of snippets of code.
Portable − Python can run on a wide variety of hardware platforms and has the same interface on all
platforms.
Extendable − You can add low-level modules to the Python interpreter. These modules enable
programmers to add to or customize their tools to be more efficient.
Databases − Python provides interfaces to all major commercial databases.
GUI Programming − Python supports GUI applications that can be created and ported to many
system calls, libraries and windows systems, such as Windows MFC, Macintosh, and the X Window system
of Unix.
Scalable − Python provides a better structure and support for large programs than shell scripting.
2|Page
1.3 Future Technologies Counting On Python :-
Generally, we have seen that python programming language is extensively used for web
development, application development, system administration, developing games etc.
But there are some future technologies that are relying on python. As a matter of fact, Python has
become the core language as far as the success of these technologies is concerned. Let’s dive into the
technologies which use python as a core element for research, production and further developments.
1. Artificial Intelligence (AI):- Python programming language is undoubtedly dominating the other
languages when future technologies like Artificial Intelligence(AI) comes into the play.
There are plenty of python frameworks, libraries, and tools that are specifically developed to direct
Artificial Intelligence to reduce human efforts with increased accuracy and efficiency for various
development purposes.
It is only the Artificial Intelligence that has made it possible to develop speech recognition system,
autonomous cars, interpreting data like images, videos etc.
We have shown below some of the python libraries and tools used in various Artificial Intelligence
branches.
Machine Learning- PyML, PyBrain, scikit-learn, MDP Toolkit, GraphLab Create, MIPy etc.
General AI- pyDatalog, AIMA, EasyAI, SimpleAI etc.
Neural Networks- PyAnn, pyrenn, ffnet, neurolab etc.
Natural Language & Text Processing- Quepy, NLTK, gensim
2. Big Data:- The future scope of python programming language can also be predicted by the way it
has helped big data technology to grow. Python has been successfully contributing in analyzing a
large number of data sets across computer clusters through its high-performance toolkits and
libraries.
Let’s have a look at the python libraries and toolkits used for Data analysis and handling other big
data issues.
Pandas
Scikit-Learn
NumPy
SciPy
GraphLab Create
IPython
Bokeh
3|Page
Agate
PySpark
Dask
3. Networking:- Networking is another field in which python has a brighter scope in the future.
Python programming language is used to read, write and configure routers and switches and perform
other networking automation tasks in a cost-effective and secure manner.
For these purposes, there are many libraries and tools that are built on the top of the python language.
Here we have listed some of these python libraries and tools especially used by network engineers
for network automation.
Ansible
Netmiko
NAPALM(Network Automation and Programmability Abstraction Layer with Multivendor
Support)
Pyeapi
Junos PyEZ
PySNMP
Paramiko SSH
Websites Developed Using Python
Python programming language is used for web development, so here are some of the world’s
most popular websites that are created using python.
Youtube
Quora
Instagram
Pinterest
Spotify
Flipkart
Uber
Google
Facebook
4|Page
Fig 1.4 Companies Using Python
Python Programming Language Has Bright Future:-
Python has been voted as most favourite programming language beating C, C++ and java programming.
Python programming is open source programming language and used to develop almost every kind of
application.
Python is being used worldwide as a wide range of application development and system development
programming language. Big brands and search engine giants are using python programming to make their
task easier. Google, Yahoo, Quora, Facebook are using python programming to solve their complex
programming problems.
Python programming is versatile, robust and comprehensive. Python is high-level programming language
and easy to learn as well as it reduces the coding effort compare to other programming languages.
Python programming is used to write test scripts and tests mobile devices performance. It is one of the most
versatile languages these days. Python programmers are most demandable in the IT industry these days and
get paid more compared to another language programmer.
5|Page
PROJECT :-
User registration systems are screens, forms, or profile pages that request information from a
user to create a web-based account or profile. A user registration system generally asks a
user to create a username and password, and possibly answer other security questions as
well. Many user registration systems allow users to personalize their accounts and profiles;
other registration systems provide users’ account information for them. User registration
systems are usually HTML and PHP programs.
Data integrity is critical for any successful online business, and a user registration/login
system is the gateway to most web applications. Your registration system should support a
comprehensive set of tools and workflows out of the box, such as password management and
reset logic, email verification workflows, inline field validation, CAPTCHA spam
prevention, dirty word filtering, Children’s Online Privacy Protection (COPPA) flows, and
terms of service acceptance.
6|Page
1.) PROJECT OBJECTIVE :-
The main objective of the Login System is to manage the details of Login, Change Password,
Username, Register, Programmer. It manages all the information about Login, Password,
Programmer, Login. This project is to implement registration and login system using Tkinter
module in python.
2.) BACKGROUND :-
Registration only happens the first time you access the system. It is a way to check your
credentials. Every time after your initial registration, you will log on to the system using the
username and password you created.
Unlike other types of user interface forms, login forms do not come in all shapes and sizes.
They are limited to the number of fields that are used. The reason for such a minimal and
capsule approach is trivial: people do not like to fill in forms. You cannot be pushy by asking
for too much information. These forms should be simple, familiar, and straight to the point.
As a rule, the login form includes two inputs, links to alternative scenarios, and a submit
button. Even though you must be concise, still there is plenty to choose from:
Username field
Email field
Telephone number field
Password field
Alternative login options (Facebook, Twitter, Amazon, Adobe, Apple, etc.)
Forgot password link
Submit button
Show password option
Keep me logged in option
Registration link
As a rule, developers prefer to use these fields:
Email field
Password field
Alternative login options
Forgot password link
Submit button
Depending on the purpose of your login form, you may choose one or another field or extend
this default pack with other options.
7|Page
3.) HARDWARE REQUIREMENTS :-
Hardware Tools Minimum Requirements
Processor i5 or above
Hard Disk 10GB
RAM 8GB
Monitor 17” colored
Mouse Optical
Keyboard 122
4.) SOFTWARE REQUIREMENTS :-
Software Tools Minimum Requirements
Platform Windows, Linux (or) MacOS
Operating System Windows, Linux (or) MacOS
Technology Python
Scripting Language Python
IDE PyCharm (or Jupiter)
8|Page
CODE :-
# import modules
from tkinter import *
import os
# Designing window for registration
def register():
global register_screen
register_screen = Toplevel(main_screen)
register_screen.title("Register")
register_screen.geometry("300x250")
global username
global password
global username_entry
global password_entry
username = StringVar()
password = StringVar()
Label(register_screen, text="Please enter details below", bg="blue").pack()
Label(register_screen, text="").pack()
username_lable = Label(register_screen, text="Username * ")
username_lable.pack()
username_entry = Entry(register_screen, textvariable=username)
username_entry.pack()
password_lable = Label(register_screen, text="Password * ")
password_lable.pack()
password_entry = Entry(register_screen, textvariable=password, show='*')
password_entry.pack()
Label(register_screen, text="").pack()
Button(register_screen, text="Register", width=10, height=1, bg="blue",
command=register_user).pack()
# Designing window for login
def login():
global login_screen
login_screen = Toplevel(main_screen)
login_screen.title("Login")
login_screen.geometry("300x250")
Label(login_screen, text="Please enter details below to login").pack()
Label(login_screen, text="").pack()
global username_verify
global password_verify
username_verify = StringVar()
password_verify = StringVar()
global username_login_entry
global password_login_entry
Label(login_screen, text="Username * ").pack()
username_login_entry = Entry(login_screen, textvariable=username_verify)
username_login_entry.pack()
Label(login_screen, text="").pack()
9|Page
Label(login_screen, text="Password * ").pack()
password_login_entry = Entry(login_screen, textvariable=password_verify, show='*')
password_login_entry.pack()
Label(login_screen, text="").pack()
Button(login_screen, text="Login", width=10, height=1, command=login_verify).pack()
# Implementing event on register button
def register_user():
username_info = username.get()
password_info = password.get()
file = open(username_info, "w")
file.write(username_info + "\n")
file.write(password_info)
file.close()
username_entry.delete(0, END)
password_entry.delete(0, END)
Label(register_screen, text="Registration Success", fg="green", font=("calibri",
11)).pack()
# Implementing event on login button
def login_verify():
username1 = username_verify.get()
password1 = password_verify.get()
username_login_entry.delete(0, END)
password_login_entry.delete(0, END)
list_of_files = os.listdir()
if username1 in list_of_files:
file1 = open(username1, "r")
verify = file1.read().splitlines()
if password1 in verify:
login_sucess()
else:
password_not_recognised()
else:
user_not_found()
# Designing popup for login success
def login_sucess():
global login_success_screen
login_success_screen = Toplevel(login_screen)
login_success_screen.title("Success")
login_success_screen.geometry("150x100")
Label(login_success_screen, text="Login Success").pack()
Button(login_success_screen, text="OK", command=delete_login_success).pack()
# Designing popup for login invalid password
def password_not_recognised():
global password_not_recog_screen
password_not_recog_screen = Toplevel(login_screen)
password_not_recog_screen.title("Success")
password_not_recog_screen.geometry("150x100")
10 | P a g e
Label(password_not_recog_screen, text="Invalid Password ").pack()
Button(password_not_recog_screen, text="OK",
command=delete_password_not_recognised).pack()
# Designing popup for user not found
def user_not_found():
global user_not_found_screen
user_not_found_screen = Toplevel(login_screen)
user_not_found_screen.title("Success")
user_not_found_screen.geometry("150x100")
Label(user_not_found_screen, text="User Not Found").pack()
Button(user_not_found_screen, text="OK",
command=delete_user_not_found_screen).pack()
# Deleting popups
def delete_login_success():
login_success_screen.destroy()
def delete_password_not_recognised():
password_not_recog_screen.destroy()
def delete_user_not_found_screen():
user_not_found_screen.destroy()
# Designing Main(first) window
def main_account_screen():
global main_screen
main_screen = Tk()
main_screen.geometry("600x500")
main_screen.title("Account Login")
Label(text="Select Your Choice", bg="blue", width="300", height="2",
font=("Calibri", 13)).pack()
Label(text="").pack()
Button(text="Login", height="2", width="30", command=login).pack()
Label(text="").pack()
Button(text="Register", height="2", width="30", command=register).pack()
main_screen.mainloop()
main_account_screen()
11 | P a g e
OUTPUT :-
Main Screen:-
Login Page:
12 | P a g e
User not found window:-
Registration window:-
Result:-
Registration
Successful
13 | P a g e
Result:- Login Successful
FUTURE SCOPE
One of the practices that we see on e-commerce websites is that instead of using username
field or email field as the first option, platforms employ telephone number.
After you submit it, you get a unique code on your telephone that you need to enter the next
field. That is all. You do not have to remember a username or recall a password.
This solution is straightforward, quick, painless, and hassle-free, and it certainly leaves a
positive impression. Yes, it demands your telephone number; some people may find it
14 | P a g e
unacceptable. Chances are you will share your telephone number with the platform
eventually. Second, with cell phones becoming more secure, this tension may disappear.
As the mobile phone industry evolves, we are starting to see other options as well, such as
login forms examples where all you need is to use your finger to enter the website. This is
just a beginning, but it is hard not to notice the potential of Touch ID and face recognition.
Therefore, it is highly recommended to keep these two approaches in mind.
CONCLUSION
Even though login forms for websites and apps are as old as the hills, people still experience
problems with handling them properly. Many things can scare them away: too many options,
fancy input fields, confusing design, suspicious elements, to name a few. Therefore, it is
your task to convert a login form into a UI unit that provides a comfortable user experience.
REFERENCES AND BIBLIOGRAPHY
1. Python basic functions, Tkinter and other libraries reference
(https://www.w3schools.com/python/)
15 | P a g e
2. Information regarding Registration and login systems
(https://en.wikipedia.org/wiki/Registered_user)
16 | P a g e