Major Project Report

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

“Online Forum ”

A project report submitted to


Chhattisgarh Swami Vivekanand Technical University, Bhilai (C.G.), India

For fulfillment of the award of the Degree


Bachelor of Engineering in
Computer Science & Engineering in
By
Avinath Markam (AR0158)
Diamond kumar Diwan (AR0171)
Shrishty Ajay (AR0319)

Under the Guidance of


Prof. Mr. Prabhakar Sharma

HoD & Associate Prof. Department of Computer Science and


Engineering, RITEE, Raipur (C.G.)
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
RAIPUR INSTITUTE OF TECHNOLOGY, RAIPUR
Chhatauna, Mandir Hasaud, Raipur, Chhattisgarh, India
Phone: 0771-3208842 FAX: 0771-2537634
Email: [email protected] , Website: www.rit.edu.in

Session: 2015-2019

0|Page
DECLARATION BY THE CANDIDATE

We the undersigned solemnly declare that the Major Project work entitled “ONLINE

FORUM” is based our own work carried out during the course of our study under the

supervision of Mr. Prabhakar Sharma

We assert that the statements made and conclusions drawn are an outcome of the

project work. We further declare that to the best of our knowledge and belief that the report

does not contain any part of any work which has been submitted for the award of any other

degree/diploma/certificate in this University /deemed University of India or any other

country.

.……………………
……
(Signature of the Candidate)

.…………………………
(Signature of the Candidate)

……………………………
(Signature of the Candidate)

RAIPUR INSTITUTE OF TECHNOLOGY, RAIPUR


Department of Computer Science and Engineering

Page | 1
CERTIFICATE BY THE EXAMINERS

The project entitled “ONLINE FORUM” submitted by Avinath Markam Enrollment

No:- AR0158, Diamond Kumar Diwan Enrollment NO:-AR0171, Shrishty Ajay Enrollment

no:- AR0319 , has been examined by the undersigned as a part of the examination and is

hereby recommended for the award of the degree of Bachelor of technology in Computer

Science & Engineering of Chhattisgarh Swami Vivekananda Technical University Bhilai,

(C.G.)

---------------------------- ----------------------
-----
Internal Examiner External
Examiner
Date: Date:

RAIPUR INSTITUTE OF TECHNOLOGY, RAIPUR


Department of Computer Science and Engineering

Page | 2
CERTIFICATE BY THE SUPERVISIOR

This is to certify that the thesis entitled “ONLINE FORUM” is a record of research

work carried out Avinath Markam, Diamond Kumar Diwan, Shishty Ajay, respectively

under my guidance and supervision for the award of degree of Bachelor of Engineering in the

faculty of Computer Science & Engineering of Chhattisgarh Swami Vivekanand Technical

University, Bhilai (C.G.), India.

To the best of my knowledge and belief the thesis

1. Embodies the work of the candidate themselves.

2. Has duty been completed.

3. Fulfils the requirement of the ordinance relating to the B.E. degree of the

university.

4. Is up to the desired standard both in respect of contents and language for being

Referred to the examiners.

Forwarded to Chhattisgarh Swami Vivekanand Technical University, Bhilai

(C.G.)

Signature of Guide

……………………………

Page | 3
ACKNOWLEDGEMENT

The pleasure, the achievement, the glory, the satisfaction, the reward appreciation and the

construction of our project cannot be through off without the few, who apart from their

regular schedule spared their valuable time. A number of persons contribute either directly or

indirectly in shaping and achieving the desired outcome.

We express our sincere thanks to our superior Prof. Mr. Avinash Dhole, Head of

Department of Computer Science & Engineering, Raipur Institute of Technology,

Raipur for his valuable guidance, suggestions and help required for executing the project

work time to time. Without his direction and motivation, it would have been nearly

impossible for us to achieve the level of target planned. Through his timely advice,

constructive criticism and supervision he was inspiration for us.

At the last but not the least we are really thankful to our Parents for always

encouraging us in our studies and also to our friends who directly or indirectly help us in this

work.

Page | 4
ABSTRACT

The project titled “Online Discuss-forum” is designed using Python. with Django
Framework

as front end and Database SQLite as back end which works with Python version 3.7.

The coding language used is Python. This project is aimed at developing online forum for
the

group discussion, a web-based tool. Any user can post the doubts topics and can

reply for the other user doubts. The user can invites others for Discussion and submit

query. This is useful for a small office, school or a department or for that matter any

group who is interested to organize it effectively. Facility to share the resource and post

articles that can be viewed by registered user. Functional components of the project
Following is

a list of functionality of the system. More functionality that you find appropriate can be
added

to this list. And, in places where the description of functionality is not adequate, you can
make

appropriate assumptions and proceed. Users of the system:Following are the requirements,
which

can be used to derive functional components:1.Users need to register.2.Facility to post topics


