Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 28

A project report

On
GUI Chat Application with Python

Submitted in partial fulfillment of the requirement of


Project – VI (BCA…..)
Of
Bachelor of Computer Application

Submitted to

Purbanchal University
Biratnagar, Nepal

Submitted By
Aardik Acharya
Roshan Shrestha

COLLAGE OF INFORMATION
TECHNOLOGY AND ENGNEERING
Tinkune, Kathmandu
March 26, 2023
Sushan Kawan

COLLAGE OF INFORMATION
TECHNOLOGY AND ENGNEERING
Tinkune, Kathmandu
March 26, 2023
A project report

On
GUI Chat Application with Python

Submitted in partial fulfillment of the requirement of


Project – VI (BCA……)
Of
Bachelor of Computer Application

Submitted to
Purbanchal University
Biratnagar, Nepal

Submitted By
Aardik Acharya
Roshan Shrestha
Sushan Kawan

COLLAGE OF INFORMATION
TECHNOLOGY AND ENGNEERING
Tinkune, Kathmandu
March 26, 2023
ACKNOWLEDGEMENT

This is to acknowledge all those without whom this project would not have been
reality. Firstly, the project members would wish to thank Project supervisor who
provided immense support and time towards it. Without proper guidance, the
project would not have been complete.

The journey of making this project was so nice and all the teachers who
supported, the parents support also played a big role and friends too. The project
members thank to all of them and wish that they keep supporting like this.

A project is a bridge between theoretical and practical learning and with this
thinking the project members worked on the project and made it successful due to
timely support and efforts of all who helped.

Once again thank you Project supervisor for giving this chance to learn so many
things .There are no more valuable words to express the thank.

ii
ABSTRACT

A Python GUI chat application client is a program that provides users with a graphical user interface to connect to
a chat server and engage in real-time text-based communication with other users. In essence, the client facilitates
the interaction between the user and the chat server, allowing messages to be sent and received in a user-friendly

manner.

The objective of this project is to build chat application with GUI using python. This contains two files,
one will act as a server and the other will act as a client. It will create a desktop GUI for chat interface.
Currently, the chat application works in the local machine. To work between devices, change the IP
address for host and port. It also uses threading for simultaneously sending and receiving messages.

iii
LIST OF FIGURES

Figure Number Figures Page No.

1 Admin case Diagram 8

2 Student case Diagram 9

3 Login Activity Diagram 10

iv
LIST OF TABLES

Table Number Tables Page No.

1 Gantt chart 7

v
LIST OF ABBREVIATIONS

vi
Table of Contents
ACKNOWLEDGEMENT........................................................................................ii

ABSTRACT............................................................................................................iii

LIST OF FIGURES.................................................................................................iv

LIST OF TABLES...................................................................................................v

LIST OF ABBREVIATIONS.................................................................................vi

CHAPTER 1: INTRODUCTION.............................................................................1

1.1 Problem Statement..........................................................................................1

1.1.1 Bloated software and user interfaces..................................................1

1.1.2 Lack one time login............................................................................1

1.2 Background information and motivation...................................................2

1.3 Objectives..................................................................................................2

1.4 Features......................................................................................................3

1.5 Document organization..............................................................................4

CHAPTER 2: LITERATURE REVIEW.................................................................5

CHAPTER 3: SYSTEM ANALYSIS......................................................................6

3.1 Feasibility study..............................................................................................6

CHAPTER 4: SYSTEM DESIGN...........................................................................8

4.1 Admin use case diagram.................................................................................8

4.2 Student use case diagram...............................................................................9

4.3 Login activity diagram.................................................................................10

CHAPTER 5: SYSTEM DEVELOPMENT AND IMPLEMENTATION............11

5.1 Tools and Technologies used.......................................................................12

5.2 Testing..........................................................................................................12

CHAPTER 6: CONCLUSION AND FUTURE ENHANCEMENT.....................15


6.1 Project Review, Discussions and Conclusion...............................................15
6.2 Project Achievement.....................................................................................15

6.3 Limitations....................................................................................................16

6.4 Future Enhancements...................................................................................16

CHAPTER 7: REFERENCE..................................................................................17
CHAPTER 1: INTRODUCTION

The process of conversing, engaging, and/or exchanging messages through the Internet is
referred to as chatting. It involves two or more people communicating via a chat-enabled
service or program. Chat can be given via the Internet using text, voice, or video
communication. A chat program is made up of two fundamental components: a server and
a client.
A server is a computer program or hardware device that offers functionality to other
programs or hardware. A client or clients are simply people who wish to communicate
with one another. Also, clients first need to connect to the server and then the server will
work as a medium between clients. The chat program we’ll create will be more like a chat
room than a peer-to-peer chat. As a result, numerous users can connect to the chat server
and submit messages. Any message is sent to every chat user that is connected.
1.1 Problem Statement
The problem domains on this project are:

1.1.1 Bloated software and user interfaces


