Software Project Report
Software Project Report
Contents
1 Software requirement specification(SRS) 2
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Technology Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 General Descriptive 3
2.1 Product Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 User Characteristic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Assumption and Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Specific Requirement 4
3.1 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Data Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5 Conclusion 19
6 Bibliography 19
1
1 Software requirement specification(SRS)
1.1 Introduction
PeekProgress is your one-stop shop for conquering everyday tasks and achieving goals. This
app seamlessly integrates password management, financial tracking, and project planning,
empowering you to take control of your digital life, finances, and projects. Streamline
your workflow: Securely store and manage logins, effortlessly track income and expenses,
and organize tasks with intuitive project planning tools – all within a single, user-friendly
platform. Boost your productivity: Say goodbye to juggling multiple apps and scattered
information. PeekProgress keeps everything centralized and easily accessible, allowing you
to focus on what matters most. Peace of mind included: Robust security features safeguard
your passwords and financial data, while clear organization promotes informed financial
decisions and efficient project execution. PeekProgress: Manage your life, achieve your
goals, and peek the progress you’re making every step of the way.
1.1.1 Purpose
The purpose of this document is to present a detailed description of PeekProgress (Personal
Information Management system). This explains the purpose and functions of this system,
what our application would do and under which constraints will it work.
1.2 Scope
The software will able the users to interact with three separate but integrated apps:-
Financial Tracker:- It will help users in tracking their finances they could assign
themselves a set amount to spend, add/update an expense, get total spending , add
financial goals within the app.
Project Planner:- It will help users to prepare plans for any project by adding files,
setting deadlines, updating their calendar, adding custom requirements. The software
uses mail notification system that will depend on the user selected scheduling scheme.
2
System Requirements
Our app is completely web-based therefore not less than the following are required to access
it :-
Hardware:- A device capable of running a modern web browser (like desktop com-
puter, laptop, tablet, or smartphone).
Software:- A recent version of a popular web browser (like Chrome, Firefox, Safari,
Edge).
Internet Connection:- A stable internet connection for data access and functional-
ity.
1.4 References
An Integrated Approach to Software Engineering Approach – Pankaj Jalote
Software Engineering A Practitioner’s Approach –Roger S. Pressman
2 General Descriptive
2.1 Product Perspective
Our software aims to help busy individuals by providing them an all in one platform to
which is comprehensive and user-friendly to manage their passwords, track their expenses,
and plan their projects effectively. We focus on streamlining the workflows, enhancing
organization, and promoting security to help users achieve their goals and progress in this
aspect of their lives.
User Behavior: We assume users will find value in the features offered by PeekProgress
and will be willing to learn and adopt the app.
3
3 Specific Requirement
3.1 Functional Requirements
1. Provide access to registered users only.Registration will partition a vault for users
data in the data-store.
2. Enable users to edit their profile and navigate between password manager, expense
tracker and project planner.
3. Enable users to add/update/delete passwords with their platform names, user ID,
username and other details.
4. Enable users to search and generate passwords using built-in password generator and
various filters available.
6. Enable users to set limits plan financial goals(like Funding a vacation, Settling credit
card debt , Becoming a homeowner).
7. Enable users to title Project, attach required files for it, fix schedule for it, and log
report for it.
8. Provide users the remainders for their project schedules with the help of automated
mail service.
Registration Table :-
S.No Field Name Data type Description
1. Name Text This is used to give the username after
completing the registration process.
2. Email Alphanumeric This is used to uniquely identify the user and
helps prevent fake accounts.
3. Password Alphanumeric This is used to create an access key of the
profile page for user.
Login Table :-
S.No Field Name Data type Description
1. Name/Email Alphanumeric
This is used to identify user in the database.
2. Password Alphanumeric This is used to give access of the profile page
to the user.
3. VaultID Alphanumeric This is used to give user the permission to
add/update/delete data in his vault
4
Password Table :-
S.No Field Name Data type Description
1. Title Text This is used in giving title to a password
record
2. Platform/Site Text This is used to name the site for which the
password record is being created
3. Email/Other ID Alphanumeric This is used to help user in adding any sort
of ID that the user used on associated site.
4. Phone Number Numerical This is used to help user in adding the phone
number that the user used on associated site.
5. Password Alphanumeric This is used to record the password for
associated site.
Expense Table :-
S.No Field Name Data type Description
1. Title Text This is used in giving title to a password
record
2. Date date This is used to add the date on which record
was created.
3. Category Text This is used to differentiate whether the
record is a gain or an expense.
4. Description Text This is used to help user in adding additional
details to the record.
Project Table :-
S.No Field Name Data type Description
1. Title Text
This is used in giving title to the Project
2. Description Text This is used to help user in adding the
details about Project.
3. Deadline date This is used to add any due date for the
Project.
4. Collaborators Text This is used to reference any other users
involved in the project.
5. Files file type This is used to attach any files initially
required in the Project.
Task Table :-
S.No Field Name Data type Description
1. Title Text This is used in giving title to the task inside
any project
2. Description Text This is used to help user in adding the
details about task inside any project.
3. Deadline date This is used to add any due date for task
inside any project.
4. Files file type This is used to attach any files required in
task inside any project.
5
4 Data Flow Diagram
A data flow diagram (DFD) is a graphical representation of the ”flow” of data through
an information system, modeling its process aspects. A DFD is often used as a preliminary
step to create an overview of the system without going into great detail, which can later
be elaborated. DFDs can also be used for the visualization of data processing (structured
design).
A DFD shows what kind of information will be input to and output from the system, how
the data will advance through the system, and where the data will be stored. It does not
show information about process timing or whether processes will operate in sequence or in
parallel, unlike a traditional structured flowchart which focuses on control flow, or a UML
activity workflow diagram, which presents both control and data flows as a unified model.
A data flow diagram (DFD) maps out the flow of information for any process or system. It
uses defined symbols like rectangles, circles and arrows, plus short text labels, to show data
inputs, outputs, storage points and the routes between each destination. Data flowcharts
can range from simple, even hand-drawn process overviews, to in-depth, multi-level DFDs
that dig progressively deeper into how the data is handled. They can be used to analyze
an existing system or model a new one.
6
4.2 Context Level DFD
The context level data flow diagram (DFD) is depicting the whole system. It shows the
connection established between the external entities and the system here we have primary
stakeholders as the End users.
7
4.3 Level-1 DFD
Data Dictionary
External Entity :- End-User
8
4.4 Level-2 DFD
Registration
Data Dictionary
External Entity :- New User
Data Values :- Name, Email ID, Password, Vault info, Account info, Vault ID.
Data Process :-
– Accept Details This process is used to accept valid format of credentials from
the input fields.
– Verify Details This process is used to verifies the user details using firebase
authentication service.
– Create Account Profile This process is used in creation of the account profile
for user in the running session.
– Create Secure Vault This process is used in creation of the secure vault for
user in the running session to salt his data.
– Apply Encryption for IDs and Passwords Explained in the associated DFD.
9
Login
Data Dictionary
External Entity :- User
Data Process :-
– Accept Details This process is used to accept valid format of credentials from
the input fields.
– Verify Details This process is used to verifies the user details using firebase
authentication service.
– Send OTP to registered Email This process is used in succession of forgot
password to send OTP to registered Email.
– Create New Password and apply encryption Explained in the associated
DFD.
– Account Profile Page Displayed This process is used in succession of verify
details and it displays the profile page UI to the user in session.
10
Add Password
Data Dictionary
External Entity :- User
Data Values :- Title, Site/Platform, Email ID, Other ID, Phone number, Password.
Data Process :-
– Create New Record This process is used to accept valid format of credentials
from the input fields and creates new record.
– Encrypt Password This process encrypts the entered credentials using salting
& hashing and store the record to database .
11
Update Password
Data Dictionary
External Entity :- User
Data Process :-
12
Delete Password
Data Dictionary
External Entity :- User
Data Process :-
13
Add Expense
Data Dictionary
External Entity :- User
Data Process :-
– Validate User Input This process is used to accept valid format of credentials
from the input fields.
– Create New Record for this expense Explained in the associated DFD.
– Encrypt Data This process encrypts the entered credentials using salting &
hashing and store the record to database .
14
Update Expense
Data Dictionary
External Entity :- User
Data Values :- Identifier for selected expense, date, amount, category, description/account.
Data Process :-
– Validate User Input This process is used to accept valid format of credentials
from the input fields for the selected expense from built-in filters.
– Update Record for this expense This process is used to change the record
details for the selected expense.
– Encrypt Data This process encrypts the entered credentials using salting &
hashing and store the record to database .
15
Delete Expense
Data Dictionary
External Entity :- User
Data Process :-
16
Add Project
Data Dictionary
External Entity :- User
Data Process :-
– Create a Project With users Input This process is used to accept valid
format of credentials from the input fields and create a new project record .
– Display Created Project This process is used to display the dashboard for cre-
ated project and after adding initial tasks it stores the project plan in database.
17
Add Task
Data Dictionary
External Entity :- User
Data Process :-
– Validate User Input This process is used to accept valid format of credentials
from the input fields.
– Verify Details This process is used to verify the user details using firebase
authentication service.
– Create new Task for selected project Explain in the associated DFD.
– Encrypt Data This process encrypts the entered credentials using salting &
hashing and store the project with updated set of tasks to database.
18
5 Conclusion
Key Achievements
PeekProgress provides a centralized platform for users to perform password manage-
ment, expense tracking, and project planning.
PeekProgress offers secure data storage for user data using firebase built-in security
features.
Future Possibilities
Advanced Analytics: Provide users with insights into spending habits and project
progress through data visualization and reporting tools.
6 Bibliography
https : //maddevs.io/customer − university/software − engineering − project − report/
https : //stackoverflow.co/
https : //www.freecodecamp.org/
19