# PROJECT PLAN
+ **Project Name: NSF Award Search Application**
+ **Team Members: Ben Ovsiew, Nick Schuler, Charlie Boyle**
+ **Date: 09/21/2020**
# 1. Introduction
This introduction provides the project overview, helpful terms including definitions and acronyms, referneces, and an overview of this document.
## 1.1 Project Overview
The NSF publishes yearly data of awards won between 2010 - 2020. For various purposes, users might want to search through this. Currently this data is in XML format, which is not very readable or searchable. Our project aims to put the data into a SQL database in a clean and organized way. Users will be able to access this data, and search through it with a variety of criteria.
## 1.2 Definitions, Acronyms, and Abbreviations
- NSF: National Science Foundation
- Award: An "award" given by the NSF to a person/group
- XML: Extensible Markup Language
-
## 1.3 References
- https://www.nsf.gov/awardsearch/download.jsp
## 1.4 Overview of Document
This document addresses the following parts for the NSF Award Database. First the "Project Organization" section describes our process model, organizational structure and our responsibilities as well as project stakeholders, plan for code reviews, and change control plan for implementing changes.
# 2. Project Organization
The Project Organization section contains information regarding the process model organizational structure and responsibilities, stakeholders, code reviews and inspection, and change control plan.
## 2.1 Process Model

## 2.2 Organizational Structure and Responsibilities
The following sections contain the organizational structure and the responsibilities of the development team.
**2.2.1 Organizational Structure**
The following diagram is the organizational structure for the development team.

**2.2.2 Responsibilities**
- **Ben Ovsiew** - Front End UI, HTML5 coding
- **Nick Schuler** - Database co-creation, SQL Querying, PHP
- **Charlie Boyle** - Database co-creation, creating code to create downloadable version of award
## 2.3 Stakeholders
- National Science Foundation executives and shareholders
- Natural Science Foundation Faculty and Staff
- Individuals who have recieved awards from the NSF
## 2.4 Code Reviews and Inspections;
- Review code in small segments at a time to ensure quality and consistency.
- Document all functions and any statements that may be unclear.
- Group member will review each others code, not just their own.
## 2.5 Change Control Plan
Minor changed will be proposed to all group members and implementation will be discussed. Major changed must be proposed to and decided on by all stakeholders. Software changes that are approved will be committed through github and reviewed closely. Changes that are not approved will either be denied or alterations will be proposed.

# 3. Team-Specific Aspects
The Team-Specific Aspects section includes management objectives and priorities, team name, possible meeting times, and range of skills and experience.
## 3.1 Management Objectives and Priorities
- Addressing issues brought to our attention
- Good communication between the team
- Setting of goals and assigning tasks to group members
- Keeping on time and preparing content well before due dates.
## 3.2 Team Name
project-team_20fa_boyle
## 3.3 Possible Meeting Times
Varying weeknights at 5pm depending on outside of school/work schedules
## 3.4 Team's Range of Skills and Experience
- **Ben Ovsiew** has expertise with front-end web design, and PHP code
- **Nick Schuler** has expertise with Organizational skills, SQL Databases, database querying, PHP, and Java
- **Charlie Boyle** has expertise with Database Design, UI design and implementation, Algorithm analysis
# 4. Preliminary Sketch of Project Requirements
This section addresses the functional requirements, data requirements, constraints, assumptions and dependencies, guidelines, and the user view of product use.
## 4.1 Overview of Functional Requirements
Functional Requirements:
- Users shall be able to search for NSF awards through an HTML/PHP webpage.
- The users can search for awards by the name of principal investigator (PI), the award number, or the name of institution listed in chronological or reverse chronological order as specified by user.
- User will be able to download the award in a simple to read file.
## 4.2 Overview of Data Requirements
This program requires the NSF award data set which we will turn into a SQL database. This database will be accesible through our website.
## 4.3 General Constraints, Assumptions, Dependencies, Guidelines
The following sections include the constraints, assumptions, dependencies, and guidelines.
**4.3.1 Constraints**
- A browser is required to use the project
- The SQL database should be structured in a managable way
**4.3.2 Assumptions, Dependencies, and Guidelines**
- The user must have a browser and know the criteria they want to search from the database
## 4.4 User View of Product Use
Users will interact with the project through an HTML5 web front-end. They will select criteria they want to filter or search the database by and the backend will query the database behind the scenes. It will return the results to the frontend which will display them to the user.
Users can
- Query the database based on criteria such as
- The name of Principal Investigator (PI)
- The award number
- The name of Institution
- Download the award in an easy to read file after they have found the award by querying the database using our UI