Skip to content

cyschneck/Birdbox

Repository files navigation

CSCI-3308-Group-Project

Original Repo

Note: Needs to run apache server to see results

image image

Steps to run on Apache HTTP Server

  1. sudo apt-get install mysql-server
  2. Move to the project directory e.g. ..../CSCI-3308-Group-Project/ in the terminal
  3. cd csv_database
  4. sudo mysql -u root -p
  • CREATE DATABASE Birdbox;
  • use Birdbox;
  • source Birdbox_Database_Creation.sql
  1. quit
  2. cd ..
  3. sudo apt-get install php7.0-cli
  4. sudo apt-get install php-mysql
  5. sudo apt-get install apache2
  6. sudo apt-get install libapache2-mod-php
  7. sudo cp -r github_pages/* /var/www/html/
  8. sudo services apache2 restart
  9. Open browser and go to "localhost"

Team Name

Nirdy

Members

Anthony Hauger, Rachel Pabelico, Will Harris, Cora Schneck, Joey Christee, Scott Young

Project Description

Project Name: Birdbox (or, BRDbox - Bird Registration Database box)

This application will provide users with access to a database of birds to assist in identification. The birds will be filtered and ranked based on user selections of set select criteria. The database will include information about not only the bird's name, but size (including length) as well as colors and other notable features. The user will be prompted for these selection to help to narrow down the correct bird. The user will first be prompted to choose from array of sizes (xsmall, small, average, medium, large, xlarge). Then, choose from a selection of colors as well as any other notable features like long legs or necks. Finally, after all this information is collected from user inputs the database will use this information to filter through all possible choices. Finally, after sorting and ranking possible choices, the most likely candidate bird species is displayed for the user, along with around a dozen alternate (but similar) choices. This display will include some basic information about the bird, like life span or egg color and behavior along with a picture to identify. In addition, the database will include information about easily confused pairs (like crows and ravens) to help the user to distinguish easily confused birds. Also, with the opportunity to expand the database, there will be an option for a form that users can fill out for curated submissions (based on the moderator's discretion). This will include the ability to pin a user's location for identification to count and collect sightings.

description_readme

Example UI for selection options

website_readme

Vision Statement

To provide competitive user-centered access to avian knowledge

Motivation

As it stands, the most traditional method to identify birds is bulky 800+ page paper field guides. This can be very difficult for an inexperienced user to encounter when most users just want to identify a bird they see on a trial or out their window. To add to the difficulties, most guides do not have a quick and accessible way to find what the user is looking for. Birds are everywhere, but for the many budding ornithologists that may not always find a clear way to translate what one may be looking at into terms defined in a field guide.

Risks

  1. Choosing the best traits to characterize birds with

Needs to be unique enough for the database to properly filter

  1. Choosing an appropriate scale for the project

There are approximately 10,000 species of birds

  1. Not having an effective and user-friendly user interface

Risk Mitigation Plan

  1. Keep functionality small and build if time permits

Start locally and add to regionally

Keep search parameters simple

Add parameters or additional information for each species as time allows

  1. The user entry system is a high priority

Lots of user testing for each stage

  1. Contact experts to understand what kind of identifiers they user

Version Control

Github

Repository: github.com/Xuis/CSCI-3308-Group-Project

Users: a-hauger, cschneck, Xuis, jocr5685, rapa5960, tontolon22

Software Development Methodology

Agile will be the most useful for this project. In particular, with bi-weekly milestones to meet this will allow for quick turn over between each stage. In addition, this will help to ensure that there is enough time to have user input and user testing. There are six members in this group and for each part of the project we will be implementing pair programming. This way for any part of the project there will be at least two people that know what is happening in the code. This will ensure that there will be no unexpected delays if anyone is sick or has other unexpected obligations.

Collaboration Tools

Slack: csci-3308.slack.com

Google docs/drive

Trello

Gmail and Skype (as needed)

Milestone 2

Project Management and Tools

Milestone 3

Database Tools

Milestone 4

Market Analysis

birdbox_market_infograph

Milestone 5

Software Development Methodology in Practice with Videos

Milestone 6

Final Presentation image image image image image image

Milestone 7

Project Report