Due to the fierce competition, many developers try to add many features,
advertise and content to their respective system in order to retain their users and
attract new users. This trend has made it harder for users to get content from their
system, which also means it's harder to filter the content that they want. With the
continuous iteration of application and a growing number of features, the online
examination system will become even more bloated and the user's experience will
become less smooth. Based on (Choski, 2018), users tend to feel frustrated and
angry if they take a long time to get a reply from the mobile application, so they
will never return to the same application, and 48% of users will simply uninstall
or stop using it.

1.1.2 Lack of one time login


When students gain access to the system they continuously try to login and take
tests, this creates a disturbance in traffic. And the students might just keep taking
tests which lead to unfair results. If not carefully check the content, it is possible
to miss the students data that the admin wants to filter, and then repeat the
1
behavior until the result is found. Therefore, it is an extremely poor experience of
users.

2
1.2 Background information and motivation
Travelling to abroad for further studies have been really popular and growing
among students. With this the establishment of different kinds of institutions and
consultancy’s grows as well. So taking IELTS/GRE/GMAT tests is very common.

The project is designed to provide a digital platform for such institutions, where
they can easily manage students and exams. Whilst, benefitting the students to be
able to take exams remotely.

Since many developers realize that modern urbanites are living in a digital
situation, they have captured the commercial opportunity therefore many similar
applications have emerged in the market. These applications have easy-to-use
interfaces and features that make the user experience better. However, these
existing programs blindly pursue fancy appearance and huge features, resulting in
the high utilization rate of user’s resources, such as CPU and memory. For normal
users, these kinds of huge features are problematic. Therefore, this project is
designed to dedicate to low consumption which could run on any browser.

1.3 Objectives
The objectives of this project are:

i. To provide a digital platform for taking tests or exams: Since the


advancement of technology and covid-19, digital platforms have been very
popular. So a proper examination system available digitally could help
students to improve themselves.
ii. To provide one time login: Tests such as (GRE/GMAT/IELTS/TOEFEL)
do not require students to stay login forever. So after taking exams a
student should be logged out immediately, until the next notice from the
institution.

3
1.4 Features

A. Admin can:

1. Manage credentials
2. Manage students
3. Manage questions
4. Manage faculties
5. Manage results

B. Users (students) can:

1. One time login


2. Take exams
3. Check results

4
1.5 Document organization

The project report is divided into seven chapters. Chapter 1 is about the background
and motivation of the proposed application, the problem statement, and objectives
to solve the problem statement, features and highlighting of proposed applications
that have been achieved. Chapter 2 contains a review on the advancement of other
system on the market, along with comparisons, strengths, and weaknesses.
Chapter 3 is the system analysis containing feasibility study. Chapter 4 is the
system design including the use case diagram, and activity diagram. Chapter 5 is
about software development and implementation, system performance,
definitions, implementation and testing. Chapter 6 is the project review,
discussion, and conclusion, the achievements of the project, the problems
encountered in the development process and the future improvement. Finally
Chapter 7 is the part containing references.

5
CHAPTER 2: LITERATURE REVIEW
Online examination system is one of the methods of taking exams which doesn’t
require any kind of a piece of paper or a pen. It is the fast growing method to take
exams over online. Speed and accuracy is the reason behind the famous of this
because speed and accuracy is the backbone of this system. Many researchers
have already researched about online examination system and we have developed
an online examination system to keep an eye on this researches and these all are
the following:

Zhenming et al (2003) (Zhenming, Conejos, Jim, & Sean): They developed an


online examination system based on web browser/server framework. SIETTE
Guzman and Conejos (2005) (Zhenming, Conejos, Jim, & Sean): They developed
an online examination system called as System of Intelligent Evaluation using
tests for Tele-education)

The above developed system supports the login and some basic features,
resumption capabilities, random questions distribution. Ayo et a (2007): They
proposed a model of examination system. The software was developed in private
university in Nigeria. The reason behind the developed such as software is to
conduct the entrance examination for all Nigeria universities called JAMB (Joint
Admission Matriculation Board). This software was designed and tested in
Covenant University they were the private university in Nigeria. They found the
software really helpful for conducting neat and clean with accuracy entrance
examination. It eliminates the problems that are associated with the traditional
methods of entrance examination Jim and Sean (2006) (Zhenming, Conejos, Jim,
& Sean): They justified the assessment can be taken in different ways. First of all
they made a e-assessments via Internet and then the mindset has been done that
we can enhance the assessment to an online examination system.

6
CHAPTER 3: SYSTEM ANALYSIS

3.1 Feasibility study


The propose project uses PHP as the backend language because it’s versatile
meaning it can be used on MAC OS, Windows, Linux and supports most web
browsers. And our project is a web app so clearly PHP is a go-to language for
backend. The project uses MySQL for database because its most popular open
source database that provides comprehensive support for every application
development need along with XAMPP which provides a free server for testing
project. The text editor used for writing all the codes is Sublime Text. Sublime
text is jam packed with powerful features like multi-line editing, build systems for
dozens of programming languages, and most importantly it is lightweight
compared to modern popular text editor. Thus, making it easy on resource, this
directly or indirectly affects the speed of the work flow.