for

the discussion.3.Facility to view the articles by topics 4.User can view the previous discussion

taken place on that day.5.Rate the articles .6 Administrator has privilege to edit user’s profile

Page | 5
TABLE OF CONTENTS

CHAPTER-1 Introduction Page No.


1.1 Background
1.2 Existing and Proposed system

1.3 Feasibility study

1.4 Tools and technologies used

1.5 Hardware and software requirements

CHAPTER-2 Software Requirement Specification


2.1 Functional Requirement
2.2 Nonfunctional

CHAPTER-3 System Design


3.1 Overview
3.2 Context Diagram (Data Flow Diagram)
3.3 ER Diagram

CHAPTER-4 Result and Implementation


4.1 Testing
4.2 Database table and Snapshots

CHAPTER-5 Conclusion and Future enhancement


5.1 Conclusion and summary

0|Page
CHAPTER 1

7|Page
1. Introduction:
1.1 BACKGROUND: -

Online Forum is developed for learning and web development discussion for the naïve

and the expert level . The system was carefully designed to ensure maximum output of the

system can get by a user. The forum helps in any problems occurred during the development

of web application. And in case if you are not aware of the problem listed you can directly

post regarding your queries .

The community users will help out to solve your queries answered in different manner

by different people of the community.

Currently various languages has emerged for the development phases they can find

the solutions easily.

“Online Forum” has been efficiently designed to interact and connect to different kind of

people.

following functions that are performed by the system:

 Users need to register.

 Facility to post topics for the discussion.

 Facility to view the articles by topics.

 User can view the previous discussion taken place on that day.

 Rate the articles.

 Administrator has the priviledge to edits users profile

Page | 8
1.2 EXISTING AND PURPOSED SYSTEM

Existing System: -

 This existing system technology based forums which gives exact solutions are less

likely to seen.

 The current system does not provide the facility of making community based

discussion.

 The existing system does not provide that much functions.

 The existing system does not have the availability of checking and validating the

right problem listed.

Purposed System: -

 To overcome the problem of naïve users during learning phase of working with

various programming languages.

 To get the solutions of query posted by a particular individuals .

 To enhance your skills by getting answers from the community group.

 One can easily find different solutions to a common problem.

 If the irrelevant post has been on the website that can be easily removed by the

admin directory.

Page | 9
1.3 FEASIBILITY STUDY: -

The objective of feasibility study is to determine whether or not the proposed system

is feasible. The feasibility is determined in terms of four aspects. These are: -

 Technical Feasibility: -
In this, one has to test whether the system can be developed using existing

technology or not. It is evident that necessary hardware and software are available for

development and implementation of proposed system.

 Behavioral Feasibility: -
The Company that are already using many software from the couples of every have

need time to adapt it because it behaves very different from the traditional software, its

interface is completely different from any interface that people see.

 Economic Feasibility: -
As the software is going to be free of cost, so it is beneficial for everyone to buy it.

 Legal Feasibility: -
Legal feasibility determines whether the proposal system conflicts with legal

requirements, e.g. the data protection act.

Page | 10
1.3 Tools & Technologies Used: -
Introduction to PYTHON

Python is an interpreted high-level programming language for general-purpose

programming. Created by Guido van Rossum and first released in 1991, Python has a design

philosophy that emphasizes code readability, notably using significant whitespace. It provides

constructs that enable clear programming on both small and large scales. In July 2018, Van

Rossum stepped down as the leader in the language community after 30 years.

Python features a dynamic type system and automatic memory management. It supports

multiple programming paradigms, including object-oriented, imperative, functional and

procedural, and has a large and comprehensive standard library.

Python interpreters are available for many operating systems. CPython, the reference

implementation of Python, is open source software and has a community-based development

model, as do nearly all of Python's other implementations. Python and CPython are managed

by the non-profit Python Software Foundation.

Page | 11
Introduction to Django

Django is a free, open source web framework written in the Python programming language

and used by millions of programmers every year. Its popularity is due to its friendliness to

both beginners and advanced programmers: Django is robust enough to be used by the largest

websites in the world–Instagram, Pinterest, Bitbucket, Disqus–but also flexible enough to be

a good choice for early-stage startups and prototyping personal projects.

This book is regularly updated and features the latest versions of both Django (2.0) and

Python (3.7). It also uses Pip env which is now the officially recommended package manager

by Python.org for managing Python packages and virtual environments. Throughout we’ll be

using modern best practices from the Django, Python, and web development communities,

especially the thorough use of testing.

A web framework is a collection of modular tools that abstracts away much of the difficulty–

and repetition–inherent in web development. For example, most websites need the same basic

functionality: the ability to connect to a database, set URL routes, display content on a page,

handle security properly, and so on. Rather than recreate all of this from scratch,

programmers over the years have created web frameworks in all the major programming

