Matter Mate
Matter Mate
Organization Chart
Address: Office No 12. First Floor Sanidhya Building Opp. UCO bank,
Ashram Rd, Ellisbridge, Ahmedabad, Gujarat 380009, Ahmedabad,
Gujarat 380009Contact No: 94276 17574 | 97278 35207 | 7043786365
Project Profile
Team Size 2
Database SQLite
Existing System
The Existing System is used for Company that publishes Online
Magazine monthly by the publishers in hard copy. Company intends
to present the magazine data to the people in monthly manner and
take their feedback in terms of forms and other offering many
advantages overconventional books.
Article were drafted and verified and taken manually. Banners were
designed and printed in the magazine prior, there was no possibility
to change the things spot on because of all manual coordination.
New System
Aim:To develop a WEBApplication for providing complete On-Line
information about Online Magazine and to maintain it’s contents
dynamically.
As the project definition suggest, the project that we are going to
develop will provide mainly the following functionality for Visitors of
the Website.
View & Post Comments:User can view and post the comments on
the articles. Posting of comments is not login driven and is publicly
shown on the website. To post a comment user need to click on the
link and is redirected to put the comments.
Links Regarding Tell A Friend, Digg it, RSS Feed: For any
article, user can pass the link to his/her friend’s email-id. When a user
click on Tell a Friend link, he is provided with some fields and user is
required to fill these fields. A mail is sent to the email id provided by
the user bearing user name, the link and the description provided by
the user. User can also digg it. When a user clicks on the link of Digg
it, he is redirected to digg.com. To view similar articles, user can click
on RSS Feed link and is redirected to that page.
FEATURES
The proposed system has the following features:
Admin can access the database by creating, editing and deleting
contents of the magazine portal. But this is possible only after
successful login.
User can select the genre (Here term Genre is used for a process
of dividing different kinds of literature into categories such as
Art, Popular, Traditional, Regional & National etc) from the listed
articles to get detailed information on it. This online magazine
has a cover page letter along with other contents. This cover
page can be changed later on & remains in the database only.
Gathering information from users and integrating that feedback
with the back-end systems has always been a hassle. The
proposed system will make it easy to post easy-to-use fill-in
forms on the site, and to tabulate user responses quickly and
easily.
Since ad banner will be placed on the site which would link onto
advertiser’s website, it will reach out to a large, global market.
All preceding articles remain online indefinitely in the archive,
making them totally accessible whenever required.
Admin can choose the articles or channels to be displayed or not
to be displayed, the order of the display on the website. Thus
display preferences can be set according to the choice of Admin.
The proposed system provides facility to play audio files with as
per the selection by the visitor.
Project Description
We proposed Magazine Content Management System
where the contents of the Magazine can be presented & displayed
however they want. The purpose of this project is to design website
of the company and develop dynamic content management system
for the magazine. The project aims at creating an electronic
magazine as the online version of a printed magazine, which will
primarily supply the content. The articles in this MatterMate contain
various types of media, including text, images etc files. A keyword
search as well as subscription is supported. Articles can be accessed
by the readers via collections or via search mechanisms
MODULARIZATION DETAILS
1) Admin Login
2) Category
3) Genre
4) Article
5) Cover
6) Banner
7) Comments
(1) Admin Login: Login Module is used to get the login details of
the user. This module has been set for both sides i.e. admin side
login and user side login. To log in, admin or visitor user is asked
to provide username and password which need to be checked
from the database. To check login type, we have checked what
type of user is in through the field “usertype_id” of user_master
table from the database.
Admin is redirected to the home page of Admin Control Panel as
soon as login details are validated for valid login. While for visitor
users, they are required to register first through the registration
form and all the details are stored in the user_master table. Once
they have registered themselves, they can provide login details
and after getting valid login details they can post comments or
change their profile information or can logout.
(3) Genre: This module stores all the genres and sub genres for all
the channels. To create a top (parent/main) genre, admin need
to enter the name of the genre. And if any sub genre is required
to be inserted for this top genre, he can select this top genre at
the time of inserting a sub genre for it. As for example if a genre
“Indian Regional” is inserted, then sub genres “Gujarati”,
“Tamil”, “Punjabi”, etc. can be inserted. Again sub genres of
genres “Gujarati”, “Tamil”, “Punjabi”, etc. can be inserted
depending upon the choice. Display order of genres can be set
after inserting records for it. Data is stored & retrieved from
genre_master table. All the functionalities of adding, editing,
deleting, searching, sorting & paging are applicable to this
module.
Articles are stored in three ways. One way is storing the article
with its respective category and channel and the other way is
storing it as a left column article which do not relate to any
category or a channel. But the data for the left column article is
saved in the article_master only with the values of “category”_id
as “0” and a field “header_text” as a mandatory field to give a
heading for that article and whether it is required to be kept
activated/deactivated or to be kept on home page or not. Fields
like “is_leftcol”, “is_home”, “display_order” and “home_display”
order plays a major role for displaying these articles as display
order of these articles depends upon the values of these fields
which can be set / changed according to the choice. Another
form of articles is “Letter of the Month” and is stored in
letter_month table. Among these articles, at a time only one
article can be kept active as a letter of the month. The details of
such articles are stored with their channel id. Information related
to all these three types of articles is provided by admin and as
these articles gets distinguished with the each other articles;
they are shown separately as sub menus Article, Left Column
and Letter_Month for the Menu Article. Moreover data for all the
articles are inputted with the different forms but are stored in the
same table.
(5) Cover: As every magazine has a cover page, this module deals
for displaying, adding, editing, deleting a cover page with it’s
image. At the time only one cover can be kept active which will
be displayed on the home page. Rest if user wants to check
other (previous) covers, they can check it. A cover may have
multiple images but at a time only one image can be a leading
image which is displayed with the cover. But one can view all the
images for the cover. All data related to the image of the cover is
stored in “cover_image” table and the whole details of the cover
page are stored in “cover_master” table. A lead image can’t be
deleted or deactivated, but unload images can be deleted or
deactivated.
(6) Banner: This magazine contains banners. So this module deals
with adding, editing, deleting, searching & sorting banners.
These banners can be activated/deactivated as per the choice.
Whenever visitor clicks on banner, a counter is incremented and
hence admin can get the information of hit count for a banner,
the value for which is retrieved from the field “hit_count” in the
database table “advertise_master”. When a visitor clicks on a
banner, he is redirected to advertising URL. For this, url of the
advertising co. is entered by the admin along with the banner
title & image.
(8) Talk: This module deals with making the user to listen audio
files. For this, details regarding artist and media are managed.
User (Visitor) will be able to select tracks and make a playlist and
can hear the files. Also a talk banner is there along with these
two sub modules. This talk banner is different from the Banner
previously defined. This banner will be displayed in another
window when a user clicks on Talk Menu. On clicking talk banner,
user will be redirected to the url of the advertising company.
(10) User Registration and Login: Under this module, details are
provided by the end users (i.e. visitors of the website). These
details are validated and stored in database. After this
registration process, users can get their username and user
password to login the system. After providing valid Login details,
user can post comments and can change his profile details.
SYSTEMREQUIREMENT
(Requirement those are necessary for success of the Project)
Security: The system has security measures to authenticate
information before showing data. System shall prohibit
accessing unauthenticated data. Provide admin level security,
need of power user (Administrator) to do special function.
System Requirements
Hardware Profile
The general Hardware requirements are listed below.
Software Profile
Scripting Language
PYTHON DJANGO
HTML
JavaScript
CSS
Databases
MySQL
Tools
Text Editor
PyCharm
Operating System
Windows / Linux machine
Browser
Browser (i.e. Mozilla /opera / internet explorer)
Others
Internet Connection
SYSTEM FLOW
ACCESS HIREARCHY
Administrator
Individual user
MatterMa
te
Forums
Blogs
Article Functions
User View Article List
interface Article Categories
Users Post Comments
Matter
Login Features RSS Feeds
User Id Mate Columns
Password Editorial Digg It
Registration WS Notes
Off Beat
Tell a Friend
Id are managed
by user database Talk
Change Password
ADMIN
Functionalit
Change Personal Information
y
Add New Item
Update Item
E R Diagram
User
Manages
Visit
Pages
Has CoverPage Has Media
Magazine
Segregate Contains Banner
UML Diagram
Use Case Diagram
Login
Manage
User
Manage
Category
Manage
Page
Manage
Article
Manage
Banner
Admin
Manage
Article
Image
Manage
Media
Manage Menu
Logout
Login
View Pages
View
Articles
View
Banner
View Media
Registered
User
NavigateMenu
Logout
Activity Diagram
User Registration
Registration
Invalid Valid
Visitor
Response Click
Visit Banner
Click Article
Response Navigation
[Click on
Comments]
Validate Details
Validate Email
Store Comments
on Database Send Newsletter
Display on Website
Activity of Admin
Invalid Valid
Display menu
Info.
Menu
Selection
Logout
Logout Admin
Add New
Records
Provide form to add new records
Insert Record in Database
Manage Category Manage Article Manage Page Manage Banner Manage Media
+VerifyLogin():Boolean
Contributor
Category
give_article()
Generalization
Admin Reg.user
Subscription
1 -ID:int() 1
-pwd:String() -SubID:int() +FN
1 -SubFN:char() +LN
+login() +login
-SunLN:char()
+getConfirmation() 1
+login() +logout Generalization
+logout()
+getSubscription
+logout()
Page
-Page_ID:int()
M -Page_Des:String()
+Add Page()
+update page()
M M
Article
Category Banner
M -article_ID:int()
-article_Des:String() -Cat_ID:int() -Banner_ID:int
-article_Img:file -Cat_Des:String() -Banner_img:file
+AddCat() +Banner_Add()
giveArticle() +updatecat() +UpdateBanner()
Unit Testing:
The objective of Unit Testing was to test a unit of code (program or
set of programs) using the Unit Test Specification, after coding is
implemented. All the modules were tested uniquely to locate errors.
Test case was also needed to test the range of values expected,
including both valid and invalid data.
Integration Testing:
All the modules were tested uniquely to locate errors and application
was thoroughly checked for it works according to the software
requirement suggestions. Necessary changes in the code were being
made and it was retested again to ensure proper integration between
all the modules.
SYSTEMTESTING
System testing does not test the software per se but rather the
integration of each module in the system. It also tests to find
discrepancies between the system and its original objectives,
current specifications and systems documents. The primary concern
is the compatibility of individual modules. Analysts are trying to find
areas where modules have been designed with different
specifications for data length, type and data element name. For
example one module may expect some data item to be of numeric
type and another module may expect it to a character data. The
system itself may not report any error, but the output may show
unexpected results.
The various features for which systems testing are carried out are
as follows:
GUI Tests: Done for checking the uniformity of look and feel
and the usage of advanced features.
Interface Tests : Done for checking the proper functioning of
interfaces between modules
Menu Options Test: Done for checking for the proper
functioning of modules.
Security Testing
Database Test
Done for checking proper updating / insertion in the database.
Authorization Test:
Only register user can post comments.
Checking for session time to be valid
Cannot open any page without login
TEST CASES
The design of test for software and other engineered products can
be as challenging as the initial design of the product itself. Yet, for
reason that we have already discussed, software engineers often
treat testing as an afterthought, developing test cases that may
“feel right” but have little assurance of being complete. Recalling
the objectives of testing, we must design tests that have the
highest likelihood of finding the most errors with a minimum
amount of time and effort.
Following are the test cases that we have developed after the
implementation.
CASE_ID1 LOGIN SECURITY
PURPOSE To check whether the administrator can get access
application without the login
Actual
Sr. No. Test Condition Expected Result
Result
1. sort categories Category list is sorted Pass
according to category according to category title in
title in ascending or ascending/descending
descending mode provided by the user
2. sort categories Category list is sorted Pass
according to category according to category name in
name in ascending or ascending/descending
descending mode provided by the user
3 sort categories Category list is sorted Pass
according to display according to display order in
order in ascending or ascending/descending
descending mode provided by the user
4 Search criteria given & Search Results obtained based Pass
click on Search Button on Category name & title
5 User clicks on “Next” Get the another (next) list of Pass
Link 10 records according to the
sort order
with the links the links “First”,
“Previous” and if the record
are not last 10 records, Links
“Next” and “Last” appears
6 User clicks on “Last” Gets the last listed records Pass
Link according to sort order
showing “First” & “Previous”
Links
7 User clicks on “First” Gets list of first 10 records Pass
Link according to the sort order
with the links “Next” & “Last”
8 User clicks on “Previous” Get the previous list of 10 Pass
Link records according to the sort
order
with the links “Next” and
“Last” and if the record are
not first 10 records, Links
“First”, “Previous” appears
9 Try to enter non Will not allow to enter non Pass
numerical fields in the numeric fields
text box of display order
10 Insert/Update display Display order set & saved Pass
order by entering a accordingly
numeric field and click
on Update Button
11 Check/Uncheck active Saved successfully Pass
checkbox and click on
Active Button
12 Check/Uncheck active Would not be able to do it as Pass
checkbox for the parent the checkboxes for them are
& top categories (that disabled
are fixed)
13 Check for deleting top link not provided for deleting Pass
categories /parent the top (or parent/fixed)
categories categories
14 Clicks on Edit Link User is redirected to Edit Pass
Category Details and all the
details are correctly provided
in the fields.
15 Provide details to edit Records are edited Pass
category and click on successfully and control is
“Save” Button passed to Category list form
Sr. Actual
Test Condition Expected Result
No. Result
1. User selects Parent A message is displayed for Pass
(Top)category, enters the duplication of category
duplicate category name, name and category is not
title and checks the added.
checkbox for making it
active
2. User tries to save the An alert message is Pass
details without entering displayed prompting the
mandatory fields (Name & user to enter the mandatory
Title) fields
3 User clicks on Cancel Control is passed to the Pass
button Category list page
Overview
2) EVALUATION SUMMARY
The purpose of this section is to provide a summary of the overall
adequacy and acceptance of the system.
Scope
In order to develop a reasonable project plan, it is required
to functionally bind characteristics of the software. So that
by following the software engineering principles, the project
management activity is the determination of software
scopes. By considering the following objectives of software
scopes, we derived the Software scope statements.
Software scope must be ambiguous and
understandable at management and technical levels.
A statement of software scope must be bounded.
There must be the quantitative data.
Software scope is defined by addressing context,
information objectives, and function and performance.
Benefits
Analyze if the benefits anticipated in the concept
development and requirements definition analyses were
realized. Detail all benefits, quantifiable or non-
quantifiable, and any quantifiable resources associated
with each. Comments should address the following:
Easy to maintain
User Friendly
Attractive Design
Interactive Content
Faster Access.
Development Cost
Determine the adequacy of the development cost estimated and
any deviation between the estimated and actual development
costs. Comments should address the following:
Development Cost is like developing the modules which are
defined.
Operating Cost
Analyze the adequacy of the operating cost estimates and any
deviation between the estimate and the actual operating costs.
Summarize the resources required to operate the system.
Comments should address the following:
No Operating Cost.
Training
Evaluate if all levels of user training were adequate and timely.
Comments should address the following:
As of now no training is required , once the system is build
, induction training will be arranged for operator and developers.
4) OUTPUTS
The purpose of this section is to evaluate the adequacy and
usefulness of the outputs from the system. Care must be taken to
ensure that all reports are evaluated.
Usefulness
Measure the extent to which the users need the output of the
system. Comments should address identification of the level of
need, such as the following:
This is particularly for the Magazine Company for digitalize the
content and spread to end users across the world in one click.
Timeliness
Determine if output production performance meets user needs.
Comments should address the frequency with which output arrives
on time, early, and late; and the amount of follow-up needed to
obtain the output.
With this system the maximum manual work is
save ,editing and verification is done faster and biased behavior is
stopped here.
Data Quality
Assess the need to provide for effective use of shared data to
enhance performance and system interoperability. Comments
should address data accuracy and data reliability.
As the system is computerized so there is security of data , also
the data is durable because we can save for longer time.
5) Security
The purpose of this section is to determine if the system provides
adequate security of data and programs. In addition to access
security, procedures for backup, recovery, and restart should be
reviewed.
Its secure because all the management is done by admin and
other access is for registered user, no other access is given for
visitor only view rights.
Allowed Access
Evaluate the adherence to restriction of access to data. State
desired privacy criteria for the system then evaluate how the
criteria have been followed up to this point. Comments should
address the following:
6) COMPUTER OPERATIONS
The purpose of this section is to ascertain the current level of
operational activities. Although the user point of view is primary
to the Post-Implementation Review Report, the computer
operations view is also important to investigate.
Control of Work Flow
Scheduling
User Interface
Computer Processing
7) MAINTENANCE ACTIVITIES
The purpose of this section is to evaluate maintenance activity
involving the system.
Activity Summary
Maintenance Review
System Maintenance
Conclusion
This is to conclude that the project assigned to us was worked
upon with a sincere effort. Most of the requirements have been fulfilled
upto the mark and the requirements which have been remaining, can
be completed within a short extension. The application may be used by
the company for the further development into a content management
system.
We had a very good experience of an extremely professional
environment to work under and a good project to work under the
guidance of experienced and skilled employees. We were able to learn
through the company, management of a project, how to analyze the
given task and handle it swiftly.
Also we were able to learn PYTHON DJANGOwhich would help
us a lot when we put our first step in the industry.
Bibliography
The following websites and books were referred to in acquiring
knowledge for developing this project.
Websites
Websites for getting help for coding on Python Django& MySql:
1. www.w3schools.com
2. www.tutorialspoint.com
3. https://www.tutorialspoint.com/django/index.htm
4. https://www.edureka.co/blog/django-tutorial/
Websites for getting help for drawing UML & Other diagrams:
1. http://www.agilemodeling.com/artifacts/useCaseDiagram.htm
2. http://atlas.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/index.htm
3. http://www.sparxsystems.com.au/UML_Tutorial.htm