The prime objective of this project was to establish a working inter Ahmedabad University (AU) Connectivity by conducting survey and determining the difficulty occurring while working on various types of projects and assignments. The project also deals with problem arising in communication between students, professors and experts in the same college/university. Along with this the plan enables the user to connect with other users with same area of interest and view their profiles. The design of the code also includes Storing details in MySQL. The design of the code takes place in Model-View-Controller (MVC) Frame Work. Based on the class diagram and flow of the task building of different frames and classes had taken place step by step. For different functions we created diverse and essential algorithms. After the designing of the class comes the testing the code by executing every possibility of the outcome and sources of error. Which is then again followed repeatedly by the process of bugging and debugging to ensure the surety of the code. It also uses objects of Object Oriented Programing (OOP(s)).
1. Object Oriented Programing report
1
Au Inter-
Connectivity
[Object Oriented Programing Project]
Date
May 15,2016
Professor
Sujoy Pal
ICT
Batch 2015
Presented by:
Prasann Patel [201501083]
Utsav Oza [201501064]
Pujan Prajapati [201501082]
2. Object Oriented Programing report
2
Table of Content
Topic Page No.
Acknowledgements 3
Preface 4
Introduction 4
Detailed Features 5
Advantages &
Limitations
11
Assumption(s) 12
Data Storage Structure 14
Task Division 15
Naming Conventions 15
Object Oriented
approach in design and
coding
16
Problems Faced 16
Conclusion 19
3. Object Oriented Programing report
3
Acknowledgments
Our first experience of project has been magnificent. The project
was a mixture of problematic scenario and its careful
management. It has taken lots of efforts to finish the same.
However, it would not have been possible without the kind
support and help of many individuals and experts. We take this
opportunity to express our sincere gratitude to all those who
helped us in various capacities in undertaking this project and
devising the report. We are privileged to express our sincere
gratitude to our educator Mr. Sujoy Pal whose unmatched
knowledge, moral and judgment along with generous nature was
an immense support in implementation of the project.
We would also like to thank our seniors for helping us out when
there seemed to be no way out. Also, the support of Mr. Rahul
Bhathiji was also very precious in clarifying our vision towards
the project.
References 20
4. Object Oriented Programing report
4
Preface
This project provides us a simple platform for student
communication and data storage where each student can connect
with unique people and clearing each other’s queries and doubts.
Achieving this object is difficult in day to day life physically but
connecting people virtually faster easier and reliable. All these
problems are solved using this project.
Throughout the entire course of our project out goal was to solve
student’s doubts and connect him with others of the same type as
that of him. The project with features like Editing/Updating
information, assessing the same.
Introduction
The prime objective of this project was to establish a working
inter Ahmedabad University (AU) Connectivity by conducting
survey and determining the difficulty occurring while working
on various types of projects and assignments. The project also
5. Object Oriented Programing report
5
deals with problem arising in communication between students,
professors and experts in the same college/university. Along
with this the plan enables the user to connect with other users
with same area of interest and view their profiles. The design of
the code also includes Storing details in MySQL.
The design of the code takes place in Model-View-Controller
(MVC) Frame Work. Based on the class diagram and flow of the
task building of different frames and classes had taken place step
by step. For different functions we created diverse and essential
algorithms. After the designing of the class comes the testing the
code by executing every possibility of the outcome and sources
of error. Which is then again followed repeatedly by the process
of bugging and debugging to ensure the surety of the code. It
also uses objects of Object Oriented Programing (OOP(s)).
Detailed Features
AU connectivity is a project that deals with student information
in their profile. The system records basic personal information,
city, education, skills, achievements and areas of interest student.
AU connectivity function involves like:
Logging into an account with specific ID and Passcode
Accessing details of different collages and there links
directly
Building personal profile and editing it
Searching for different Students
Posting Doubts
6. Object Oriented Programing report
6
Taking Feedbacks
The above is the First frame the User will see when he/she runs
the code. The bottom logos represents all the colleges in
Ahemdabad University. These Buttons are hyperlinked to their
respective home pages i.e. clicking on anyone of them will lead
to opening of that website in your default browsers.
The top right corners consists of “Contact Us” and “Developers”
which has the following details:
Contact Us:
E-Mail (hyperlinked),
Call,
Check-in (opens in Google Maps)
Feedback (Stores the comments into a file along with a
his/her Roll-No)
7. Object Oriented Programing report
7
Developers:
Contains the Name and a display picture of the 3 Developers
Security Feature: Until and unless the Correct User ID and Roll-
No is provided none of this Inside Personal information will be
released. And if the Password and ID do not match then an error
message will be pop-out.
When the users enters the correct ID and password the News-
Feed Frame will Appear while the previous Frame is Disposed.
The News-Feed frame will consist of the following Functions:
Home(Used for Posting Doubts and Viewing its answers )
Edit Profile (Database Stored in MySQL)
8. Object Oriented Programing report
8
Connection (Friend Requests and People You may Know )
Notification (upcoming events and updates regarding Time
Tables)
Messenger (a Client-Server Chat room)
Search (Searching for New friends )
Home
This the Default view when news-feed frame is opened. It
gives you opportunities to post your doubts which all
students will be able to see and answer to.
Alternative 1: To store the doubt in MySQL table and make
it visible to everyone in the friend list.
Alternative 2: To store the doubt With File Handling by
creating a file so that everyone in the list can only view the
doubt and answer to it which are stored in the same file
below.
We chose Alternative 2 because we wanted the doubts
posted to be viewed/answered anonymously so that there
will occur partiality based on the student’s impression and
his/her doubt will still be solved.
Edit Profile
This module maintains the profile of the user like Name,
Current City, Education, Home Town, Date of Birth, Sex,
9. Object Oriented Programing report
9
Skills, Contact number, experiences and achievements
which can be edited at any time and stored directly In the
SQL database.
Connection
This Method will show newly arrived Friend Requests, the
Present list of Friends and suggestions of the people you
may know based on similarities of likes and dislikes and
their skills and area of interest.
Notifications
There will be notifications of Upcoming Events and any
kind of changes in the academic time-table or if there is a
change in the lecture hall. This will be constantly updating
in a regular interval of time, and if there is any kind of event
or changes that have occurred then a Pop-Up notification
will show in the bottom right corner for 5-8 sec. This
process will Take place through Multi-threading and during
this event other events like posting a doubt or editing profile
info or searching can also take place simultaneously.
All the notifications will be updated from a server and
pushed to all of the student to which it concerns.
Messenger
Messenger window will ask for a roll number or a name to
which you want to chat with and once a client-server
connection is established both them can be on different PCs
10. Object Oriented Programing report
10
and can chat in the chat room. Both end users will be able to
all his and the person on the other sides messages correctly.
To end the Chat either one of the Server or the Client will
have to type in “END” and the Chat room will be terminated
instantly.
Search
Searching of new friends will take place by entering his/her
roll number which will be different for all the students even
if they have the same name. An SQL query will be fired and
it will print the details of the student below the text field in
the search frame.
Advantages and Limitations
11. Object Oriented Programing report
11
Advantages
The main advantage of this application is that is it made
highly User-friendly and very easy to operate.
Ahmedabad University consists of all different kinds of
fields and streams. By this application student doing
projects in fields other then there mastery then they can
consults students of that field in other colleges and
solve their issues.
Prof. and committee heads can easily post any kind of
event or a change in schedule and students will get to
know right away.
Communication network will widen very easily.
Students can get instant answers of their doubts from
their friends without disturbing prof. for small issues
and concerns.
Students other than AU will not be able to log in as they
will not have the default Passcode and ID
Limitations
12. Object Oriented Programing report
12
The Files used in the Doubts are open to all. Which
implies that answers can be erased but someone as well.
Searching is taking place only with Roll numbers and
not with names and schools.
The student will have to edit there profile at least once
for their data to be stored in the database.
Profile is still not capable of uploading and storing data
in SQL.
Assumption(s)
We have assumed that at the first time to logging in students
will be provided with default passcode and there IDs.
We have also pre-assumed that the users are wise and they
do no post non-academic doubts and also do no delete
someone else’s answers or questions.
Data Storage Structures
We have used both MySQL database and file handling.
13. Object Oriented Programing report
13
The files are:
Doubt.txt:- Text File, Buffered Writer/Reader, file
writer/reader
This file is responsible for storing the Doubt (Post) and also
the Answer for the same. And therefor it is both in read and
write mode.
Feedback.txt:- Text File, File Writer
This file stores the Feedback from the user for product
development and possible errors/bugs detected by the user.
Task Division
14. Object Oriented Programing report
14
Sr. No. Task Assigned to
#1 Identifying Classes All three
Related to Front-end & Multi-Threading Utsav
Related to Model & Connection Prasann
Related to Action-Listener & File-Handling Pujan
#2 Making Algorithms All three
Tittle frame Utsav & Prasann
Newsfeed Pujan & Utsav
Profile Prasann & Pujan
Search Prasann
Notification Utsav
#3
Formation of Front-End Utsav
#4
Creating Hyperlinks Utsav
#5
File-Handling Pujan
#6
Action-Listener Pujan
#7
Connection of JDBC driver to Java code Prasann
#8
Firing SQL queries Prasann
#9
Executing Statements Prasann
#10
Multi-Threading Utsav
#11
Exception, Inheritance & Interface Pujan
15. Object Oriented Programing report
15
Naming Conventions
We Have followed a strict naming convention throughout
the whole program.
Class names :- The First letter of every word Is capitalized.
Eg. FrameProfile.java
Object name:- The mixture of the First letter of that class
name.
Eg. FrameProfile FP;
MySQL Database : All the columns have only lower case
letters.
Eg. rollno
Getter and Setter :- Depending upon the Classes either
“GET” is capital or “get” in lowercase followed by the name
of the variable.
Eg. GEThome, getsex
Button names :- Button names follow by the name btn….. or
button…... followed by the name of the button
#12
Abstraction & Encapsulation All three
#13
Polymorphism Prasann
16. Object Oriented Programing report
16
Eg. btnConnect
TextField names :- Textfield follow the naming convention
txtfield… followed by there name
Eg. txtfieldroll
Label names:- label follow lbl…. Or label…. Followed by
there name.
Eg. lblConnect
Oriented Approach in Design
and Coding
Abstraction
Abstraction is the process used to hide background details
and only show the essential features of the object
In the Frame ‘TittleFrame’ all the Background details from
all different Frames are hidden and it’s object is created and
then used by implementing methods. No data member or
member function in this frame is used directly without getter
setter.
Encapsulation in Java
17. Object Oriented Programing report
17
It is a mechanism of wrapping the data (variables) and code
acting on the data (methods) together as as single unit.
The public setXXX() and getXXX() methods are the access
points of the instance variables of the Any class i.e. getter
and setters. Therefore any class that wants to access the
variables should access them through these getters and
setters.by this the users of a class do not know how the class
stores its data. A class can change the data type of a field and
users of the class do not need to change any of their code. Eg.
frame like TitleFrame has getters and setters for all its
variables.
Polymorphism
It is the ability of an object to take on many forms.It can be
both Dynamic or Static.
It can be executed by function overloading and function
overriding. Here the class modelConnect has different
constructors for different types of objects made.
Inheritance
when one object acquires all the properties and the behavior
of the parent object
The class dataactionlistener inherits file feed and also
implants an interface action listener and thus this class can
use all the methods of the class feedback.
18. Object Oriented Programing report
18
Problems Faced :
During the First creation of GUI the frame was not Getting
Displayed just once but infinitely many times leading to
Program self-termination after some time.(Error solved by
Re-defining main Thread)
Making Program platform independent : While trying to run
the same Java project on a different PC it caused
NullPointerException error.
This was solved by Making the Project Archive and then
importing It into a different PC (Error Solved by Sujoy Sir).
While working with MySQL there was a Connection Error
even after Repeated debugging of the code.
This was solved by renaming all the column names in
MySQL the same as that of java code(Error solved by Harsh
Mehta and Prasann patel)
Critical decision was made in the TittleFrame (the first loging
frame) there is only Connect Button and not SIGN UP.
It is so because we do not want a non-AU student to Sign
UP and hence only a single connect button is required.
19. Object Oriented Programing report
19
Conclusions
The objective to generate an established working inter
Ahmedabad University (AU) Connectivity Application on a java
platform was successfully build and executed. Important features
like Profile management and searching for new friends and
posting doubts are met up to the mark. Students can now enjoy
getting solutions to these questions asked anonymously. After
summer vacations features like Sending and receiving friend
requests, getting notification and chat room will also be available
References
YouTube- Mr.Bucky (NewBoston)
https://www.youtube.com/playlist?list=PL27BCE863B6A864E3
Tutorialspoint
http://www.tutorialspoint.com/
Senior (Help)
Kishan Raval(4th
SEM ICT)
Harsh Mehta(4th
SEM ICT)