languages: Django and Flask in Python, Rails in Ruby, and Express in JavaScript among

many, many others.

• user authentication

• templates, routes, and views

• admin interface

• robust security

• support for multiple database backends

Page | 12
Features of Python

Python Features

Python provides lots of features that are listed below.

1) Easy to Learn and Use

Python is easy to learn and use. It is developer-friendly and high level programming

language.

2) Expressive Language

Python language is more expressive means that it is more understandable and readable.

3) Interpreted Language

Python is an interpreted language i.e. interpreter executes the code line by line at a time. This

makes debugging easy and thus suitable for beginners.

4) Cross-platform Language

Python can run equally on different platforms such as Windows, Linux, Unix and Macintosh

etc. So, we can say that Python is a portable language.

5) Free and Open Source

Python language is freely available at offical web address.The source-code is also available.

Therefore it is open source.

Page | 13
6) Object-Oriented Language

Python supports object oriented language and concepts of classes and objects come into

existence.

7) Extensible

It implies that other languages such as C/C++ can be used to compile the code and thus it can

be used further in our python code.

8) Large Standard Library

Python has a large and broad library and prvides rich set of module and functions for rapid

application development.

9) GUI Programming Support

Graphical user interfaces can be developed using Python.

10) Integrated

It can be easily integrated with languages like C, C++, JAVA etc.

Page | 14
Introduction to SQLITE

SQLite is an embedded relational database engine. Its developers call it a self-

contained, serverless, zero-configuration and transactional SQL database engine. It is very

popular and there are hundreds of millions copies worldwide in use today. SQLite is used in

the Solaris 10 and Mac OS operating systems and by iPhone and Skype. The Qt4 library has

built-in support for SQLite as well as the Python and PHP languages. Many popular

applications use SQLite internally such as Firefox, Google Chrome, or Amarok.

SQLite implements most of the SQL-92 standard for SQL. The SQLite engine is not a

standalone process. Instead, it is statically or dynamically linked into the application. The

SQLite library is small. It can require less than 300 KiB. An SQLite database is a single

ordinary disk file that can be located anywhere in the directory hierarchy. It is a cross

platform file. It can be used on various operating systems, both 32 and 64 bit architectures.

SQLite was written in the C programming language. It has bindings for many languages,

including C++, Java, C#, Python, Perl, Ruby, Visual Basic, and Tcl. The source code of

SQLite is in public domain.

Page | 15
Hardware and Software Requirements
Hardware specification:

CPU : PENTIUM 4
PROCESSOR SPEED : 2GHz
COPROCESSOR : BUILT IN
TOTAL RAM : 2GB
HARD DISK : 250GB
KEYBOARD : 102 KEYS

SOFTWARE SPECIFICATION:

IMPLEMENTED SOFTWARE : ECLLIPSE (PYTHON)


Django Framework.

OPERATING SYSTEM : WINDOWS 10

Page | 16
CHAPTER -2

16 | P a g e
2. Software Requirement Specification

1.1 Functional Requirement: -

 The system should be able to interact with front end.

 System should be able to interact with the back end.

 System should dynamically manage the input though admin panel.

 System should be able to make login to community panel.

 System should show to get the questions filtered by the languages.

 System should able to get solutions to posted query.

 A query must be appropriate it should be validated by the admin panel.

 System should be able to post the query.

 System should have the ability to validate the data entered specially at the admin

sec.

Page | 17
1.2 Nonfunctional Requirement: -

 Recoverability: -
A good system must recover easily from any kind of issues.

 System Availability: -
The system should be designed in such a way that the system is available 24*7.

 General Performance: -
Even a few seconds of delay is enough to cause an unpleasant user experience.

Users are no longer in control, and they are deliberately annoyed having to wait

for a computer.

 Capacity: -
The system should be needed to effectively take inputs and query must be

displayed.

 Security: -
The system will be secured from the outside attacks and unauthorized access. The

system should be protected from all other outside premises.

Page | 18
CHAPTER -3

19 | P a g e
3.1 Overview

1. DATA FLOW DIAGRAM: -

A Data Flow Diagram (DFD) is a diagram that describes the flow of data and the processes

that change or transform data throughout a system. It’s a structured analysis and design tool

that can be used for flowcharting in place of, or in association with, information oriented and

process-oriented system flowcharts. When analysts prepare the Data Flow Diagram, they

specify the user needs at a level of detail that virtually determines the information flow into

and out of the system and the required data resources. This network is constructed by using a

set of symbols that do not imply a physical implementation. The Data Flow Diagram reviews

the current physical system, prepares input and output specification, specifies the

implementation plan etc.

Four basic symbols are used to construct data flow diagrams. They are symbols that represent

data source, data flows, and data transformations and data storage. The points at which data

are transformed are represented by enclosed figures, usually circles, which are called nodes.

