mini project report on itdubium - tanweer ashif

22
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

Upload: others

Post on 15-Jan-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mini Project Report on ITDUBIUM - Tanweer Ashif

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

Page 2: Mini Project Report on ITDUBIUM - Tanweer Ashif

2

A Programming Forum

ITDUBIUM

Page 3: Mini Project Report on ITDUBIUM - Tanweer Ashif

3

Page 4: Mini Project Report on ITDUBIUM - Tanweer Ashif

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.

Page 5: Mini Project Report on ITDUBIUM - Tanweer Ashif

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

Page 6: Mini Project Report on ITDUBIUM - Tanweer Ashif

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.

Page 7: Mini Project Report on ITDUBIUM - Tanweer Ashif

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

Page 8: Mini Project Report on ITDUBIUM - Tanweer Ashif

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.

Page 9: Mini Project Report on ITDUBIUM - Tanweer Ashif

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

Page 10: Mini Project Report on ITDUBIUM - Tanweer Ashif

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 != "").

Page 11: Mini Project Report on ITDUBIUM - Tanweer Ashif

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.

Page 12: Mini Project Report on ITDUBIUM - Tanweer Ashif

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.

Page 13: Mini Project Report on ITDUBIUM - Tanweer Ashif

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

Page 14: Mini Project Report on ITDUBIUM - Tanweer Ashif

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.

Page 15: Mini Project Report on ITDUBIUM - Tanweer Ashif

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

Page 16: Mini Project Report on ITDUBIUM - Tanweer Ashif

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.

Page 17: Mini Project Report on ITDUBIUM - Tanweer Ashif

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.

Page 18: Mini Project Report on ITDUBIUM - Tanweer Ashif

18

Note :

After successful login there is change in navigation bar that changes are hi..username,

logout.

Page 19: Mini Project Report on ITDUBIUM - Tanweer Ashif

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.

Page 20: Mini Project Report on ITDUBIUM - Tanweer Ashif

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.

Page 21: Mini Project Report on ITDUBIUM - Tanweer Ashif

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.

Page 22: Mini Project Report on ITDUBIUM - Tanweer Ashif

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

***