“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: contactus@rit.edu.in , 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