Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

1.

INTRODUCTION

1.1. Purpose
The purpose of this project is to design, develop, and launch a user-
friendly and engaging website. The site will serve as a platform for
writers, bloggers, and content creators to share their ideas, thoughts, and
stories with a global audience. The project aims to provide a seamless
and enjoyable experience for both content creators and readers.

1.2. Project Definition


The main goal of our system is to provide application where people can
post their thoughts/ideas. It is also used for editing the thought, deleting
the posted thought. It is also used for viewing other’s thoughts and user
can like and comment on the posted thoughts. Users can follow other users.

1.3. Functionalities provided our system

1.3.1.User functionality

o User can login


o User can register

o User can post their thoughts

o User can add the location

o User can also post images/video on their thoughts

o User can like other’s thoughts

o User can comment on other’s thoughts

o User can follow other’s profile

Page 1 of 22
o User can see follow/follower count

o User can share other’s thoughts

o User can edit their profile

1.3.2. Change Information

➢ User can update information like thoughts, comment, user profile


photo and their details

1.3.3. Input requirement of the system

o Register information
o Login information.
o User information

o Thought information
o Comment information

1.3.4. Output requirement of the system

o Thought information
o Profile information
o Comment information
o Follow/followers information

Page 2 of 22
2. SYSTEM ANALYSIS

2.1. Introduction to System Analysis

It is a process of collecting and interpreting facts, identifying the


problems, and decomposition of a system into its components.
System analysis is conducted for the purpose of studying a system or its
parts in order to identify its objectives. It is a problem-solving technique
that improves the system and ensures that all the components of the
system work efficiently to accomplish their purpose.

2.2. Feasibility study


1. Technical feasibility:
Technical feasibility study compares the level of technology available
in the software development firm and the level of technology required
for the development of the product. The level of technology consists
of the programming language, the hardware resources, other software
tools etc.

I. Front-end Development: HTML, CSS, JavaScript


II. Back-end Development: A server-side language Node.js for
handling data storage, user authentication, and content
management.
III. Database: A database system like MongoDB to store posts,
user information, and comments.

2. Economic feasibility:
Economic feasibility involves study to establish the cost benefit
analysis. Money spent on the system must be recorded in the form of
benefit from the system.

Page 3 of 22
This include cost estimation

I. Development Costs: Calculate the expenses related to website


development, including front-end and back-end development,
CMS implementation, database setup, and initial design.
II. Hosting and Domain Costs: Determine the costs of hosting the
website on a reliable server and registering a domain name.
III. Marketing and Promotion Costs: Budget for advertising, social
media marketing, and other promotional activities to attract
users to the website.
IV. Maintenance and Support Costs: Account for ongoing
maintenance, bug fixing, and technical support expenses.

2.3. Software & Hardware Requirements


➢ Hardware Requirements

I. Any processor after Pentium 4.


II. Any version of Windows XP or later.
III. Processor speed: 2.0 GHz
IV. RAM : 1GB

➢ Software Requirements

I. Any Version of browser after Mozilla Firefox 4.0, Internet


Explorer 6.0, chrome 49.0
II. Database: MongoDB
III. Frontend: HTML / CSS
IV. Scripting Language: JavaScript
V. Technology: Node.js

Page 4 of 22
2.4. Technology used

• HTML: Hyper Text Markup Language[1] and Extensible markup


Language are the predominant markup languages for web pages.
It provides a means to describe the structure of text-based
information in a document and to supplement that text with
interactive forms, embedded images, and other objects.

• CSS: Cascading Style Sheets[2] is a style sheet language used for


describing the presentation of a document written in a markup
language such as HTML or XML. CSS is a cornerstone technology
of the World Wide Web, alongside HTML and JavaScript

• JavaScript: JavaScript[3] is a text-based programming language


used both on the client-side and server-side that allows you to
make web pages interactive. Incorporating JavaScript improves
the user experience of the web page by converting it from a static
page into an interactive oneIn most cases, JavaScript is used to
create responsive, interactive elements for web pages, enhancing
the user experience.

• NodeJS: Node.js[4] is an open-source, cross-platform, back-end


JavaScript runtime environment that runs on a JavaScript Engine
(i.e. V8 engine) and executes JavaScript code outside a web
browser, which was designed to build scalable network
applications. Node.js lets developers use JavaScript to write
command line tools and for server side scripting running scripts
server-side to produce dynamic web page content before the page
is sent to the user's web browser.

• MongoDB: MongoDB[5] is a source-available cross-platform


document oriented database program. Classified as a NoSQL
database program, MongoDB uses JSON-like documents with
optional schemas.

Page 5 of 22
MongoDB is developed by MongoDB Inc. and licensed under the
Server Side Public License (SSPL)[6] which is deemed non-free
by several distributions

3. SOFTWARE REQUIREMENT SPECIFICATION

3.1. Functional Requirements


R1: Register
Input: Enter all information
Output: show the login page

R2: Login
Input: Enter Email id and password
Output: Show home page

R3: Post thought


Input: Enter title of thought, description of thought
Output: Upload the post and show in home page

R4: Edit thought


Input: Enter the information user want to change
Output: show the updated thought

R5: Like on thought


Input: click on like button
Output: show count of total like

R6: Comment on thought


Input: Enter the comment
Output: Show the comment on thought

R7: Delete thought


Input: Click on delete button
Output: Thought will be deleted

Page 6 of 22
R8: Edit Profile
Input: Enter the information that user want to change
Output: Update the user Profile

R9: Trending page


Input: Click on trending page
Output: Show most famous thought of the day

R10: Follow other’s Profile


Input: click on follow
Output: show followers count

3.2. NON- Functional Requirements

3.2.1. Performance Requirement


