Project Acknowledgement & Overview
Project Acknowledgement & Overview
Project development requires commitment from all the people who are involved
in it. And also, I would like to share the credit for the success of my project with all the
people who extended their valuable support to me.
My special thanks to Mr. Saurav Panda (CEO) and Mr. Mihir Lodhavia
(COO) for his support and guidance. Both helped me during the analysis phase and
provided me with in-depth information about the working of Samaj Youth Website,
Admin Panel and Mobile Application.
I should also like to express my sincere gratitude to our honorable Director Dr.
Swati Padoshi Mam for the encouragement & facilities provided to me. At last but not
the least, I would like to thank my friends who have helped directly or indirectly in
completing my Project.
-Shreya M Shirke
4
TABLE OF CONTENTS
Sr. No Name of the Topic Page No.
1 Introduction 8
1.1 Abstract
2 System Analysis
16
2.1 Existing System
2.4.1 Operational
2.4.2 Technical
2.4.3 Economic
3.1 SRS
3.1.1 Introduction
5
3.1.2.3 Tools to be used
3.2 Modules
4 System Design 27
5 Database Design 37
6 Screen Layout 66
7 Testing 81
7.1 Introduction
9 Limitations 95
6
10 Conclusion 97
11 Future Enhancement 99
12 Bibliography 101
7
1. INTRODUCTION
1.1 ABSTRACT
8
We act as true tech partners for our clients and help them in their journey of
digital transformation. We empathize our clients by understanding their business model,
vision, processes and challenges. Hence our apps create a deeper impact to their
business.
Startup Consulting
1. Mobile Applications Development
A. Android Mobile Applications Development
B. iOS Mobile Applications Development
2. E-Commerce Development
3. Web Applications Development
4. Website Maintenance
Our reputation lies in the success of our clients. We don’t believe in excuses and
take pride to put our name on our work. We’ve expanded our presence globally and won
clients from foreign markets including USA, Europe, Middle East and Australia.
9
Worried about higher server and development costs? Don't worry. We have got you
covered.
● Samaj Youth is to connect people who are in different villages and cities but of
same community, enhance their social communication and empower them with
technology to support each other.
● Samaj Youth provides an Admin Panel that allows posting control, member data
export option, advertisement management with ranking feature and custom
notification dashboard.
10
● It has OTP based login, a separate admin panel for exporting member data,
advertisement management and to send custom notifications to users.
● The Samaj Youth can help you maintain existing relationships with people and
share pictures and messages, and establish new ones by reaching out to people
you've never met before.
● This website enhances Advertisements of products. The main purpose behind this
Advertisement functionality will help people to buy products in trusted circle.
● Today’s world has become global and digital, People or User needs “Quick
Service” at any time anywhere.
● Their is lot of scope for the types of web portals because world 90% people using
internet and they take advantage of the web portals for their daily use.
● We have been able to develop solutions that fit what the peoples need every
single day.
● Any User can access Samaj Youth app at anywhere like home office, car and so
on.
11
Upload and Share Images on network.
Post Advertisement of products.
Administration page to keep eye on user operation.
HTML, which stands for HyperText Mark-Up Language, is the language for
describing structured documents as well as the language used to create web pages in the
12
Internet. The language is based on an existing, international formatting standard SGML,
Standard Generalized Mark-Up Language, which is used for text processing.
HTML files are written in ASCII text, so the user can use any text editor to create
his/her web page, through a browser of one sort or another is necessary to view
the web page.
HTML is case insensitive with its language commands. The characters within the
document, however, are case sensitive. The language consists of various "tags"
which are known as elements. These allow the browser to understand (and put
into the desired/specified format) the layout, background, headings, titles, lists,
text and/or graphics on the page. The elements are classified according to their
function in the HTML document.
There are head elements and body elements. The head elements identify
properties of the entire document, while body elements actually mark text as
content and show a change in the appearance in one way or another.
Most elements have a beginning and an ending which encompass the text the
user wishes to mark with the tag. All HTML documents must begin with the
element and end with the element. Some of the other elements which may be
used are tags to create lists--both ordered lists as well as unordered lists. The user
may also create larger or smaller, bolder, italicized, or underlined text.
Attributes may be used along with the elements. These perform functions such as
placement of text, an indication of the source files of images, and identification
of links to the document or part of the document.
Bootstrap also gives you ability to create responsive layout with much less effort.
Advantages of Bootstrap
The biggest advantage of using Bootstrap is that it comes with free set of tools
for creating flexible and responsive web layouts as well as common interface
components.
Additionally, using the Bootstrap data APIs you can create advanced interface
components like Scrollspy and Typeaheads without writing a single line of
JavaScript.
Here are some more advantages, why one should opt for Bootstrap:
13
Save lots of time
Responsive features
Consistent design
Easy to use
Compatible with browsers
Open Source
jQuery is opensource concise and fast JavaScript library created by John Resig in
2006. The main purpose of jQuery is to make it easy to use JavaScript. It simplifies the
interaction between JavaScript and HTML Page. The main motto of jQuery is Write less,
Do more means jQuery takes a lot of JavaScript code and wraps it into jQuery functions
that do the same thing in single line of code.
jQuery can manipulate HTMl Elements on HTML document, means It can select
any HTML element on the page and manipulate that element.
It can add events on jQuery elements like what should happen when a user click
on a button, what should happen when user hover mouse on any element etc.
14
An SDK (Software Development Kit): A collection of tools that are going to help
you develop your applications. This includes tools to compile your code into
native machine code (code for iOS and Android).
A Framework (UI Library based on widgets): A collection of reusable UI
elements (buttons, text inputs, sliders, and so on) that you can personalize for
your own needs.
To develop with Flutter, you will use a programming language called Dart. The language
was created by Google in October 2011, but it has improved a lot over these past years.
Flask is a web framework. This means flask provides you with tools, libraries
and technologies that allow you to build a web application. This web application can be
some web pages, a blog, a wiki or go as big as a web-based calendar application or a
commercial website.
15
Flask is part of the categories of the micro-framework. Micro-framework are
normally framework with little to no dependencies to external libraries. This has pros
and cons. Pros would be that the framework is light, there are little dependency to update
and watch for security bugs, cons is that some time you will have to do more work by
yourself or increase yourself the list of dependencies by adding plugins. In the case of
Flask, its dependencies are:
features of Flask:
The documentation and developer tools are excellent, and the OpenShift cloud
has built-in support for it with free accounts
The Flask "core" is simple, but there are a large number of extensions which
integrate with it very well
Flask is actively maintained and developed
It's based on Python, which is an excellent programming language for rapid high-
level application development that offers useful libraries for many other things
16
2. SYSTEM ANALYSIS
● In the current system, all the advertising is done directly and records are
maintained by individual distributor software as it has been spread almost
multiple countries and so it was doing manually to maintain a record by the main
owner which was taking so much of time.
● Manual hours that need to be spent in record keeping and generating reports are
more.
● Easy access for hackers to launch spam attacks and commit fraud such as identity
theft.
● Increase the possibility of people being targeted to online scams resulting in data
or records theft.
● Leads to diminished productivity if people are engaged in activities such as
updating profiles and the like.
● Possibilities of photos being uploaded on social media to be misused or altered.
● Issues related to privacy if someone hacks the accounts.
17
2.2 Proposed System
18
● The User can keep overview track of the advertisement which he/she has been
posted.
● The User can upload images, for a variety of events.
19
2.4 FEASIBILITY STUDY
A feasibility study is a detailed analysis of a company and its operations that is
conducted in order to predict the results of a specific future course of action. Small
business owners may find it helpful to conduct a feasibility study whenever they
anticipate making an important strategic decision. For example, a company might
perform a feasibility study to evaluate a proposed change in location, the acquisition of
another company, a purchase of major equipment or a new computer system, the
introduction of a new product or service or the hiring of additional employees. In such
situations, a feasibility study can help a small business manager understand the impact of
any major changes they might contemplate.
The feasibility study will help you accurately anticipate what will and will not
work in varied situations. You will be able to determine what resources are essential to
complete varied situations and gain an understanding of how to draw on your strengths.
Various types of Feasibility study we have done are Technical, Operational and
Financial which are equally important.
1. Operational Feasibility
2. Technical Feasibility
3. Economical Feasibility
20
2.4.1 Operational Feasibility
Operational Feasibility is a measure of how well a proposed system solves the
problems and takes advantage of the opportunities identified during scope definition and
how it satisfies the requirements identified in the requirements analysis phase of system
development.
Operational Feasibility is mainly concerned with issues like whether the system
will be used if it is developed and implemented. Whether there will be resistance from
users that will affect the possible application benefits? The essential questions that help
in testing the operational feasibility of a system are following:
● Does management support the project?
● Are the users not happy with current business practices? Will it reduce the
time (operation) considerably? If yes, then they will welcome the change
and the new system.
● Have the users been involved in the planning and development of the
project? Early involvement reduces the probability of resistance towards
the new system.
● Will the proposed system really benefit the organization? Does the overall
response increase? Will accessibility of information be lost? Will the
system affect the customers in considerable way?
For any system if the expected benefits equal or exceed the expected costs, the
system can be judged to be economically feasible. In economic feasibility, cost benefit
analysis is done in which expected costs and benefits are evaluated. Economic analysis is
used for evaluating the effectiveness of the proposed system.
21
manual cost to spend or the proposed system. Also all resources are already available, it
give an indication of the system is economically possible for development.
Incremental Prototyping
The final product is built as separate prototypes. At the end the separate
prototypes are merged in an overall design.
22
Process of Prototyping
Using the feedback both the specifications and the prototype can be
improved. Negotiation about what is within the scope of the contract/product
may be necessary. If changes are introduced, then a repeat of step 3 and 4 may be
needed.
Roles of Prototypes
The roles that prototype play in the product development process are several.
They include the following:
● Experimentation and learning
● Testing and proofing
● Communication and interaction.
23
24
3. SOFTWARE
REQUIREMENT
SPECIFICATION
25
Types of Requirements
5 Design Requirements The “build to”, “code to” and “buy to” requirements
for products and “ how to execute” requirements for
processes expressed in technical data packages and
technical manuals.
26
Operating System : Ubuntu, Mac, Windows any more
● Android Studio
● Firestore
3.2 MODULES
1. Admin Module
In this module user can: -
2. User Module
In this module user can: -
27
4. SYSTEM DESIGN
28
written and approved by the client, then the client must renegotiate to have
anything modified or change once it is in production. This saves the developer
from having to "wing it" while under a tight deadline, but also means you will be
responsible for delivering exactly what you agreed to deliver.
29
4.2.2 Admin Use Case Diagram for Website Portal
30
4.3 ACTIVITY DIAGRAM
31
Activity diagrams illustrate the dynamic nature of a system by modeling
the flow of control from activity to activity. An activity represents an operation
on some class in the system that results in a change in the state of the system.
Typically, activity diagrams are used to model workflow or business processes
and internal operation.
32
A sequence diagram shows object interactions arranged in time sequence. It
depicts the objects and classes involved in the scenario and the sequence of messages
exchanged between the objects needed to carry out the functionality of the scenario.
Sequence diagrams are typically associated with use case realizations in the Logical
View of the system under development. Sequence diagrams are sometimes called event
diagrams or event scenarios. A sequence diagram shows, as parallel vertical lines
(lifelines), different processes or objects that live simultaneously, and, as horizontal
arrows, the messages exchanged between them, in the order in which they occur. This
allows the specification of simple runtime scenarios in a graphical manner.
33
5. DATABASE DESIGN
34
5.1 general-posts
35
5.2 Storage
36
5.3 Authentication
37
5.4 Functions
38
6. SCREEN LAYOUT
39
6.1 Phase 1 Samaj Youth Mobile UI Screen
40
6.1.1.2 Screen 3 6.1.1.2 Screen 4
41
6.1.2 Login 6.1.2.1 Login Details
42
6.1.3 Home Page 6.1.4 News
43
6.1.5 Side menu 6.1.6 notification
44
6.1.7 Add profile details 6.1.7.1 Add profile details
45
6.1.7.2 Add profile details 6.1.7.3 Add profile details
46
6.1.7.2 Add profile details 6.1.7.3 Add profile details
47
6.1.8 Notification window 6.1.9 News window
48
6.1.9 Search
49
6.1 Phase 2 Samaj Youth Admin Panel UI Screen
6.2.2 Login in
50
6.2.3 Dashboard
6.2.3 Advertisement
51
7. TESTING
52
7.1 INTRODUCTION OF TESTING
Coding: -
Due to company’s policy and IPR i.e. Intellectual Property Rights Code has not
been mentioned in this document.
Testing is the process of evaluating a system or its component(s) with the intent
to find whether it satisfies the specified requirements or not. Testing is executing a
system in order to identify any gaps, errors, or missing requirements in contrary to the
actual requirements.
The Test Members and the Development Members were not formally separated.
The developers worked in pairs, with one person developing the test cases and the other
writing the functionality for the module. There was much more interaction among team
members than there in traditional development model. Project development began with
formal design document.
The testing was primarily based on the tasks for feature development. The
development team got immediate feedback from the test members. Having the test team
create the quick start samples gave the development team a perspective on the real-life
usage of the application block.
After the task passed all of the test cases and was complete, quick start samples
were developed to showcase the functionality. The quick start samples demonstrated the
usage of the application block and were useful for further testing the code in the
traditional way (functional and integration tests)/
Any discrepancies found in this stage were reported immediately and were fixed
on a case-by-case basis. The modified code was tested again with the automated test
suites and then was handed over to be tested again with the quick start samples.
53
7.2 TYPE OF TESTING
1. Manual Testing
2. Automation Testing
Manual testing includes testing a software manually, i.e., without using any
automated tool or any script. In this type, the tester takes over the role of an end-user and
tests the software to identify any unexpected behavior or bug. There are different stages
for manual testing such as unit testing, integration testing, system testing, and user
acceptance testing.
Testers use test plans, test cases, or test scenarios to test a software to ensure the
completeness of testing. Manual testing also includes exploratory testing, as testers
explore the software to identify errors in it.
Automation testing, which is also known as Test Automation, is when the tester
writes scripts and uses another software to test the product. This process involves
automation of a manual process. Automation Testing is used to re-run the test scenarios
that were performed manually, quickly, and repeatedly.
Apart from regression testing, automation testing is also used to test the
application from load, performance, and stress point of view. It increases the test
coverage, improves accuracy, and saves time and money in comparison to manual
testing.
54
7.3 METHODS OF TESTING
1. White Box Testing
2. Black Box Testing
7.3.1 White Box Testing
Advantages:
Black box Testing is used by Test Team, as a testing strategy, which does not
need any knowledge of internal design or code/”Black box” suggests no knowledge of
internal logic or code structure is required.The tester is oblivious to the system
architecture and does not have access to the source code. Typically, while performing a
black-box test, a tester will interact with the system's user interface by providing inputs
and examining outputs without knowing how and where the inputs are worked upon.
The base of the Black Box Testing strategy lies in the selection of appropriate
data as per functionality and testing it against the functional specifications in order to
check for normal and abnormal behavior of the system.
The Implement Black Box testing strategy, the Test Team is through with the
requirement specifications of the system and as a user, should know how the system
should behave in response to the particular action.
55
7.4 LEVEL OF TESTING
1. Functional Testing
2. Non-functional Testing
Unit Testing
This type of testing is performed by developers before the setup is handed over to
the testing team to formally execute the test cases. Unit testing is performed by the
respective developers on the individual units of source code assigned areas. The
developers use test data that is different from the test data of the quality assurance team.
Integration Testing
System Testing
System testing tests the system as a whole. Once all the components are
integrated, the application as a whole is tested rigorously to see that it meets the
specified Quality Standards. This type of testing is performed by a specialized testing
team.
Regression Testing
Acceptance Testing
56
specifications and satisfies the client’s requirement. The QA team will have a set of pre-
written scenarios and test cases that will be used to test the application.
Alpha Testing
This test is the first stage of testing and will be performed amongst the teams
(developer and QA teams). Unit testing, integration testing and system testing when
combined together is known as alpha testing.
Beta Testing
This test is performed after alpha testing has been successfully performed. In beta
testing, a sample of the intended audience tests the application. Beta testing is also
known as pre-release testing. Beta test versions of software are ideally distributed to a
wide audience on the Web, partly to give the program a "real-world" test and partly to
provide a preview of the next release.
Performance Testing
It is mostly used to identify any performance issues rather than finding bugs in a
software.
Load Testing
It is a process of testing the behavior of a software by applying maximum load in
terms of software accessing and manipulating large input data. It can be done at both
normal and peak load conditions. This type of testing identifies the maximum capacity of
software and its behavior at peak time.
Usability Testing
Usability testing is a black-box technique and is used to identify any error(s) and
improvements in the software by observing the users through their usage and operation.
57
8. SYSTEM MAINTENANCE
& EVALUATION
58
8.1 SYSTEM MAINTENANCE
Once the website is successfully uploaded on the web server and Mobile app has
been uploaded successfully in google play store and App Store for iphone device, it may
undergo some changes. This may occur due to change in the requirements, change in the
operational environment or an error in software, which has not been fixed while testing.
The proper follow up of the system and error solving in post implementation phase is
called as system maintenance.
Maintenance is a very important phase. The maintenance of the website and
mobile app require:
● As per the requirement changes, have to make changes into the application
and system.
● The company will have to evaluate the feedbacks of the users and make
necessary changes in website and mobile app.
The maintenance activity consists of following tasks:
I. Backup
II. Diagnostic
III. Integrity Changes
IV. Recovery
V. Design Changes
VI. Performance Testing
59
8.2 System Evaluation
● The evaluation aims at the determination of the degree of desired qualities of a
finished system.
● The evaluation aims to determine the weakness of software such that the result
generates suggestions for further development.
60
9. LIMITATION
61
LIMITATION
1. Multiple photos can not be uploaded at same time.
5. Restricted UI/UX .
62
10. CONCLUSION
63
CONCLUSION
● The Mobile Application and website has been developed by our team with great
effort and dedication.
● It has been tested for all possible expectations keeping in mind, the primary
requirement of mobile application and website.
● The purpose of this project was to develop a web application and mobile app for
connecting people from mobile app.
● The system has been developed with much care and almost free of error and at
the same time it is efficient less time consuming.
● This experience has enriched our knowledge of developing software and has
proved to be stepping stone in our career, also the project give us a lot of
knowledge about the education field which will help us in our career.
64
11. FUTURE ENHANCEMENT
65
FUTURE ENHANCEMENT
● We think that not a single project is ever considered as complete forever because
our mind is always thinking new and our necessities also are growing.
● Our application also, if you see at the first glance that you find it to be complete
but we want to make it still mature and fully automatic.
● As system is flexible you can view latest posts anytime as and when required.
● The system is modified in future as per the owner requirement.
● In this system we will further launch the mobile app in other countries and
expand our system throughout everywhere.
66
12. BIBLIOGRAPHY
67
BIBLIOGRAPHY
Book Reference:
● The art of a software Testing(3rd Edition)
Author-Glenforth 3 Myers
-Roger R Pressman
References Sites:
● www.google.com
● www.w3school.com
● www.stackoverflow.com
● www.tutorialpoints.com
● www.wikipedia.com
68