Data Flow Diagram Symbols: -

_ Source or

Destination of data

_ Data Flow

_ Process

_ Storage

Page | 20
Dtata Flow Diagram
User Enters Home
website

The User is
The User is not logged In
logged In

Restrict the user


interaction with Load user
tools and posts. information

Show Load site on


register/Login content based
text in the top user
information

Load the content


based on default
user
configuration

Website fully loaded

User
Interaction

33 | P a g e
E-R Diagram

Python posts

Can CSS posts


Username comment
ame
Password

Home
Login Has Has List of languages

HTML
Has posts
Javascript posts

Register /
Reset Contact Us /
About us Page

Address
Name Choose
Password Organization
d Name

Page | 34
CHAPTER- 4

Page | 35
Result and Implementation
4.1 Testing
A testing is the important phase of software development. It is a process of finding

errors and missing operations and also a complete verification of software whether the

objective are met and the requirements are satisfied.

Software testing is carried out in three steps. The first testing includes where each module is

tested to provide its corrections, validity and sometimes any missing operations and to verify

whether the objectives find soon. They are noted down and corrected immediately. Unit

testing is the important and major part of project so errors are rectified easily. In this project

to the entire system is divided into several modules and it developed independently.

The second step includes integration testing. this technique is used for constructing program

structure. Whether the module can be integrated properly.

The third step is system testing. This testing consist of tests all the closely approximate the

acceptance test. First the black box test cases for the product as a whole must be run. In the

completion of project it is satisfied fully by the user. They are the different level of testing.

4.1.1 UNIT TESTING

This is the first level of testing where different modules are tested against the

specification produced during design for the modules. The goal is to test the internal logic of

the modules.

Page | 36
4.1.2 INTEGRETION TESTING

The testing is systematic technique for constructing program structure, we see

whether the modules can be integrated properly. There are two approaches.

 Top down Integration

 Bottom up Integration

4.1.3 SYSTEM TESTING

This testing consist of tests that will closely approximate acceptance test. First all the

test cases for the product as a whole must be run. Second is the robustness of the product as a

whole must be tested. In addition the product must be subjected to stress testing and volume

testing. Third, we must check if the product satisfies all the constraints like storage and

security. Fourth, we must review the documentation that is handed over to the client along

with the code for acceptance testing.

4.1.4 ACCEPTANCE TESTING

The purpose of this testing if to client to determine whether the product indeed

satisfies its specification as climate by the developer. This testing is done either by client

organization, by the SOA group hired for this purpose. Four major components of acceptance

testing are namely.

 Testing Correctness

 Robustness

 Performance

 Documentation

Page | 37
4.2 Snapshots of the program: -

Login page:-

Page | 38
contact us : -

Page | 39
Ask for query page: -

Page | 40
Query listed for language : -

Page | 41
Bootstraped

Page | 42
Description of the query: -

Page | 43
7. Queries of another languuage: -

Page | 44
CHAPTER-5

Page | 45
Conclusion and Future Enhancement
5.1Conclusion
The project on “ONLINE FORUM” is made with Django Framework with Python

designed to get answer to your query and interact with community based answers following

functions that are performed by the system:

 Finds available solutions to your query .

 Able to get answers from different people.

 Query filter according to languages.

 Dynamically accessing back ends though admin panel

 Able to post a query once after signup.

 Django provide easy update/delete of records in admin sction.

 User can read the post without sign up.

 Individual comment can be posted .

 Bootstrapped website which is compatible to handheld devices too.

By this system one can find all the tool needed through queries solved during the

working phase and development of website .

Page | 46
5.2 Future Enhancement
The latest iteration of online communication may indeed be social media, but it

seems that the most popular avenue is still the old-fashioned internet forum. It remains today

as an excellent way to structure a community on the web. While social media can be

somewhat amorphous at times, forums provide order and a sense of home.

I believe that forums will never die out, but forums will evolve and adapt to

advancements in web technology. Please join me as I take a look at a few forum software

systems that are so innovative that they’ll transform the concept of the forum forever.

The benefits of using online discussion forums and peer to peer learning for

enhancing student learning are well known. Other than in full online courses, their adoption

in traditional learning environments complementing face-to-face teaching is increasing and

has now become a common educational strategy in higher education. In fact, interest in using

online discussion forum as an indicator of students’ performance is increasing.

Online discussion forums are expected to enable flexible and independent learning

and knowledge construction and develop critical thinking skills . There are, however, some

problems such as lack of learners’ focus and inadequate reflection , students not responding

to the ideas of others, and surface level discussions . Though there are many advantages of its

use, students use of the online discussion forums in the context of their study and the

characteristics of an effective online discussion environment that facilitate effective learning

need to be investigated.

Page | 47
Reference

 Official Django documentation.


 Python. Documentation.

Page | 48

You might also like