• System should be able to scale to many users concurrently.
• System is available 24x7
• Errors will be minimized and an appropriate error message that
guides the user from an error will be provided.
• Validation of users input is highly essential.
• The time taken to recover from the error is less.

3.2.2. Security Requirement


• The system is provided a high level of security and integrity of the
data held by the system.
• Only authorized personnel gain access to their private data and
only the user with valid username and password is allowed to view
its user page.

3.2.3. Software Quality Attributes


• The key software quality attributes are Availability, Reliability,
and Usability.

Page 7 of 22
• As the system is expected to be 24/7 working. High availability is
important.
• A simple but quality user interface is developed to make it easy to
understand and required less training.
• The error message displayed is more descriptive and can be easily
understood.
4. SYSTEM DESIGN

4.1. ER Diagram

o E-R (Entity-Relationship) Diagram is used to represents the relationship


between entities in the table.
o Entities: User, Post

Figure 1 ER Diagram

Page 8 of 22
4.2. Class diagram
o User had to login to use the system. User can post thought. User can
comment on any post and user can see all the comments.

Figure 2 Class diagram

Page 9 of 22
Page 10 of 22
4.3. Use Case Diagram
o In use case diagram we have one actor user.
o User can register, login, upload post, edit and delete post.
o User can follow other’s Profile, see other’s post , like post, comment
on post and share post.

Figure 3 Use Case diagram

Page 11 of 22
4.4. Activity Diagram

o User must register and then login to use system.


o After login user can do many activities such as upload post, edit and
delete post, edit profile, follow other profile, see post, like and comment
on post, share post.

Page 12 of 22
Figure 4 Activity diagram
4.5 Level 0 DFD

Page 13 of 22
Figure 5 Level 0 DFD

4.6 Level 1 DFD

Figure 6 level 1 DFD

5. DATA DICTIONARY
Page 14 of 22
5.1 User
Table 1 user table
No. Field Name Field Type Required Description
1 email string true User’s Email ID
2 password string true User’s Password
3 name string true Username
4 imageURL string false Profile Image
5 thoughts object false Thought
6 Follower object false Follower of user
7 Following object false Following of user

5.2 Post
Table 2 post table
No. Field Name Field Type Required Description
1 title string true Title of Post
2 url string false Image/ Video URL of Post
3 thought string true Content of Post
4 creator string true User name
5 likes object false Like count of post
6 hashtags string false Hashtag of post
7 Comment Object false Comment on post

5.3 Like
Table 3 like table
No. Field Name Field Type Required Description
1 thoughtID object true Post ID
2 userID object false User ID

6. SYSTEM TESTING

Page 15 of 22
6.1 User module testing
Table 4 User Module tesing
No. Test Input Output Test
Result
1 Login Login Id Home Page Pass
Password
2 Sing in User name Home Page Pass
Email ID
Password
3 See Post Click on Home All the post Pass
page
4 Upload Post Click on upload User Can Pass
post Upload post
5 My Thoughts Click on My User’s all post Pass
Thought
6 Trending Click on See Trending Pass
Page Trending page Hashtags
7 Profile Page Click on Profile See personal Pass
page Details
8 Like Post Click on like See Like count Pass
9 Share Post Click on share Share that post Pass
10 Edit Post Click on Edit Can Edit Post Pass
Button
10 Delete Post Click on Delete Post will be Pass
Button deleted
11 Comment on Click on See and upload Pass
Post comment comment on
post
12 Delete Click on delete Can Delete Post Pass
Comment comment
13 Follow other Click on Follow Can Follow Pass
Profile other Profile

Page 16 of 22
7. USER INTERFACE DESIGN

7.1 User Login : User can login here

Figure 7 Login

7.2 User Sing-in : User can Sing-in here

Figure 8 Singin

Page 17 of 22
7.3 User Feed : User can see the other post and also upload his/her post

Figure 9 Feed

Figure 10 Feed

Page 18 of 22
7.4 Trending page : User Can see trending hashtags and see that post

Figure 11 Trending Page

7.5 User Profile : User can see count of follow ,follower and post. User can also
change Profile photo

Page 19 of 22
Figure 12 Profile Page

7.6 Comment : User Can comment on other post and also delete his comment

Figure 13 Comment on Post

Page 20 of 22
8. CONCLUSION
➢ While working on this project we have learnt a lot about Node.JS/MongoDB
and working with database management, we have also learnt how to make the
application user-friendly by hiding the complicated parts of it from the users
➢ During the Requirement process, we studied carefully and understood the
criteria for making a software more demanding, we also realized the
importance of maintaining a minimal margin for errors.

Page 21 of 22
9. REFERENCES

1. W3Schools is Powered by W3.CSS. , HTML introduction , html (last


accessed:5October2022),https://www.w3schools.com//html_intro.asp
2. W3Schools is Powered by W3.CSS. , CSS introduction , css (last
accessed:5October2022),https://www.w3schools.com//css_intro.asp

3. Wikimedia Foundation, Inc. , JavaScript – Wikipedia , javascript , (last


accessed:8October2022), https://en.wikipedia.org/wiki/JavaScript

4. Simplilearn Solutions, What is Node.js: A Comprehensive Guide,


nodejs,(lastaccessed:8October2022),https://www.simplilearn.com/tutorials/
nodejs-tutorial/what-is-nodejs

5. MongoDB, Inc., Introduction to MongoDB, mongodb , (last


accessed:8October2022),https://www.mongodb.com/docs/manual/introduct
ion/

6. MongoDB, Inc., Server Side Public License (SSPL), (last


accessed:8October2022),https://www.mongodb.com/licensing/server-side-
public-license

Page 22 of 22

You might also like