7
Table 1: Gantt chart

Date

Task Name May 15 May Jun 01 Jul 22 Aug 22 Sep 20

Requirement
Analysis

System
Design

Implementatio
n

Testing

8
CHAPTER 4: SYSTEM DESIGN

4.1 Admin use case diagram

Figure 1: Use case Diagram

9
4.2 Student use case diagram

Figure 2: Student use case Diagram

10
4.3 Login activity diagram

Figure 3: Login Activity Diagram

The above figure Login activity diagram system shows the flow of login, where a
user will be able to login using their username and password. After the login user
can perform all the operations such as (manage students, manage credentials,
manage faculties, manage questions, manage results), if its admin else (take tests,
check results), if its student. If a user enters wrong details or doesn’t exist in the
database, an error is thrown. The diagram helps to demonstrate how the login
works in the project.

11
CHAPTER 5: SYSTEM DEVELOPMENT AND
IMPLEMENTATION

Figure 5: Waterfall Model

The proposed project is developed using Waterfall Model. Since the mode is
simple and easy to understand and use. It is easy to manage due to rigidity of the
model. The waterfall model has 6 phases. Such as: - Requirement analysis, system
design, implementation, testing, deployment and maintenance. Each phase in
waterfall model has specific deliverables and a review process. In this model
phases are processed and complete one at a time.

12
5.1 Tools and Technologies used

 Front-End : HTML, CSS, JAVASCRIPT


 Back-End: PHP 8.1.4
 Database: MySQL
 Server: Apache server through XAMPP 8.1.4
 Other tools used: JQuery
 Text editor: Sublime text Build 4126
 Operating System: Windows 8.1

5.2 Testing
Unit Testing 1: Admin role

Test Objective: To ensure that the admin can add/remove the students, faculties,
questions, and results.

Table 2: Unit Testing Admin role

Input Expected Output Pass or


Fail

Click “students” on the The registered users successfully listed. Pass


menu

13
Click "faculties” in the Successfully listed faculties available Pass
menu

Click “Questions” in the The registered questions list available to manage Pass
menu

Click “update or delete” Successfully able to add or remove the students Pass

students

Click “update” question Able to manage the questions Pass


from the menu

Click “add” new faculty New faculty successfully created Pass

Unit Testing 2: Student perspective

Test Objective: To ensure students are able to take exam, check the results and
logout.

14
Table 3 Unit Testing Student perspective

Input Expected Output Pass or


Fail

Click “take test” The questions regarding the test were successful Pass
loaded

Click “result” after taking Able to see the result Pass


test

Click the logout button Pass


Returned back to login page

15
CHAPTER 6: CONCLUSION AND FUTURE
ENHANCEMENT

6.1 Project Review, Discussions and Conclusion

In a nutshell the students are only given one time login privilege. The reason for
going one time login is that, in such test or examination system, the students are
not allowed to retake exams again and again. Also being able to login every time
will ensure the traffic disturbances and such examination system is taken by many
students which leads difficulty in the management so a onetime login ensures that
the students are logged out after their test is done and wait for the institution to
provide them the hard copy of their result.

In short, the proposed application will combine the strengths of most system on
the existing market and eliminate some unrealistic features, allowing admin to
focus on managing examination system.

6.2 Project Achievement


Firstly, the proposed project has achieved its first objective, which is to provide a
digital platform for taking tests (paper less exams). Though this project uses
dummy data for the test purpose, we assure you that there is not much difference
in using real world. Since the managing examination system is pretty much same
standard.

Lastly, the proposed system player achieves the second objective to provide one
time login for the students. By this way the institution can worry less about
students being logged in even after taking their tests.

16
6.3 Limitations
The proposed project is not something the best out there. It is still lacking lots of
features which could make life of a user much easier. Such as:

 Not being able to categorize faculties and questions more broadly


 There can be only one admin

6.4 Future Enhancements


Creating this particular project made us teach a lot of stuff so we will keep
aspiring to make modifications in it and create a better version of the current
project. We plan to add much more in future, such as:

 Addition of sub-admin systems

17
CHAPTER 7: REFERENCES

Bibliography
ANDERSON, J. (2020, March 21). Human on technology. Retrieved from
JANNA ANDERSON :
https://www.pewresearch.org/internet/2012/02/29/main-findings-teens-
technology-and-human-potential-in-2020/

Choski, M. (2018). How to cope with Anger. Retrieved from Mind:


https://www.mind.org.uk/information-support/types-of-mental-health-
problems/anger/about-anger/

(Zhenming, Conejos, Jim, & Sean)


https://www.researchgate.net/publication/311739809_LITERATURE_RE
REVI_ON_ONLINE_TESTING_METHOD

(Thapa, 2017)
https://github.com/vijaythapa333/gre-gmat-test-preparation-system

18

You might also like