+1(978)310-4246 credencewriters@gmail.com
  

Description

Task:
Use chatGPT to produce a SWOT analysis for your project. Then write a team report analyzing the chatGPT results.

this is our project for “hello world”demo
we use reative native for the project 
https://github.com/bscuron/hello-world-demo-backen…
https://github.com/bscuron/hello-world-demo-frontend.gitCIS 4398 PROJECTS IN COMPUTER SCIENCE
Requirement Document
Version 1
Requirement Document
Haein Yu, Karen J Kraft, Dennis Liang, Benjamin Charles Scuron, Curtis
LAM, Jianlin Deng, Lauren Kan, John A Karas, Ashley Kolb Malaviya
1
Requirement Document
Version 1
CIS 4398 PROJECTS IN COMPUTER SCIENCE
REVISION HISTORY
Revision #
Author
Revision Date
Comments
0.1
Karen Kraft
2/4/2023
Added a user case 2
0.2
Jianlin Deng
2/4/2023
Added a user case 3
0.3
John Karas
2/5/2023
Added features and
requirements
0.4
Lauren Kan
2/5/2023
Added the document
overview and general
requirements
0.5
Haein Yu
2/5/2023
Added a User Case 1
0.6
Curtis Lam
2/5/2023
Added block diagram
and description
0.7
Ben Scuron
2/5/2023
Added data flow section
and interface between
blocks section
0.8
Ashley Malaviya
2/6/2023
Added a User Story and
Started System Overview
0.9
Dennis Liang
2/7/2023
Added block diagram
and descriptions of block
components
0.10
John Karas
2/8/2023
Updated block diagram
images
2
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Requirement Document
Version 1
Table of Contents
System Overview…………………………………………………………………………………………………………………………….4
System Introduction ……………………………………………………………………………………………………………………………………………………4
System Block Diagram………………………………………………………………………………………………………………………………………………..5
Description of each block ………………………………………………………………………………………………………………………………………….6
Interface Between Blocks ………………………………………………………………………………………………………………………………………….7
Data Flow…………………………………………………………………………………………………………………………………………………………………………8
Document Overview……………………………………………………………………………………………………………………….9
General Requirements …………………………………………………………………………………………………………………..9
Features and Requirements ………………………………………………………………………………………………………….9
Use-Case Descriptions …………………………………………………………………………………………………………………10
3
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Requirement Document
Version 1
System Overview
System Introduction
These days many social networks are introduced around the world. Our application
is different because it not only allows users to share their past experiences but gives them
the opportunity to plan upcoming events with friends and join events of people they don’t
yet know. This brings the user out of just the digital world and into the real world. They are
encouraged to participate in activities that interest them, create lasting memories, and
make friends in their area, not just online but in person as well. There are similar
applications in this field. “Bucket List’ is a mobile and web application that helps users to
accomplish activities they find interesting. It also aids the user with event planning and
coordination with new and old friends. “What the move” is also another mobile application
that users can see the events in their area via an interactive map. Our application combines
these two applications and helps the user find fun things going on in their area and track
their progress on goals and makes planning to go out with friends a fun experience.
Required Resources
There are a few required resources needed to develop this project. Since the application is
cross platform, there are multiple hardware resource options to choose from. The first
option to run the application would be in a web browser. Accessing the application from a
web browser would work just like any other website. The next two options include running
the application on a mobile device. The two main mobile platforms being targeted are
Android and iOS. Regardless of the hardware the application is run on, the functionality of
the application will stay consistent, with every feature being available on each platform. To
achieve cross platform capability, the application will be developed using the software
framework, React Native. The main selling point of reactive native is the ability to have a
single code base be deployed across multiple platforms. Since most of the team has no
experience using React Native, we will need to spend time learning this software.
4
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Requirement Document
Version 1
System Block Diagram
Figure 1. High-level block diagram of the system
Figure 1 illustrates the overview of the high-level components in the system. Client device
requires internet connection to connect with API through three platforms: a web
application, an IOS application and an Android application. Web browsers could be Google
Chrome, Firefox, and Microsoft Edge etc. Web application should be responsive to user
action and response to user’s request. Mobile applications should run in the similar manner
as web application.
Internet connection is required for all platform to communicate with the API. Once the
application connects with API, three major functionalities will be provided: user profiles,
geo map and bucket list. Each function will have its own view or interface for user to
interact with.
In each view, user will be able to enter inputs, which will send to the API through the
internet. Once the API received the request, it will perform requested function and passing
the request to the designated destination. Finally, the output will send back through server,
over the internet, and arrive to the user.
5
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Requirement Document
Version 1
Description of each block
Figure 2. Front-end block diagram
The client device (mobile/browser) will interact with our frontend interface through React
Native which will be our primary frontend framework. This frontend component will also
host our React Native generated map that is integrated with the Google Maps API. React
Native is an open-source software framework that extends the capabilities of ReactJS to
correctly display our UI in both mobile devices and web browsers (see Figure 2).
Figure 3. Back-end block diagram
6
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Requirement Document
Version 1
The back-end JavaScript API will be used in conjunction with NodeJS and extended with
Express. This API will allow for the communication of our frontend and server-side
components (see Figure 3).
Figure 4. Server-database block diagram
The back-end components of our application will be hosted on the Temple Linux2 server
that hosts the SQLite Database. The SQLite database will store user data as well as
application data. User data includes username, previously completed events and associated
media files. Application data will include live events, event comments and event media (see
Figure 4).
Interface Between Blocks
The interface between the client and the server is Express. Express is a back-end web
application framework for sending data using the Representational State Transfer (REST)
application programming interface (API). Data from the client will be sent to the server in
JavaScript Object Notation (JSON) format. One key advantage of JSON is its readability.
Another key feature of JSON is that it can be explicitly parsed into a JavaScript Object. This
feature makes it easy to send and receive objects between the front-end client devices and
back-end server.
7
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Requirement Document
Version 1
The server will interface with the react native map node package by sending the necessary
data of events (date, time, place, etc.) to the front-end to be rendered using the component
API exposed by the package. For instance, when the user clicks on the map view in the
Bucket List application, data pertaining to certain events will be sent to the front-end,
which will be used to render a map using the map API.
The queue will interface with the server directly. The queue implementation is part of the
node server. The queue will be used to process event invitations via email and short
message service (SMS). The reason why it is decoupled in the block diagram is because it
serves a distinct purpose in the system architecture. The queue will serve one request at a
time, sending invitations to those invited to the event.
The interface between the server and the database will be through the MySQL node
package. The driver will be used to insert, access, and modify entries in the database. The
database will store all relevant information pertaining to user login information, event
information, media, and other data to make the site dynamic.
Data Flow
Data will flow originally from the SQL database. The data from the database will be sent to
the server, then passed to the react native front-end. This initial transfer of data from backend to front-end is necessary to display data to the user. From that point forward, the user
will be in control of the flow of data for the most part. For example, when the user clicks on
another user’s profile, a request will be sent to the server. The job of the server will be to
query the database for information pertaining to the requested user. Once the data is
retrieved from the database, data will flow from the server back to the front-end to display
the requested user’s information.
Another example data flow involving the SQL database is when the user enters the map
view. When this occurs, event information such as time, date, and place of the event will be
queried from the database. The data retrieved will then flow from the server to the react
native front-end. The front-end is then responsible to use this data to interface with the
react native map API. The API will be used to render react native components to the client’s
device.
Another path for data to flow is when a user invites others to an event. The user will be
able to enter either phone numbers (SMS) or email addresses. The data entered into the
invite list will be sent to the server via the REST API and be placed into a queue. The queue
will then dequeue invitee at a time, until the queue is empty. Once the queue is cleared,
8
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Requirement Document
Version 1
data can be sent back to the front-end notifying the user that the requests have been sent
successfully.
Document Overview
The Requirements Specification document defines the features and requirements
necessary for the Bucket List web and mobile application. The following sections are listed
below:
 General Requirements
 Features and Requirements
 Use Cases
