Professional Documents
Culture Documents
A Social Media Platform
A Social Media Platform
By
Supervised by:
ECE Department
Fall-2021
This is to declare that no part of this report or the project has been previously
submitted elsewhere for the fulfillment of any other degree or program. Proper
acknowledgment has been provided for any material that has been taken from
Supervisor’s Signature
Acknowledgment
Foremost, we would like to express our profound gratitude to our honorable
course instructor, Dr. Dihan Md. Nuruddin Hasan, for his continuous
support in our project progress throughout the whole CSE/ETE/EEE 498R,
for his patience, motivation, and immense knowledge. His guidance made
our project easygoing. Our sincere thanks also go to North South
University, Dhaka, Bangladesh, to provide an opportunity in our
curriculum while enabling us to have industrial-level experience as part of
our academics.
We are also grateful to all the people who took part in our research and
shared their valuable opinions regarding this project. Finally, we would like
to thank our families and friends for their inspiration, support,
encouragement, and proper guidance that kept us focused and motivated.
Abstract
The economical condition of our country is in the developing stage, where unemployment is
a very big problem. Educational systems are also trying to keep state with the modern online
based studying system. But in our country, it is hard to find any websites specially for
university students which can be used for knowledge sharing as well as for earning purpose.
Being students of the university, we felt the need of such a website by which we will be able
to manage our pocket money by selling our own notes and can communicate with other
university’s students and build community. So we proposed to build such an online web
system for university students. The main aim of our work is to arrange a student’s earning
option by which they can manage their pocket money. In our proposed system all the
university students of our country will get help in their educational purpose by sharing their
study related problems to each other. Study related doc, pdf files can be sold through the
system. There will be auto search suggestion feature and voice to text conversion feature
also.
i
Table of Contents
Table of Contents iv
List of Figures v
1 Introduction 1
1.1 Project Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Objectives ......................................... 2
1.4 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Project Outcome ..................................... 4
1.6 Organization of the Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Background 5
2.1 Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Social Networking And E-Learning . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 LABOREM .................................... 6
2.1.3 Account Binding Security ........................... 7
2.1.4 ADEPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Summary ......................................... 8
3 Project Design 9
3.1 Benchmark Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Software Requirement Specification(SRS) . . . . . . . . . . . . . . . . . . . . . . 17
3.2.1 Introduction ................................... 17
3.2.2 Project Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.3 Methodology ................................... 18
3.2.4 Feasibility Analysis ............................... 19
3.2.5 System Design and Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.6 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Table of Contents Table of Contents
ii
4.1.1 Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1.2 Production Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2 Testing and Evaluation ................................. 47
4.2.1 Testing Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.2 Evaluation Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3 Results and Discussion ................................. 54
4.4 Summary ......................................... 54
6 Conclusion 62
6.1 Summary ......................................... 62
6.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.3 Limitations ........................................ 63
References 65
List of Figures
iii
3.3 Use case for Blogging system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4 Sequence Diagram For Note Uploading ....................... 22
3.5 Sequence Diagram For Note Buying and Selling . . . . . . . . . . . . . . . . . . 23
3.6 Sequence Diagram For Note Uploading ....................... 24
3.7 Sequence Diagram For Note Buying and Selling . . . . . . . . . . . . . . . . . . 25
3.8 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.9 CRC Diagram For Blogging scenario . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.10 CRC Diagram For Selling scenario . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.11 ERD Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.12 UserProfileInfo Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.13 Deployment Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.1 GitHub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2 ORM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3 Django Administration System ............................ 39
4.4 Backlog Stories of Epic’s in JIRA ........................... 40
4.5 Version .......................................... 40
4.6 Jquery Autocomplete API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.7 Voice Search Using Speech Recognition ....................... 42
4.8 Analog to Digital Spectrogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.9 Hidden Markov Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.10 Neural Network Model ................................. 44
4.11 Twilio Communication API Interface . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.12 PythonAnywhere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.13 Webproject Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.14 Markup Validation Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.15 Django-HTML Validator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 List of
Figures List of Figures
iv
5.2 Complexity Weighting Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3 Selecting Programming Language . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.4 Effort Estimation and Duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
v
List of Tables
vi
Chapter 1
Introduction
Social media are online platforms like websites, android applications, web applications where
people can communicate, share knowledge with each other. The use of social media is rising
day by day. With the help of social media students can share study materials, useful
information, class notes, projects and many more details with their friends and fellow
students. In covid-19 crisis time social media plays a very important role among all the people
specially among students. It will be a great influential work if we develop a social media type
platform specifically for knowledge sharing and note selling purpose.
Social platform is a powerful platform for communication and this platform plays a very
effective role in connecting people from all places. This platform is not only used for
communication but also used to share and exchange knowledge and information among
people. As university students we thought it would be wonderful if there could be a specific
social platform where all University students of Bangladesh can stay connected with each
other, share information and also can earn through selling notes. Our project is mainly a web
based system. In this system there will be sub systems like note selling, blogging, video
sharing. Our project will grant two types of user student and teacher. Users can use the
website to communicate with others, writing blogs and articles upload images with articles,
ask question, make plans and arrange programs and most importantly they can share or sell
their notes through the website. We developed the project using various web languages
frameworks. We used HTML, CSS and React JS a JavaScript based framework for front-end
development. For back end development we used Django a python based framework and for
database management we used SQLite and MySql. We also used some python based libraries
for speech recognition feature. Our project overview is shown in Figure 1.1.
1.2. Motivation
1
Chapter 1. Introduction
1.2 Motivation
• There is no specific online platform for University students in Bangladesh, where they
can sell and get all the course’s notes at one place.
• In our country earning resources for a student through online is very rare.
• Not so many platforms out there where students can approach a problem together and
solve it effectively, ask questions and share knowledge among them.
1.3 Objectives
Our main objective of the project is to propose a web based system for the University students
of Bangladesh. The objectives are:
• To build a note selling system, where students can sell their notes and earn money.
• To develop a blogging zone, where students and teachers can write blogs, publish their
works, achievements, ask questions and solve various problems collaboratively.
1.4. Methodology Chapter
2
1. Introduction
1.4 Methodology
Here are the phases of methodology. Methodology phases are described in Figure1.2.
3
Chapter 1. Introduction
This project will have a great impact on university students of Bangladesh. This project will
raise many opportunities for students. These are the possible outcomes:
• For collaborative work many new ideas and approaches to solve different study related
problems will come out.
• Sharing of knowledge through audio/video recordings will influence study and learning
performance of students.
• The website will bridge various social and cultural groups together.
• Chapter 1 describes the introduction, project overview, motivation, our objectives and
our methodology and the project outcome we are hoping to see.
• Chapter 4 includes environment setup, evaluation, result and discussion of our project.
• Chapter 5 contains different types of impacts and constraint of the project on the social,
economic, environment and ethical research.
• Chapter 6 describes summary and conclusion also describe the future goal of our project.
4
Chapter 2 Background
Mustafa I.M. Eid, Ibrahim M. Al-Jabri [1] had done survey on social media for knowledge
sharing and learning. In their work they had targeted some social media platforms like
Facebook, YouTube, Dropbox, WhatsApp, Twitter and then they chose some specific features
including: chatting, content creation, file sharing, enjoyment and entertainment to examine
their impact on knowledge sharing and learning performance. For data collection they had
used quantitative survey questionnaire method. They proposed 9 hypotheses and they are
mainly for the measurement of impact of the features. They had used reflective, formative,
structural measurement model to analysis data. They had found that WhatsApp is the most
popular platform for chatting and discussions (92.5%). It is also the most popular platform
for file sharing (80%). For content creation and enjoyment YouTube is the most popular
platform (97.7%).
Muhammad Imran Rasheed, Muhammad Jawad Malik, Abdul Hameed Pitafi, Jawad
Iqbal, Muhammad Khalid Anser and Mazhar Abbas [2] had done their work on survey based
research to investigate the role of usage of social media on cyber bullying, creativity and
knowledge sharing behaviour of the student. For data collection they had designed questions
on a five-point Likert scale where 1 means strongly disagree to 5 means strongly agree. From
the survey they had received 383 responses and found that social media plays a vital role for
knowledge sharing. They found that, if the students use social media for educational
purposes they will be more beneficial than the traditional studying system.
But all these things can be ruined if cyber bullying is seen in social media.
2.1. Related Works
Ammar Y. Alqahtani and Albraa A. Rajkhan [3] had done a research to find out critical
success factors for e-learning in the time of covid-19 pandemic situation. They had used the
multiple Analytic Hierarchy Process (AHP) and Technique for Order Preference by Similarity
to Ideal Solution (TOPSIS) techniques. They had collected data from 69 educational
institutes. They had found that knowledge sharing, support management, student
characteristics and information technology were the most critical success factors in the time
of covid-19 situation for e-learning.
Lauren A. Ricciardelli, Larry Nackerud, Adam E.Quinn, Mary Sewell, Beatrice Casiano
[4] had done a 55-item survey to find out the impact of social media among social work related
student’s attitude, knowledge and also to find out the impact on ethical inferences for the
5
Chapter 2. Background
social work profession. They had found some believes about social media from their survey
like students supported social media has influence over social work, students believe that
security of personal data is a civil rights issue, they are worried more about how other’s using
social media but most of them believed that social media is the best platform for connecting
people which is an impactful thing for social work.
Mahmoud Maqableh, Lama Rajab, Walaa Quteshat, Ra’ed Moh’d Taisir Masa’deh, Tahani
Khatib, Huda Karajeh [5] did a survey research on the impact of social media usage on
student’s academic performances and they had proposed some hypotheses and tested them by
descriptive analysis method. They found that 38.5% students spend 3 hours daily in social
media platform Facebook and 48% of them use the platform 10 hours per week. By testing
their hypotheses they found there is no significance impact of social media per week’s use on
student’s academic performances.
2.1.2 LABOREM
Bastien Letowski, Camille Lavayssière, Benoît Larroque, Martin Schröder and Franck
Luthon [6] proposed a fully open source remote laboratory model called LABOREM in their
paper. Which is mainly based on PyScada software. In their work they used web languages
like HTML, CSS, Javascript for user interface and connect the front end with a raspberry pi
server which works as host of Human machine interface. In back end they used Django, a
mvc architecture framework. On the laboratory side they used cameras, DUT(device under
test), various measurement instruments like oscilloscope, a robotic arm for selecting DUT
plugs and choose which instrument to run. The communication protocols are provided from
Pyscada core software. They are pyUsb, pyModbus, pyVisa. Their future target is to
experiment on other engineering sections.
2.1. Related Works
Xi Gao, Lei Yu, Houhua He, Xiaoyu Wang,Yiwen Wang [7] had talked about their designed
three types of attacks which they had applied to find out the security issues in three kind of
account binding method QAUTH, QR Code, Mobile based binding method. They selected 43
websites and found that 11 websites had issues in third party account binding and 4 websites
in mobile based account binding. In their paper paper they mentioned about some defensive
measures. One of them is websites should send sms to users when their account binding
information got changed. Their future target is to make automated detection tool.
2.1.4 ADEPT
Maryam A.Al-Othman, John H.Cole, Carla B. Zoltowski, Dimitrios Peroulis, J.H.Cole [8]
talked about ADEPT in their paper. Adept is an online education platform which focuses on
student’s learning performances. Students can attend exams in this platform. This system
6
Chapter 2. Background
finds out errors like typographical errors, coding errors, phrasing errors etc. They used three
tired client-server architecture here. For front end they used HTML, CSS, Bootstrap, JQuery.
For middleware and back-end they used rails and postgreSQL technologies. They also used
HEVEA which converts Latex to HTML. Their future plan is to add more features.
7
Chapter 2. Background
2.2. Summary
2.2 Summary
Social media use, Survey To discover the concern within the use of After observing this paper we found that most of the social network
attitudes, and social medias and the performance of website users are female and majority of them in second and third
knowledge among student’s academic activities year level who are around 20-23 years old. It is also found that
38.5% of the students use Facebook heavily almost 3 hours a day
social work students
and around 40% students spend 10 hours per week.
Ethical implications
for the social work
profession
Implementation To examine a fully open source laboratory LABOREM project is a remarkable project for all kinds of students
A Fully Open Source Research model LABOREM. specially who are disable or wants to take distance education. Their
next target is to experiment it on various sector of engineering
Remote Laboratory
education.
for Practical Learning
The Impact of Social Survey To understand the effect of social platform on Social media can change the point of view and behaviour of users of
Media Networks user’s mental health, behaviour and social media,and how this changes can rotate our social and
Websites Usage on professional life professional life.
Students’ Academic
Performance
E-Learning Critical Survey To understand the success rate of e-learning Knowledge sharing, support management, student characteristics
Success Factors during covid-19. and information technology were the most critical success factors in
during the COVID-19 the time of covid-19 situation for e-learning.
Pandemic: A
Comprehensive
Analysis of
E-
Learning
Manage
rial
Perspectives
A research of security
in website account Implementation To propose some summarized methods of sms sending feature increase security.When account binding
binding research,Survey. account binding with the websites. credentials got changed website will send sms to user.
8
Chapter 2. Background
Usage of social media, Research,survey To shows the outcome of using social media Social media has positive influence on study but cyberbullying has
student engagement, and the procedure of using social media by negative impact.
and creativity: The which students creativity can be increased
role of knowledge
sharing behavior and
cyberbully.
9
Chapter 3 Project
Design
In testing system feasibility benchmark analysis is a crucial thing. It is a way of how we can
compare our project idea with other similar works and find out what features we can add and
what we should not. We made a benchmark of some websites for our work.
• Slader.com:
– Description: Slader.com is mainly a site for students and teachers. Users can find
high school and college textbooks, textbook problems solutions provided by
verified experts. Users can also ask questions to the experts.
– Features:
1. User can directly sign up with his/her social media, mail accounts.
2. Auto-search suggestions.
– Limitations :
1. User don’t need any educational information for the registration process. But
since it is an educational site it is important to have user’s educational
background information.
2. They don’t have any audio, video file sharing feature and they did not use
speech recognition feature.
• Shikkhok.com:
– Features:
10
3.1. Benchmark Analysis Chapter 3. Project Design
5. Responsive site.
– Limitations:
• Stack overflow:
– Features:
1. Users can directly register through his/her social media or mail accounts and
he/she must provide educational background information.
4. Responsive site.
– Limitations:
1. No selling feature.
• 10 Minutes school:
– Features:
2. Paid tutorial.
3. Video and text file for offline use.
– Limitations:
2. Users cannot sell their notes or educational content here and there is no option
to blogging or asking questions too.
11
3.1. Benchmark Analysis Chapter 3. Project Design
– Description: Repto education center is one of the biggest online education sites in
Bangladesh. This site had 110890 students and 545 teachers with 93 different
courses.
– Features:
2. Live class.
4. There is a blog option by which users will know about many things.
– Limitations:
3. No option for evaluating the courses and for reviewing the comments.
• eShikhon:
– Description: eShikhon is an online based education portal. Basically this site is for
technical subjects.
– Features:
1. Live class.
3. Paid course.
– Limitations:
1. There is no option for sign-up directly through working mails, no search or auto
search suggestion, no comment or evaluation system for any material.
– Features:
2. Users can sell their course notes and can earn money.
12
3.1. Benchmark Analysis Chapter 3. Project Design
– Limitations:
• Chegg study :
– Description: This is a website where students can find their study related problem
within a few minutes. Students can find textbooks, textbook solutions and home
work related problem solution which is provided by expert teachers.
– Features :
5. Users can sell their old textbook and can earn some money.
9. Auto-search suggestion.
– Limitations:
1. They don’t have note selling feature. They don’t have any audio, video and file
sharing features.
• Course Hero:
– Description: Course hero is a biggest online platform where you can find the study
resources which you need for all your classes. Course hero has more than 20 million
of study documents. Users can find their solution to ask question from experts.
– Features:
2. In this website you have to sign up with your authentication information and
using educational information.
4. Auto-search suggestion.
5. Users can upload their own notes and course documents. By uploading
documents, they earn free unlocks which they can use to access others content
in this website.
13
3.1. Benchmark Analysis Chapter 3. Project Design
– Limitations:
• Omeganotes:
– Features:
3. Users can get help for finding assignments and textbook solutions.
4. Study related audio, video files can be found through the site.
– Limitations:
– Description: This is an online educational helping platform where students can get
their textbook solution and assignment help.
– Features:
4. Users can communicate with each other and also can review on the platform.
5. Users can sell and buy notes through this site. 6. In the process of buying, there
is a cart option.
– Limitations :
14
3.1. Benchmark Analysis Chapter 3. Project Design
• Notesmate:
– Description: This is an online educational platform where people can get help in their
education purpose by communicating with each other and by finding their required
notes.
– Features:
2. Users can communicate with each other and also can review on the platform.
3. Users can sell and buy notes through this site. 4. In the process of buying, there
is a cart option.
– Limitations:
• Chosen Features:
– User-friendly navigation.
– Login and Registration with university name and id and other information.
15
3.1. Benchmark Analysis Chapter 3. Project Design
16
3.1. Benchmark Analysis Chapter 3. Project Design
17
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
SRS contains full specifications of a project including defination, functional and non
functional requirements.
3.2.1 Introduction
Project Description
Social media is a powerful platform where people from all over the world can communicate
and share, exchange knowledge with each other. From the social media students can share
study materials, useful information, class notes, projects and many more details with their
friends and fellow students. We are motivated to implement a social networking site where
all the Universities of Bangladesh students can communicate with each other and they can
share and exchange their knowledge through this site. Our main purpose of this study is
making a reliable platform where students can find solutions for their study related problems
and a safe place where students can share their notes and other study materials.
Purpose
The purpose of this project is to built a specific social platform where all Universities of
Bangladesh students can stay connected with each other and share information. Where they
can share course lectures, notes, video tutorial and they can also sell their notes or sell videos
and explain a specific topic or teaching a subject that they are particularly good at.
There will be auto-search suggestion and speech recognition system.
Scope
In this modern era, the role of online based learning platforms can’t be denied. This online
based web system can be a great privilege to all of us. Our proposed web system can help the
individual a lot for knowledge sharing and study related problem solving. They can manage
to earn their pocket money through the system also. The system can be a great platform for
building unity and a social network.
3.2.2 Project Schedule
Project management is an crucial part of an project. We used JIRA software for scheduling
our project works.
Gantt Chart
18
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
3.2.3 Methodology
• Phase 2: This phase is all about system analysis and design. For analysis and design
we did benchmark analysis, SWOT analysis and UML design. By benchmark analysis
we found the key features for our project and also tested the feasibility. UML design
diagrams help us to find out how the system will work. It specifies every cases of the
system . We have developed a demo UI design for our project and again tested it if it is
user friendly or not. Then we selected the demo for final work.
• Phase 3: In this phase we started to implement. We found out what are the entities we
need and according to the entities we designed database for our project. We used SQLite
and MySql languages for designing the database and query purpose. We will develop
front end for our project according to the UI design demo. We will develop homepage,
selling page, blogging page, order and payment page, admin page in this phase. We
choose a framework for front end designing-React Js and some basic front end
languages HTML, CSS, Javascript. Our project will be responsive designed means it
will be a device friendly website. In the back end first we will connect our project with
the designed database then we will develop secure authentication system, payment
verification system, products management mainly the logical works will be developed
here. Other features are speech recognition and auto search suggestion.
We will develop these features in this phase using python, Django framework.
We did SWOT analysis. SWOT analysis mainly a feasibility analysis of a system which uses
four parameters strength, weakness, opportunity, threat. By doing SWOT analysis we found
that our project plan is feasible.
19
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
Strength
Weakness
Opportunity
Threats
We used UML diagrams for describing system design for our project. UML diagrams are
based on Unified Modeling Language. The diagrams explains a system’s use cases, classes,
roles, actors, entities visually and also explain their relationship.
Use case diagrams represents the various scenario of a system. Figure 3.2 describes the use
case scenario for selling. Here actors are student and teacher.
20
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
21
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
Sequence diagram describes how a case will be completed sequentially. It describes the steps
of completing any goal. Figure ?? describes sequences for blogging scenario, Figure 3.6
describes note uploading scenario and Figure 3.7 describes note selling and buying scenario.
22
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
goal. Figure
23
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
Figure 3.5: Sequence Diagram For Note Buying and Selling Sequence
Diagram
Sequence diagram describes how a case will be completed sequentially. It describes the steps
of completing any goal. Figure ?? describes sequences for blogging scenario, Figure 3.6
describes note uploading scenario and Figure 3.7 describes note selling and buying scenario.
24
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
25
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
Figure 3.7: Sequence Diagram For Note Buying and Selling Class Diagram
Class Diagrams represents building blocks of a system. Class is used to create objects.
Class controls capability of objects.
26
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
CRC diagrams mainly a block of cards which explain the allocation of responsibilities in
classes. Figure 3.9 describes CRC models for blogging scenario and Figure 3.10 describes CRC
models for selling scenario.
27
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
28
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
ERD diagram represents the entities of the project and their relationship. ERD Diagram in
Figure 3.11 describes about the entities of our project and their relationship among them.
29
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
Rule 1: Each column of your table must be single-valued which means it should not contain
multiple values.
Rule 2: Every column must have same type data
Rule 3: Every column name must be unique
In our database, we have many tables to keep track of the data which users give. In our
database, our first table name is UserProfileInfo, where the user’s personal information will
be stored. Here in Fig: 1, you can see we create a table with dummy values, for example.
30
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
Now with data added, our table already satisfies three rules as all our column names are
unique. We have stored data in the order we wanted to and we have not mixed different types
of data in our columns. So, it satisfies the rule of the first normalization.
Let’s take another example; for this example, we have taken payment table.
In this table, we can see that the primary key is payment_id and buyer_name together forms
a more meaningful primary key for this table, and we can fetch all the information using it.
There is no partial dependency in this table. So, it satisfies the 1nf and 2nf rules.
31
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
UI Design
UI design means user interface design. Users interact with websites through UI design. So it
is a very important thing. Many things depends on UI design like if the UI is so hard to
operate users will leave the website. So we will follow three golden rules of UI designing. An
user friendly interface, other one is a kind of design which will remove the pressure of
remembering any commands for operations and the last one is a kind of design that will be
fully under control of the users.
Deployment Diagram
32
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
3.2.6 Requirements
Hardware requirements
• Windows 7 minimum
• 4gb Ram
• Hard drive
Programming Language
• HTML
• CSS
• Javascript
• Python
Web Framework
Our proposed front end frameworks:
• React JS. It is a model view controller architecture based framework but it only shows
view layer of the mvc part.
• Bootstrap
Database design
Our proposed database languages:
• MySql
• SQLite
33
3.2. Software Requirement Specification(SRS) Chapter 3. Project Design
• PostgreSQL
IDE
We chose some editors for their huge amount of plugins variety. We can run multiple code
languages in these editors. They have terminals too. There we can also run server through
them.
• Pycharm
• Atom
Functional Requirements For Users
This section describes the mandatory requirements for users to use our features.
• User would have to build up their profile with their personal and educational
information.
• In this system we are dealing with the mode of bKash. Later we will extend it to credit
card, debit card etc in future. So, user must pay through bKash.
34
Chapter 4
There are two types of environments for a software deploying procedure. These are:
"Development Environment" and "Production Environment.” Firstly we have discussed
development environment setup, and then we have discussed production environment setup
also.
Operating System:
In the development phase, the operating system which we used is Windows 10.
Memory: Local
PC memory
IDE:
We have chosen the visual studio code editor for various features and extensions that are
pretty much suitable and helpful for our project. Since we are working on a Python-based
back-end framework, we need a python-supported compiler in which we can run python
libraries for testing purposes and view results in the console. Visual studio code provides
python (pylint extension) for python and many other extensions for Django code snippets. VS
Code also has a terminal where we can write commands directly connected to our local os
system. So we don’t have to write commands in the command prompt console. Vs. Code also
has GitHub extensions which are so helpful for git operations. By this, we can directly get
connected with our GitHub account and create or clone repositories and push, commit so
many things.
Git and GitHub:
We have installed git 2.32.0, a free and distributed version control system. Then we created
accounts on GitHub. GitHub mainly provides internet hosting and version control features
using Git. So we have created git repositories in our GitHub account then we gradually push,
commit our updates into GitHub.
35
4.1. Environment Setup Chapter 4. Implementation and Results
Python:
We have installed python 3.9.5 in our operating system and set a variable path to our local
OS.
We first created a virtual environment in our local os for better development and usability in
other machines.
Command: “py -m venv BDuniversitycommunity"
Then We have activated the virtual environment using:
“BDuniversitycommunity\Scripts\activate.bat”
Then inside the virtual environment folder, we have installed Django using the command:
“py -m pip install Django”
Database Setup SQ Lite:
We are using Django for our back-end purposes. Django has its built-in database back-end.
Django officially supports:
• postgreSQL
• MySql
• MariaDB
36
4.1. Environment Setup Chapter 4. Implementation and Results
• Oracle
• SQlite
We have used the SQLite database for our project. Because Sqlite is a lightweight relational
database included with the python distribution system. And when we create a Django project,
in settings.py file of the main project automatically creates an SQLite database structure
setup and connection for the project.
To create database tables and to perform CRUD operations, there are many ways to write
SQL code or manually create a database table in an individual database server. But we have
chosen the Django ORM concept for database creation and performing various operations.
The main work of Django ORM is to pass data among the RDB and application models.
Models are objects which will convert into database tables. We have to write them in the
models.py file of an individual application, and the most beneficial part is that we can create
and perform operations using just python code. Here is an example: In our capstone project,
we created three: AppUsers, BlogApp, and NotesellingApp. We have created models
connected with the application like in AppUsers we have created Payment object by writing
this code:
class Payment(models.Model):
Payment_id
buyer_name
note_name
price
mobile_banking_number
This code will convert into SQL code and will communicate with the database. In this
model, we can define the corresponding type like Character Field, the foreign key, the
primary key, and so many works. After writing the code, we have to write a command for the
migrations. Command : “python manage.py makemigrations” This command will detect any
changes in the code, and then “python manage.py migrate:” command will migrate all the
changes to our database.
37
4.1. Environment Setup Chapter 4. Implementation and Results
SQL Browser:
We have used SQL DB browser and Django Administration system for viewing the data.
Django Administration System:
Django admin is one of the most powerful features of Django. It can read metadata from
models and create a user interface for the admin to manage and operate various data and
permissions. To access the admin system, we have to create a superuser using “python
manage.py createsuperuser” command and create an account. Then we can log in into the
admin system using those credentials.
38
4.1. Environment Setup Chapter 4. Implementation and Results
We have used JIRA software for managing our project through tracking our work progress,
scheduling our tasks, assigning different tasks to different member for better progress. We
have used scrum agile model.
39
4.1. Environment Setup Chapter 4. Implementation and Results
For generating auto search suggestions we have used Jquery Autocomplete API. This Api
works based on user input. It takes the prefix and sends it to the source. We defined Django
view as the source. Then Django runs a query for the result including that prefix and if
results exist it will send all the possible results in the JsonResponse to the UI.
40
4.1. Environment Setup Chapter 4. Implementation and Results
We have used Web Speech API for speech recognition. This API was built to measure the
performance of google speech recognition API. It is free and has so many features including
speech analysis and speech synthesis. Web Speech API first takes sound samples from the
user and sends that to a web service server. Then the server processes, analyzes, applies
algorithms and the sound sample gets converted into text. We use this technology to get the
text data and then we submit the data into the query log by Django view. Speech recognition
needs three elements from sound sample frequency, intensity, time duration.
41
4.1. Environment Setup Chapter 4. Implementation and Results
The conventional way to convert data is not enough. Speech recognition needs frequency,
intensity, time. So a fast fourier transform algorithm is applied to convert the data into
spectrograms. The algorithm mainly divides the states into acoustics.
This Model contains two different models, Hidden Markov Model and Neural Network Model.
Hidden Markov model is great fit for sequential nature of speech, But it is not flexible and
by using this model it is hard to grasp the phoneme varieties. On the other hand Neural
Network model is flexible, phoneme varieties are easy to grasp but it is bad fit and needs so
much data for training and solving errors. So, maximum speech recognition web services use
both of them combinedly.
42
4.1. Environment Setup Chapter 4. Implementation and Results
43
4.1. Environment Setup Chapter 4. Implementation and Results
For the payment model we have used Twilio communication API. We have planned to use
sslcommerz but for low budget and server security we planned a new model, first user will
send money with username and product name, then our admin will insert a entry into the
database and a sms code will automatically send to the user.
44
4.1. Environment Setup Chapter 4. Implementation and Results
We deployed our project into the pythonanywhere.com hosting server. Which provides
application services like cloud memory, and its operating system is cross-platform.
45
4.1. Environment Setup Chapter 4. Implementation and Results
46
4.2. Testing and Evaluation Chapter 4. Implementation and Results
Testing is so important for the process of creating error free, reliable, readable, convenient,
easy to use projects. The main target of testing is to check how user friendly, how easy to find
information, how secure and logical the project is. We have used the conventional stages for
our web project testing.
In functional testing we have tested all the links including anchor links, page links and
outgoing links. We tested every form of our project by submitting them and also checked their
functionality. We have tested the HTML, CSS, JS files by W3C standards validation, Markup
validators and Django-HTML validation for Django integrated HTML files.
47
4.2. Testing and Evaluation Chapter 4. Implementation and Results
In usability testing we have tested our navigation, buttons, fields and we have ensured that
every page is grammatically correct, every information is valid, reviewed and every page has
a link to go to the home page. We have used the Usability Hub online tool for usability testing.
48
4.2. Testing and Evaluation Chapter 4. Implementation and Results
49
4.2. Testing and Evaluation Chapter 4. Implementation and Results
UI Testing:
We have used Katalon Studio software for our UI testing. We have used ‘Record and Replay’
mode for our automation.
50
4.2. Testing and Evaluation Chapter 4. Implementation and Results
Compatibility Testing:
In this testing criteria we have used Browserstack Live for checking our website whether it
is good to use in cross platforms, cross browsers and will work in various databases.
Beta Testing:
For beta testing we didn’t use any service. We give our website link to 20 real users for beta
testing. We gave them some questions also and ask them for their opinion. The results are
in results and discussion section.
Performance Testing:
For testing overall performance including stress testing, load testing, endurance testing we
have used Think With Google and WebLoad Trial version.
51
4.2. Testing and Evaluation Chapter 4. Implementation and Results
Security Testing:
Security testing is a crucial test for a website. We have used Mozilla Observatory Site to scan
our website for security testing. Our Future target is to use Google nogotofail and Django
referrer Policy tool for a higher grade security.
52
4.2. Testing and Evaluation Chapter 4. Implementation and Results
53
and Chapter 4. Implementation and Results
The main objective of our project is to offer a web-based communication platform for the
University students of Bangladesh where they will be able to share their study related
knowledge in all kinds of renowned format, ask for problem solutions, build community, and
earn money through selling notes. We have built our project and tested it with various testing
tools in different criterias. For our proposed voice search suggestion API and auto search
suggestion feature API we have used Katalon studio. For checking the basic criteria like,
functional, security, ui/ux, performance we have used W3C validator, Mozilla observatory,
Usability hub, BrowserStack Live, Think with google tools. And our project has gone through
all the tests. In katalon studio we have used a record and replay method to create objects and
then tested that test cases and our test cases have passed. In our project the main challenge
was to implement a voice search feature, auto search suggestion and payment model. For
generating auto search suggestions we have used Jquery Auto complete API and Web Speech
API for speech recognition. In our payment model we have used Twilio Communication API
and also tested the process. For beta testing we managed 20 people to submit their opinion
and 13 of them strongly agreed that our project will be very helpful for student’s educational
purpose, 15 of them strongly agreed that our project will be a innovating source of income for
the note selling feature, 18 of them strongly agreed with our project interface is so user
friendly.
4.4 Summary
In this chapter, we first described the environment setup of our project. Here we mentioned
two types of environment setup: development and Production environment setup. Then we
defined the testing and evaluation part of our project with different models. Lastly, we wrote
about the results and discussion of our project.
Chapter 5
A standard is a scientific study that ensures the component, software materials, amount,
mechanism, and services are accurate. Technical provisions, norms, stipulations, and
54
qualities are all provided by standards. Standards are generally produced through a
cooperative process and approved by various national and international enterprises, industry
organizations, and professional societies. However, Only a few developers use software
development standards. The performance provides for code enhancement and complete user
compliance, and the final program is the rationale.
In any organization, administration and policy ensure that things get done. Even the best
set of rules and strategies are useless if they are not followed. The act of acquiescing, goal,
or rule is referred to as compliance.
This area of the improvement plan sets standards for sustainable and streamlined software
development. The main benefit of complying with software standards is productivity.
Standards allow each software team member to work anywhere in the source code without
having to remember and follow a different programming style. Instead, a programmer might
look at a place in the source with an optimistic assumption about how the code will organize
the code, what the object is, and how to find what they need. In addition, the in-
5.1. Compliance with the Standards
struction, modification, and mutual use of the code are simplified. Here we are following a
vast system to prepare high-end software because the coding is easy to write but difficult to
debug. We followed The World Wide Web Consortium (W3C) standards for our web project.
We used HTML for web page structure and CSS, the bootstrap framework for styling, and
validate them in the W3c page validation system. We have used ’Django-HTML-validator.’
for validating generated HTML files from Django apps. We followed Django documentation
and Django web style guide for writing Django code and designing elements. We also
validated our scripting language Javascript in the W3C validator and maintained standards.
Hardware standards define hardware requirements that are laws or explanations that are
required for an intended purpose. Hardware standards are developed for businesses,
organizations, groups, and universities. In addition, Hardware standards help to encourage
that the elements are exchangeable and applicable with the software. Since our project is a
web-based project and we developed our project into our local machines, we didn’t follow any
specific hardware standards, and we just focused on our needs. We have used Windows 10
OS, four GB RAM, and 1 TB storage for the local machine, and in the production phase, we
choose Pythonanywhere server for deployment, and they offered us 512MB cloud space for a
free account.
55
Chapter 5. Standards and Design Constraints
Communication standards, particularly feedback loops, are the most crucial development
process from a social and organizational perspective. A sender encodes and sends a message,
and a receiver receives, decodes, and understands that message and provides feedback to the
sender if there are effective feedback loops. The difference between clarity and confusion is
determined by having correct and particular feedback loops. Django is a back-end web
framework, so it needs a back-end server to operate, but most of the servers don’t understand
python directly. Hence, Django has two communication interface files that are responsible
for communication. One is WSGI, and another is ASGI. WSGI is responsible for
communicating between servers and applications and provides service for only synchronous
code. WSGI is the primary Python standard for communication. ASGI is mainly provided
communication facilities for asynchronous Python features.
A software safety plan is established for the minimum acceptable requirements for the
content. For the development, acquisition, management, and retirement of safety-critical
soft-
56
Chapter 5. Standards and Design Constraints
ware, this standard apply to the software safety plan. The system safety program requires
that the plan be prepared within the context. Only the safety conditions of the software being
compromised. We have followed OWASP Application Security Verification Standard for our
project. We also maintained the Django security features which are recommended by NIST.
Django security features use ’PBKDF2’ algorithm with a ’SHA256’ hash, a password
stretching mechanism.
Here we have discussed the impact of our project from different perspectives.
In our country, unemployment is a significant issue. Most importantly, there is a lack of part-
time job options for students of our country to manage their pocket money. Students will be
able to be economically beneficial by selling their study materials through our system.
Additionally, students will be able to get help to find any inquiry about study-related
problems by communicating with one another through our system. So they will not need to
have any tutor for study purposes. As they will not have to pay the tuition fee, they will be
benefited economically. Another thing is that our platform is a knowledge-sharing platform
where people can enrich and exchange knowledge. That will play an imperative role in
improving our nation’s educational side. The more educated a nation is, the more
economically self-reliant a country will be.
Our web system is a comprehensive platform for social networking. People from all over the
country will be able to be connected with each other through the platform. In this COVID
pandemic situation, social distancing needs to be maintained. So this platform will be an
excellent option for social communication while maintaining social distance. Since there is
also an option of collaboration of many social clubs, so social and cultural work can also be
done through this platform.
57
5.3. Cost Analysis Chapter 5. Standards and Design Constraints
The site will be an excellent platform for inquiring about any correct information. Social work
through this site will help us overcome social adversity, and people will be willing to help
others. People will be able to get their merit’s value by selling their study materials.
Our software project system does not rely on government actions or decisions that do not
violate government law. Implementing a web-based management system simply follows the
government’s e-commerce policy framework. As a result, we can declare that our software
projects are free from substantive political constraints.
5.2.5 Sustainability
The idea of sustainability relies on three pillars: environmental, economic, and, therefore
the social. In other words, for software to be sustainable, it is necessary to consider all its
direct and indirect impacts on the environment, economy, and society. You should also
consider the entire life cycle of your software, from planning and conception to
programming, deployment, installation, use, and disposal. We hope that our project "
Implementation of social media among universities of Bangladesh" will be a long-term effort
that will benefit students.
Based on the size of the software product, the COCOMO predicts the cost of software product
development in terms of effort (resources necessary to complete the project work) and
schedule (time required to complete the project work). In addition, it calculates the number
of Man-Months (MM) essential for the complete development of software solutions.
We follow the rules of the COCOMO model to calculate the cost and effort of our project. We
have some measurement parameters. According to our project, the number of users input is
5, the number of users output is 5, the number of users inquires is 3, the number of files is 2,
the number of external interfaces is 3. We take this as a simple problem. After that, it will
give the total count, which is 73.00.
58
5.3. Cost Analysis Chapter 5. Standards and Design Constraints
In The second step these inquiries have some points like 1 as incidental, 2 as moderate, 3 as
average, 5 as essential. Again, we have ranked these questions based on our project.
And finally, it gives us the functional points, which is 70.81.
59
5.3. Cost Analysis Chapter 5. Standards and Design Constraints
And step four is we have to calculate the complexity of the software project. We take this
module as organic because our project is a small and simple software project handled by a
small team with sound domain knowledge and few rigid requirements. In this calculation,
we get the effort estimation of 5.29 person-month, and the time estimate is 4.71 month.
60
Chapter 5. Standards and Design Constraints
5.4. Summary
5.4 Summary
In this chapter, We firstly discussed standard and design constraints. Here we mentioned
our project’s software, hardware, communication, and safety standards. Then we discussed
the impact of our project in various fields and wrote about the sustainability of our project.
And lastly we have calculated the cost and effort of our project through the COCOMO model.
61
Chapter 6
Conclusion
6.1 Summary
In this work, we have proposed a web based social network system specifically for Bangladeshi
university students. We have included question asking, answering and knowledge sharing
features. We also included a feature which will help to reduce unemployment problems for
many students. Students can sell their own hand written notes on this proposed web based
system. We have added extra features like auto search suggestion and speech recognition
features for more user friendly and modernized web system. So this web system will be a great
platform for all the university students of our country.
In this paper, we have described our methodology, system design, analysis techniques,
Implementation, Results, Standards and Design Constraints of our project. We have
mentioned the requirements, strengths, weaknesses, threats and scopes. By doing SWOT
analysis and benchmark analysis we had found that our proposed plan is feasible and
suitable for our country. Tools and frameworks that are used in our project is shown in Figure
6.1.
6.2. Future Work Chapter 6. Conclusion
62
Figure 6.1: Tools and Frameworks used in our project
In the future, our main target is to implement a real-time chatting system, real-time video
streaming system and integrate the easy payment SSLCOMMERZ for quick activation to
accept transactions. And we will add more features for our user’s so that they are satisfied
using our system.
6.3 Limitations
Since, we are students we don’t have enough funding to promote our project and get members.
We also don’t have any marketing specialists in our group. In future for increasing number
of members we will need big database so we also need funding to buy database in cloud.
References
[1] Mustafa I.M. Eid and Ibrahim M. Al-Jabri. Social networking, knowledge sharing, and
student learning: The case of university students. Computers Education, 99:14 – 27 ,
2016.
[2] Muhammad Imran Rasheed, Muhammad Jawad Malik, Abdul Hameed Pitafi, Jawad
Iqbal, Muhammad Khalid Anser, and Mazhar Abbas. Usage of social media, student
63
engagement, and creativity: The role of knowledge sharing behavior and cyberbullying.
Computers Education, 159:104002, 2020.
[3] Ammar Y Alqahtani and Albraa A Rajkhan. E-learning critical success factors during the
covid-19 pandemic: A comprehensive analysis of e-learning managerial perspectives.
Education Sciences, 10(9):216, 2020.
[4] Lauren A. Ricciardelli, Larry Nackerud, Adam E. Quinn, Mary Sewell, and Beatrice
Casiano. Social media use, attitudes, and knowledge among social work students: Ethical
implications for the social work profession. Social Sciences Humanities Open,
2(1):100008, 2020.
[5] Mahmoud Maqableh, Lama Rajab, Walaa Qutechate, Ra’Ed Masa’deh, Tahani Khatib,
and Huda Karajeh. The impact of social media networks websites usage on students’
academic performance. Communications and Network, 7:159–171, 09 2015.
[6] Bastien Letowski, Camille Lavayssière, Benoît Larroque, Martin Schröder, and Franck
Luthon. A fully open source remote laboratory for practical learning. Electronics,
9(11):1832, 2020.
[7] Xi Gao, Lei Yu, Houhua He, Xiaoyu Wang, and Yiwen Wang. A research of security in
website account binding. Journal of Information Security and Applications, 51:102444 ,
2020.
References
[1] Mustafa I.M. Eid and Ibrahim M. Al-Jabri. Social networking, knowledge sharing, and
student learning: The case of university students. Computers Education, 99:14 – 27 ,
2016.
[2] Muhammad Imran Rasheed, Muhammad Jawad Malik, Abdul Hameed Pitafi, Jawad
Iqbal, Muhammad Khalid Anser, and Mazhar Abbas. Usage of social media, student
engagement, and creativity: The role of knowledge sharing behavior and cyberbullying.
Computers Education, 159:104002, 2020.
[3] Ammar Y Alqahtani and Albraa A Rajkhan. E-learning critical success factors during the
covid-19 pandemic: A comprehensive analysis of e-learning managerial perspectives.
Education Sciences, 10(9):216, 2020.
[4] Lauren A. Ricciardelli, Larry Nackerud, Adam E. Quinn, Mary Sewell, and Beatrice
Casiano. Social media use, attitudes, and knowledge among social work students: Ethical
implications for the social work profession. Social Sciences Humanities Open,
2(1):100008, 2020.
64
[5] Mahmoud Maqableh, Lama Rajab, Walaa Qutechate, Ra’Ed Masa’deh, Tahani Khatib,
and Huda Karajeh. The impact of social media networks websites usage on students’
academic performance. Communications and Network, 7:159–171, 09 2015.
[6] Bastien Letowski, Camille Lavayssière, Benoît Larroque, Martin Schröder, and Franck
Luthon. A fully open source remote laboratory for practical learning. Electronics,
9(11):1832, 2020.
[7] Xi Gao, Lei Yu, Houhua He, Xiaoyu Wang, and Yiwen Wang. A research of security in
website account binding. Journal of Information Security and Applications, 51:102444 ,
2020.
65