Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
COCHIN UNIVERSITY OF
SCIENCE AND TECHNOLOGY
Mini Project Report on
ITDUBIUM - A Programming Forum
Submitted by: Tanweer Ashif
Amiy Krishna Mishra Sushant Swaraj
Omprakash Singh
In partial fulfilment for the award of the degree of
BACHELOR OF TECHNOLOGY In
INFORMATION TECHNOLOGY
2
A Programming Forum
ITDUBIUM
3
4
ACKNOWLEDGEMENT
We take this occasion to thank all our teachers and corresponding
faculties for blessing us with their grace and taking our endeavour to
a successful culmination. We extend our sincere and heartfelt thanks
to our esteemed guide Dr. Binsu C. Kovoor and her associates, for
providing us with the right guidance and advice at the crucial
junctures and for showing me the right way. We also take this
opportunity to express a deep sense of gratitude to them for their
cordial support, valuable suggestions and guidance.
We extend our sincere thanks to our respected Head of the division,
Dr. Renumol V. G., for allowing us to use the facilities available. We
would like to thank the other faculty members also, at this occasion.
Last but not the least, we would like to thank our friends and family
for the support and encouragement they have given us during the
course of our work.
5
Contents
1. Introduction ...................................................... 6 2. Abstract ............................................................. 7 3. Methodology
System Analysis .......................................... 8
Requirement Specification ......................... 8
System Design ............................................ 9
Algorithm Used .......................................... 10
4. Testing ............................................................... 11
5. Coding Implementation Result and Discussion
Home page ................................................ 12
Sections ..................................................... 13
Contacts .................................................... 14
Log in ......................................................... 15
Inside Features .......................................... 16
Sign Up ...................................................... 19
Logout ....................................................... 20
6. Conclusion and future work ........................... 21 7. References and Bibliography ............................ 22
6
1. Introduction
This project is all about developing a programming forum
which is extremely user friendly for the newcomers and the
old users as well.
Why a new forum despite of presence of hundreds others?
This is true that there are hundreds of them are already out
there but unfortunately almost none of them fulfil what a
newcomer needs. Its best example is that whenever a new
user tries to ask a question in ‘StackOverflow’, before he gets
his answers, the questions are marked as duplicates and are
flagged. This results in heavy down voting of that problem
leading to its rejection at most.
This forum will care of its users of all experience types.
Apart from this, there are also new features which have been
used in this project. For Ex- Making the page more dynamic
by letting the users open several pages without actually
refreshing the page.
So, overall the very basic idea of this project is to provide users a common platform where several others likeminded persons can work together.
7
2. ABSTRACT
This project is based on resolution of problems related to programming and various
programming languages. This includes the creation of a multi-programming language forum.
The forum will have several specifications like:
i. Doubt Corner
ii. Media/Code sharing
iii. Discussion Space
iv. User Login/Signup
v. Code Saving
vi. Quick Searching
vii. Syntax highlighting
Details:
i. In doubt corner user generally can ask his problems and any other user can easily
answer his question or doubt.
ii. Doubts can be asked in the form of image/media or code.
iii. Users will also have a space for discussion so that one can put his own opinion on
a particular topic or asked question.
iv. This forum will have some features open only to signed up user e.g. posting a
question or answering a question will require a user to be a member. This is for
prevention of possible spam.
v. A user can save his code as draft.
vi. A user can also perform quick searches related to his question.
vii. Codes shared will automatically be highlighted.
Programming languages used:
Front End: HTML, CSS, JavaScript
Backend: PHP, MySQL
8
3. Methodology
3.1: SYSTEM ANALYSIS The system is a complete web framework solution with access to the users and the admin only. The product is sponsored to be an open source implementing client-server model.
3.1.1: EXISTING SYSTEM On searching on the web got to know about some similar products like QUORA, STACKOVERFLOW Limitations: In the available products users are not allowed to see answers without login
3.1.2: PROPOSED SYSTEM The project developed so far try to give the answers of different sections of information technology knowledge area. Advantages The proposed system provides access to users with all types solution related to the knowledge of information technology area.
3.2: REQUIREMENTS SPECIFICATION 3.2.1: FUNCTIONAL REQUIREMENTS USERS INTERFACES The users are allowed to navigate between different pages as follows:- HOME<-->SECTION<-->CONTACT<->ASKQUESTION<->LOGIN<->SIGNUP. If user is LOGGED in a special feature allows them to submit answers and user profile (Hii,user). HARDWARE INTERFACES The system on the server should store and run queries using MySQL commands .The system shall connect to the network using link-aggregation over dual interfaces. SOFTWARE INTERFACES The data are updated on regular basis and authorization would be handled by admin.
9
3.2.2: NON FUNCTIONAL REQUIREMENTS 1. Quality 2. Quality of Service 3. Technical Requirements
3.3: SYSTEM DESIGN
3.3.1: DATA FLOW DIAGRAM
LEVEL 0:
LEVEL 1:
INFORMATION
SYSTEM
USER
ADMIN
QUESTION USER ADMIN
ANSWER
APPROVAL
DATABASE
10
3.4: ALGORITM USED
3.4.1: FOR NAVIGATION PANEL
When user is not logged in then in navigation panel show as
HOME<-->SECTION<-->CONTACT<->ASKQUESTION<->LOGIN<->SIGNUP.
And when user logged in then the navigation panel changed as
HOME<-->SECTION<-->CONTACT<->ASKQUESTION<->Hii, user<->LOGOUT.
3.4.2: FOR SECTIONS
On clicking on the section the details of the section will fetched from database along with
question and answers and if user is logged in then user can answer the question.
3.4.3: SEARCHING
Here we are using linear searching algorithm and we basically fetch the questions ignoring
some special words from questions as like
if( $data != "what" && $data != "how" && $data != "who" && $data != "whom" && $data !=
"when" && $data != "why" && $data != "which" && $data != "where" && $data != "whose"
&& $data != "is" && $data != "am" && $data != "are" && $data != "do" && $data != "don't"
&& $data != "does" && $data != "did" && $data != "done" && $data != "was" && $data !=
"were" && $data != "has" && $data != "have" && $data != "will" && $data != "shall" &&
$data != "the" && $data != "i" && $data != "a" && $data != "an" && $data != "we" &&
$data != "he" && $data != "she" && $data != "").
11
4. TESTING Unit Testing was done to test signup and login, database connectivity, field validations, session working, navigation, admin functionality, functionality of the programs and its blocks. These tests are applied on various functions within each program and other critical program blocks.
UNIT TESTING 1:
Signup/Login and Database Connectivity from ‘userdata’ table: This test case deals with entering of user data into database while registering and validation of user details while logging in. Test Results: The user can register successfully by entering their details, email and password. They can also sign it successfully with their registered email and password.
UNIT TESTING 2:
Logout on home page: This test case deals with logging out of user from their session and ensuring that their session destroys.
UNIT TESTING 3: Answering of available questions- This test case deals with if user is logged in then option of text area for submit answer is showing. Test Results: The user can log out successfully from their session and is redirected to home page. After logging out the session is successfully destroyed and user cannot answer or submit question without logging in.
12
5. Coding and Implementation
Result and Discussion
1. Home Page:
It is the opening page of ITDUBIUM which having interactive navigation panel (i.e Section , Contact,
Ask Question, Log in, Sign up ). It consist of logo of ITDUBIUM along with search panel.
FUNCTION:
Here user can search the question if question will found then below page will be shown with the
search result of that question
Ex- Above page showing result for time complexity
Tools used:
HTML, CSS, PHP.
13
2. SECTION:
This page consists of major topics of Computer science and Information Technology field.
Here we listed topics such as
a. Algorithm
b. Computer Organisation
c. Theory of Computation
d. Probability
e. Database Management
f. Probability and Queuing
g. Software Engineering
FUNCTION:
It consists of different sections and when we take the mouse over the section then the name of
particular section will appear and on clicking the section it will open the all question and answer
along with topic description which is saved in database.
Tools used-:
HTML, CSS, PHP and JavaScript
14
3. CONTACTS
Description:
This page will show the contact list of administrator of the website.
Function:
If user will face any difficulties in login or while submitting the question then he can contact with
the administrator by details of this page.
Tools used:
HTML, CSS, PHP.
15
4. Log In
Description:
This page contains two input box that is used for entering username and another for password.It
contains two buttons i.e login and create new account.
Function:
If user has already an account name and password exist in data base then with the help of this page
user will easily login and the user will unlocks the features such as
a. Hii, username page
b. Ask Question
c. Submit answer
If the username and password doesn’t exist then user will forward to the signup page.
Tools used:
HTML, CSS, PHP
16
5. Inside Features
i. Hii, username page
Description:
This is the welcome page for the user which show the name,email-id and date of joining of the
user.
Tools used:
HTML,CSS,PHP.
ii. Ask Question
Description:
This contains one input box and also select box which contain list of categories.
17
Function:
Here user can ask the question which will stored into the database if question already exists in the
database then it will show the page where it is mentioned that question already exist.
If question is not in the database then it will store the question into the database and stay tuned for
answer page will appear.
It also contain the categories list which is selected first and then question will ask.
The category list are –
h. Algorithm
i. Computer Organisation
j. Theory of Computation
k. Probability
l. Database Management
m. Probability and Queuing
n. Software Engineering
iii. Submit answer
Description:
In this page with each question available in the database there is option of submit your answer
on clicking that the input box for answer will open.
18
Note :
After successful login there is change in navigation bar that changes are hi..username,
logout.
19
6. Sign up
Description:
This page contains four input boxes which takes the information of the user like name, password,
Email-Id and user name.
Function:
It takes the details of the user and save it into the database .
It contains two buttons create an account and already a member login. On clicking create an
account it will save all detail in database and if user name matches then it will forward to login page.
Tools used:
HTML ,CSS, PHP.
20
6. Log Out
On clicking logout button the logout.php runs where it checks if the uid is set,destroys the session and redirect the user to login page. As the session destroys, UID is also destroys and now the user redirected to the homepage without logging in.
Here is where ‘Log Out’ button is located:
Function:
It logs out a user from his account .
It also destroys user’s session.
Tools used:
HTML ,CSS, PHP.
21
6. CONCLUSION & FUTURE WORK
It was a wonderful learning experience for all of us while working on this project.
This project took us through the various phases of project development and gave us
real insight into the world of software engineering. The joy of working and the thrill
involved while tackling the various problems and challenges gave us a feel of the
developers’ industry.
It was due to this project we came to know how professional software is designed.
In future, this project can be improved to a really great extent and there is a lot of
scope for it. Some of them are:
1. Syntax highlighting will be really one of the best feature of this project
2. Media sharing and Media uploading will help users to share their source codes
directly.
3. Moderators can be assigned to make the work easier because not all the time
there will be admins for all the work.
4. Uniue profile id and link generation so that one can view one’s contribution on
the go.
5. Public voting system to an answer to make it more user friendly and to give
audience a chance to decide what should stay at the top.
6. Much more.
22
7. References and Bibliography
Some of the websites which really helped us to solve the
errors and debug our project are –
1. https://www.w3schools.com/
2. https://stackoverflow.com/
3. https://www.tutorialrepublic.com/
4. https://www.phptpoint.com/
5. https://www.geeksforgeeks.org/
6. https://www.tutorialspoint.com/
7. https://html.com/
8. https://www.quackit.com/
9. https://www.vogella.com/
Apart from those coding sites some websites which helped
in other activities like creating report and writing abstract
are :
1. https://www.quora.com/
2. https://www.wikihow.com/
3. https://www.sciencebuddies.org/
Also some of the books which helped in understanding the
methodology and testing are -
1. Software Engineering: A Practitioner's Approach by
Pressman
2. Software Testing by Milind G. Limaye
3. An integral approach to software engineering by Pankaj
Jalote
***