General Requirements






Internet Browser (i.e. Google Chrome, Safari, Firefox etc.)
Apple Mobile Device
Android Mobile Device
IDE compatible with Apple/Android App Development
Server
Database
Features and Requirements
Geo Map
The geo map feature is an interactive user map that allows the user to navigate
through different events posted from other users. The user can also click on the map where
a modal will pop up for the user to create their own event.
Bucket List
The bucket list feature is a feed page where user posts can be seen and interacted
with. The user can select certain tags to select certain type of posts to be shown such as
“friends only” and “global”. In the bucket list feed, the user can also click icons to navigate
to their own profile or other user profiles. The bucket list feed page will be an endless
scrollable and the specific posts shown will be catered to the user tag selection.
Furthermore, the users will be able to add or remove activities from their bucket list. Upon
completion, the user can earn achievements or rewards for completing activities from their
bucket list.
9
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Requirement Document
Version 1
Event
The event feature will be accessed through the geo map view where users can create
or click on already existing events to view information about them. Events will describe a
name, description, time, and date. When users create events, they can select a range of time
and dates if the event is longer than just a day. Users will be able to interact with events on
the geo map by using reactions and comments. Events listed on the geo map will be able to
be filtered with tags based on user specifications. For example, users can select only the
museum tag to show museum associated events. Past events that users attended will be
shown on profile pages as well as rewards for completing events off their bucket list.
Profile
The profile feature will offer users a customizable experience where they can
showcase events that they have attended or experienced by creating posts. Profiles are
associated with users creating an account and logging in. In these posts, users can add
images, videos, and a description of what they experienced. Users can make their profile
public or private based on their user settings. Users can view their friends’ profiles or
public profiles to view a feed of all that users’ posts. Tags can be applied to the profile feed
to filter specific types of posts.
Use-Case Descriptions
Use Case #1:
Kelly, a new user, is seeking an application that enables her to establish her bucket
list.
1. Kelly downloads the application.
2. Kelly opens the app and creates an account
3. Kelly creates a profile from the Home Page. She uploads a profile image, her name,
zip code, birthday, email.
4. Kelly selects several key words from a drop-down list of “Bucket List” items in the
Home Page.
Use Case #2:
10
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Requirement Document
Version 1
Megan shared her experience.
1. Megan went to the museum with her friends and she wants to share her photos and
experience. Megan opens the app and navigates to her profile. She clicks on “add
memory”.
2. The app then prompts her to choose photos from her camera roll to upload. She
then clicks “next” which directs her to add a caption to her set of photos. Here, she
also chooses tags that go along with her activity; such as: Museum. She can also add
the location of her activity.
3. She then clicks “post” which uploads the post for others to see.
Use Case #3:
Holly is a student looking for events around her through app.
1. Holly downloads the application.
2. Holly uses app to click the “Map” to connect instance server which she can search for
events near her by entering her location into the search bar.
3. The “map” returns the locations where surrounding her ,and once she finds an event she
is interested in, she can view more details about it, including the time, location, and
cost.
4. She can also read reviews from other users who have attended the event.
5.She can add the event to the “bucket list” once she decide what events she will attend.
Use Case #4:
Cixin is creating a profile.
1. Cixin downloads the application.
2. He then, from the main page, clicks the create a profile button from the drop-down
menu.
3. He fills out the necessary information to create a profile (name, email, password,
DOB)
4. He then picks items from the ‘Bucket List’ drop down menu, to indicate his interests.
11
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Requirement Document
Version 1
5. He then adds a profile picture from his phones library.
6. He lastly clicks the “Create Profile” button at the bottom of the form and waits for an
email to be sent confirming his profiles email address.
Use Case #5:
Cixin is creating an Event.
1. Cixin is signed in and on the home page.
2. He is interested in creating a new event for him and his friends to attend.
3. He clicks the + button at the bottom left corner which when hovered over, says “Create
an Event?”
4. When he clicks on it a new screen appears.
5. Cixin is then prompted to give the event a name, which he labels “Rock climbing at
Tufas Bolder Lounge”.
6. The event requires the user to input the address, date and time of Event.
7. It is also required to tag this event with a specific item from the same list of “Bucket
List” items. He chooses the tag #RockClimbing.
8. He then clicks the “Create Event” button at the bottom of the form.
9. A new page thanking Cixin for creating an event appears.
10. When he goes back to his profile page, the event appears in his “Upcoming Events”
section.
11. Next to it is a + button which others can use to indicate they will be attending the Event.
Use Case #6:
Lea intends to attend an event organized by her friend.
1. Lea accesses her account.
2. She clicks the “Friend List” and goes through her friends’ accounts.
3. She notices Cixin’s event “Rock climbing at Tufas Bolder Lounge” listed under his
“Upcoming Events” section.
12
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Requirement Document
Version 1
4. She clicks the “+” button, and her name added to the list of attendees for the event.
5. The event is also reflected under Lea’s “Upcoming Events” section in her account.
13
Project Proposal
Bucket List
Spring 2023
Haein Yu, Karen J Kraft, Dennis Liang, Benjamin Charles Scuron, Curtis Lam, Jianlin
Deng, Lauren Kan, John A Karas, Ashley Kolb Malaviya
1
2
Table of Contents:
Project Abstract
3
High Level Requirement
3
Conceptual Design
3
Background
4
Required Resources
4
System Block Diagram
6
User Stories: (profile, list, map)
7
Stories 1: (Profile)
7
Stories 2: (List)
8
Stories 3: (Map page)
9
Features and Requirements
9
Geomap View
9
List View
10
Event
10
Accounts/Profiles
10
2
3
Project Abstract
This project proposes a mobile/web application that provides an event organizer with a
social media aspect to make the experience more enjoyable. This application offers two major
functionalities: a geomap and list view. The geomap view will be an interactive map that
showcases events users can click on and read information about. Users will also be able to click
on a point in the map to create a new event. In the list view, users will be shown a feed they can
filter with various tags to show different types of events. Users will also be able to interact with
friends in the list view by clicking on each other’s profiles to view events their friends have
participated in or are going to in the future.
High Level Requirement
Following high-level requirements would be provided by this application:
1.
Users can navigate to the map and see different events provided by other users.
2.
Users can post a picture or video from his/her event.
3.
Users can see the list of their own posted events.
4.
Users can invite their friends to one event.
5.
Users can like or comment on one event shared in the application.
Conceptual Design
This application will be run on mobile devices (Android and IOS) as well as being a web
application. The application would be implemented using React Native and the backend would be
implemented by JavaScript. One of the main features of this application is map navigation which
will be implemented using react native maps.
3
4
Background
These days many social networks are introduced around the world. Our application is different
because it not only allows users to share their past experiences but gives them the opportunity to
plan upcoming events with friends and join events of people they don’t yet know. This brings the
user out of just the digital world and into the real world. They are encouraged to participate in
activities that interest them, create lasting memories and make friends in their area, not just online
but in person as well. There are similar applications in this field. “Bucket List’ is a mobile and web
application that helps users to accomplish activities they find interesting. It also aids the user with
event planning and coordination with new and old friends. “What the move” is also another mobile
application that users can see the events in their area via an interactive map. Our application
combines these two applications and helps the user find fun things going on in their area and track
their progress on goals and makes planning to go out with friends a fun experience.
Required Resources
There are a few required resources needed to develop this project. Since the application is cross platform,
there are multiple hardware resource options to choose from. The first option to run the application would
be in a web browser. Accessing the application from a web browser would work just like any other
website. The next two options include running the application on a mobile device. The two main mobile
platforms being targeted are Android and iOS. Regardless of the hardware the application is run on, the
functionality of the application will stay consistent, with every feature being available on each platform.
To achieve cross platform capability, the application will be developed using the software framework,
React Native. The main selling point of reactive native is the ability to have a single code base be
deployed across multiple platforms. Since I have no experience using React Native, learning this software
can be included in background information that I will need to gather.
4
5
The next software resource that will be used is Node.js written in TypeScript. Node.js is a JavaScript
runtime environment that enables us to run a fast, scalable, server-side backend. TypeScript is a strongly
typed programming language that builds on JavaScript. Features in TypeScript that are not available in
JavaScript are: namespaces, interfaces, null checking, generics, and access modifiers. Since TypeScript is
a strongly typed language, type errors are caught at compile time, which makes debugging much simpler.
The last two resources that are needed to develop this project are a server and database. The server will be
used to run our Node.js code and handle incoming requests from users. The database will be used to store
user information that can be retrieved dynamically upon request. Queries will be sent to the database to
retrieve information that will be sent to the front-end and displayed to the user.
5
6
System Block Diagram
6
7
User Stories: (profile, list, map)
Stories 1: (Profile)
7
8
Stories 2: (List)
Megan went to the museum with her friends, and she wants to share her photos and experience. Megan
opens the app and navigates to her profile. She clicks on “add memory”. The app then prompts her to
choose photos from her camera roll to upload. She then clicks “next” which directs her to add a caption to
her set of photos. Here, she also chooses tags that go along with her activity; such as: Museum. She can
also add the location of her activity. She then clicks “post” which uploads the post for others to see.
8
9
Stories 3: (Map page)
Holly is a junior student at Temple University, majoring in finance, and is going to break up for summer
vacation next month, so to enrich her vacation, she wants to check what events are surrounding her and
suitable for her. Therefore, she downloaded an app and established her profile, list, etc., on which she
could click on the map to check the upcoming event near her, and even she can click it to check the
description of the event she is interested in (such as the start time, the number of participants, etc.). Also,
she can add the event to the bucket list.
Features and Requirements
Geomap View
Requirements:
9
10
● User shall be able to view the geomap and scroll through the map freely to look at
different events.
● User shall be able to toggle off and on of Geomap View which would send them
to the List View
● User shall be able to zoom in and zoom out of geomap view
List View
Requirements:
● User shall be able to toggle off and on of List View which would send them to the
Geomap View.
● User shall be able to scroll through the list feed and view other users’ posts.
Event
Requirements:
● User shall be able to click on the geomap to start creating a new event.
● User shall be able to scroll through the geomap to view other events.
● User shall be able to click each individual event to pull up information about that
specific event.
● User shall be able to enable and disable filters/tags to be able to view friends’
events, global events, current events, previous events, and their own events.
● User shall be able to delete an event they created.
● User shall be able to comment on an event or view comments on an event they
select on the geomap.
Accounts/Profiles
Requirements:
● User shall be able to sign-up with an email and create an account.
● User shall be able to upload images and videos of events they have experienced.
● User shall be able to click and view other users’ profiles and scroll through their
feed that displays current and past events users have experienced.
● User shall be able to filter with tags on another users’ profile to be able to sort
events and view specific types of events on another users’ profile feed.
10
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Software Development Plan
Version 1
Software Development Plan
Bucket List
Haein Yu, Karen J Kraft, Dennis Liang, Benjamin Charles Scuron, Curtis
LAM, Jianlin Deng, Lauren Kan, John A Karas, Ashley Kolb Malaviya
1
Software Development Plan
Version 1
CIS 4398 PROJECTS IN COMPUTER SCIENCE
REVISION HISTORY
Revision #
Author
Revision Date
Comments
0.1
Ashley Malaviya
2/6/2023
Added task and user
Story as well as Started
System Requirements
0.2
Jianlin Deng
2/8/2023
Add document overview
0.3
Curtis Lam
2/8/2023
Added system block
diagram
0.4
Jianlin Deng
2/9/2023
1.edit system overview
2. copied general
requirement and Features
and requirement from
requirement doc
3.Add Testing Phase (TP)
4.Add Version control
0.5
Karen Kraft
2/10/2023
Created chart for frontend
tasks
0.6
Haein Yu
2/11/2023
Added Milestone
0.7
Ben Scuron
2/11/2023
Added development
environment
0.8
Curtis Lam
2/12/2023
Added Task plan planning and elaboration
phrase
2
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Software Development Plan
Version 1
Table of Contents
System Overview …………………………………………………………………………………………………………………………….. 4
System Block Diagram ……………………………………………………………………………………………………………………. 4
Features and Requirements ………………………………………………………………………………………………………….. 5
Activities – Lauren, Ashley …………………………………………………………………………………………………………….. 6
Requirements Gathering top-level design, detailed design, implementation, integration,
test, bug fixing, and optimization …………………………………………………………………………………………………. 6
Tasks …………………………………………………………………………………………………………………………………………………. 7
Planning and Elaboration Phase …………………………………………………………………………………………………………………………………..7
Implementation phase ……………………………………………………………………………………………………………………………………………………8
Testing Phrase ………………………………………………………………………………………………………………………………………………………………….9
Schedule – Dennis ……………………………………………………………………………………………………………………………. 9
Milestones – Haein…………………………………………………………………………………………………………………………… 9
Development Environment ………………………………………………………………………………………………………….10
Version Control ………………………………………………………………………………………………………………………………10
3
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Software Development Plan
Version 1
System Overview
Our application is designed to enhance the overall experience of connecting with others and
finding new and exciting activities. In addition to sharing past experiences, users have the ability
to plan and attend events with both friends and individuals they have yet to meet. This not only
encourages them to participate in activities that align with their interests, but it also provides a
unique platform for creating lasting memories and building meaningful relationships.
Also, our application combines the best features of similar applications such as “Bucket List”
and “What’s the Move.” However, we take it a step further by offering users a comprehensive
experience that integrates event discovery, goal tracking, and fun, interactive planning. With the
ability to see events happening in their area via an interactive map, users can easily find new and
exciting things to do. And with the added ability to track their progress towards their goals, they
can stay motivated and on track.
In essence, our application combines these two applications and helps the user find fun
things going on in their area and track their progress on goals and makes planning to go out
with friends a fun experience.
System Block Diagram
Figure 1. System Block Diagram
4
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Software Development Plan
Version 1
Features and Requirements
Geo Map
The geo map feature in the app is designed to provide an interactive and engaging experience for
the users. It enables them to navigate through various events posted by other users. By clicking
on different markers on the map, users can view the details of the events, such as the name,
description, date and time. The users can also create their own events on the map by clicking on
an empty area and providing the required details through a pop-up modal.
Bucket List
The bucket list feature is a central feed page where all the user posts can be viewed and
interacted with. The users can filter the posts by selecting specific tags, such as “friends only” or
“global”. In the feed, users can also click on icons to navigate to their own profile or to other user
profiles. The bucket list feed is designed to be an endless scrollable page and the specific posts
displayed will be based on the user’s tag selection. Additionally, users will be able to add or
remove activities from their bucket list, and upon completion, they will receive rewards or
achievements.
Event
The event feature is accessed through the geo map view and enables users to create or view
existing events. When creating events, users can provide a name, description, date and time, and
can select a range of dates if the event is longer than just one day. Events are designed to be
interactive, allowing users to react and comment on them. The events listed on the map can be
filtered using different tags, such as “museum”, to only show events associated with museums.
Past events that users have attended will be displayed on their profile pages, along with rewards
for completing events from their bucket list.
Profile
The profile feature provides a personalized experience for the users, allowing them to showcase
events they have attended or experienced. This feature is associated with the user’s account and
requires them to log in. In their posts, users can add images, videos, and a description of their
experience. They can choose to make their profile public or private based on their preferences.
Users can view their friends’ profiles or public profiles to see a feed of all the posts made by that
user. The posts in the profile feed can also be filtered using tags.
5
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Software Development Plan
Version 1
Activities – Lauren, Ashley
Requirements Gathering
top-level design, detailed design, implementation, integration, test, bug fixing, and
optimization
The requirement gathering process is a critical aspect of developing a web-based application,
especially when it comes to the bucket list feature. In the absence of stakeholders, the
development team must gather all the requirements by themselves.
1. Identifying the needs: To start with, the development team will understand what the
users expect from the bucket list feature. We can conduct surveys, focus groups, or
conduct user research to identify the needs and expectations of the users.
2. Analyzing the data: After collecting the data, the team will analyze the information to
identify the most important requirements for the users. This will help prioritize the
development tasks and ensure that the most important features are delivered first.
3. Defining the functional requirements: Based on the user research and data analysis, the
development team will define the functional requirements for the bucket list feature. This
includes the types of posts that the users will be able to add, how the posts will be
organized, and how users can interact with the posts.
4. Defining the non-functional requirements: Non-functional requirements are the
characteristics that the system must have, such as usability, performance, and security.
The development team will identify the non-functional requirements of the bucket list
feature and ensure that they are met.
5. Creating wireframes and prototypes: Wireframes and prototypes are used to visualize
the bucket list feature and ensure that it meets the users’ needs. The development team
will create a simple prototype to get feedback from users and make necessary changes.
Testing, Bug Fixing, and Optimization
Researching for Front-End
-Find out how to create a theme using React-Native-Paper
-Who will be designing each page
6
Software Development Plan
Version 1
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Researching for Back-End
-Make it so we have all dependencies downloaded from Git-Hub
-How to grab data entered from user
Researching for Server
-How to connect to server
-How to grab data entered from front end into the SQL Table
Tasks
Planning and Elaboration Phase
#
Task Name
Estimated Effort
Assignee(s)
1
Brainstorming
Everyone x 1 week
All
2
User Story Development
4p x 3 days
Ashley, Haein,
Karen, Jianlin
Everyone
3
Requirement Document
Everyone x 1 week
All
Everyone
4
Software Development Plan
Everyone x 1 week
All
Everyone
5
Technical Research – Frontend
Technical Research – Backend
Technical Research –
Database
Front-end design 1st draft
3p x 1 week
Ashley, Haein, Everyone
Karen
Everyone
Ben, Dennis,
John
Lauren, Curtis, Everyone
Jianlin
Hello-World-Demo Front-end
Setup
Hello-World-Demo Back-end
setup
IDE Setup and Technical
Troubleshooting
1p
Ben
Everyone
1p
Ben
Everyone
Everyone x 1week
All
Everyone
6
7
8
9
10
11
3p x 1 week
3p x 1 week
4p x 1 week
Follow
Up
Everyone
Everyone
12
7
Software Development Plan
Version 1
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Implementation phase
Front-End:
#
1
Task Name
Estimated Time
2 hours
2
Research Material
UI API and other
APIs
create profile page
3
add event page
5 hours
4
List view page
5 hours
5
Drop down for
menu page
3 hours
6
7
Map view page
interface with
backend
5 hours
4 hours
8
Create a theme
using react-nativepaper
14 hours
Assignee
5 hours
User Story
Create multiple
inputs for
information.
Create submit
page
Create inputs for
date and tags
Create container
to store created
events
Create drop
down with link to
each other page,
create a profile
Inputs need to
be integrated
with SQL table
Create a theme
used for all
app/web
components
Back-End:
#
1
Task Name
Set up tables on
server
Estimated Time
3 hours
2
Set up RESTful
Express API for
Events
4 hours
3
Set up RESTful
Express API for
Profiles
4 hours
4
Set up RESTful
Express API for
Posts
4 hours
Assignee
User Story
Data can be
retrieved and
stored.
Events can be
posted, updated,
retrieved, and
deleted.
Profiles can be
posted, updated,
retrieved, and
deleted.
Posts can be
posted, updated,
8
Software Development Plan
Version 1
CIS 4398 PROJECTS IN COMPUTER SCIENCE
retrieved, and
deleted.
5
6
7
Testing Phrase
Database
#
1
Task Name
Unit Testing
Estimated Time
4 hours
2
3
Integration Testing
System Testing
4 hours
3 hours
4
User Acceptance
Test
2-3 hours
Assignee
User Story
Integration
Testing
System Testing
User Acceptance
Test
Everyone
indicate user
acceptance and
certify that it
meets the user
requirements
Schedule – Dennis
Milestones – Haein
Deliverables
Date
Component Base Functionality Demo (Milestone 1): Ensure that the
components have been designed to meet the functional requirements and
have the desired look and feel. Ensure that the coding and implementation
of the components for each platform (web, IOS, and Android) have been
initiated and are ready for demonstration.
03/20/2023
Component Full Functionality Demo (Milestone 2): Ensure that the web,
IOS, and Android platforms are functioning optimally.
04/03/2023
Integrated System Demo (Milestone 3): Make sure that all aspects of the
system are tested, and any necessary troubleshooting is performed prior to
the demo.
04/17/2023
Final Demo
05/01/2023
9
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Software Development Plan
Version 1
Development Environment
Required Hardware:
– Temple University’s Linux server running Ubuntu 14.04.6 LTS
Required Software:
– React Native: Front end UI framework
– React Native Material: Modular and customizable Material Design UI components for
React Native
– Node.js: back-end JavaScript runtime environment
– Typescript: programming language used in front end and backend
– Node Package Manager (npm): package manager for Node.js
– Yarn: package manager for Node.js
– MySQL: relational database management system
– Express.js: back end web application framework for building RESTful APIs with Node.js
– Github Pages: platform to host web application
Selected IDE:
– Visual Studio Code (Visual Studio Code)
Compiler:
– TypeScript Compiler: compiler to transpile TypeScript into JavaScript
Test Tools:
– Jest: JavaScript testing framework
– Babel: Jest dependency for TypeScript testing
Build Tools:
– Expo: Framework to build react native applications
Version Control
The version control for a web-based bucket list application depends on the development
team’s preference and the size of the project. However, one common version control
system used in web development is Git. Git is a distributed version control system that
allows developers to manage and keep track of code changes in a project. The
development team can use a Git repository hosted on a platform like GitHub to
collaborate on the code and keep track of changes made by each team member.
10
CIS 4398 PROJECTS IN COMPUTER SCIENCE
Software Development Plan
Version 1
Additionally, Git allows developers to create branches for different features and merge
them back into the main codebase once they have been tested and validated.
Having a version control system in place helps ensure that code changes are
organized, tracked, and easily reversible in case of bugs or errors. It also enables the
development team to collaborate effectively and reduces the risk of data loss or
corruption.
11

Purchase answer to see full
attachment

error: Content is protected !!