Skip to content

Latest commit

 

History

History
162 lines (161 loc) · 5.02 KB

README.md

File metadata and controls

162 lines (161 loc) · 5.02 KB

National Park Geek Capstone Project



Requirements:

  1. Home Page
    • View an alphabetical list of all parks
      • Show: Picture, Name, Description
    • Select a park and go to Park Detail Page

  2. Detail Page
    • Show ALL data about the selected park
    • 5-Day Expected Weather Forecast
      • Show: Image & High/Low temperatures with F or C
      • For Today, include a "recommendation" based on the forecast
        • Snow: Pack snowshoes
        • Rain: Pack rain gear and wear waterproof shoes
        • Thunderstorms: Seek shelter and avoid hiking on exposed ridges
        • Sunny: Pack sunblock
      • For Today, include a "recommendation" based on temperature
        • Temp > 75: Bring an extra gallon of water
        • ABS Temp range > 20: Wear breathable layers
        • Temp < 20: Beware of the dangers of exposure to frigid temperatures
      • Select Fahrenheit or Celsius
        • Must be remembered in SESSION

  3. Survey Page
    • To vote on a park
      • Select favorite park from a drop-down-menu of all park names
      • Enter email address & residence state
      • Select activity level from a drop-down-menu
        • Choices: Inactive, Sedentary, Active, Extremely Active
      • ALL fields are REQUIRED and must be VALIDATED
      • Click Submit and be directed to the Favorite Parks Page

  4. Favorite Parks Page
    • List parks in descending order of the number of votes they have
    • Ties in alphabetical order
    • Show: Name & count
    • Do not include parks with 0 votes

Park Codes:

CVNP - Cuyahoga Valley National Park
ENP - Everglades National Park
GNP - Glacier National Park
GCNP - Grand Canyon National Park
GTNP - Grand Teton National Park
GSMNP - Great Smoky Mountains National Park
MRNP - Mount Rainier National Park
RMNP - Rocky Mountain National Park
YNP - Yellowstone National Park
YNP2 - Yosemite National Park

Models:

1. ParkForList:

  • ParkCode - varchar(10) - string
  • ParkName - varchar(200) - string
  • ParkDescription - varchar(max) - string

2. ParkDetails:

  • ParkCode - varchar(10) - string
  • ParkName - varchar(200) - string
  • ParkState - varchar(30) - string
  • Acreage - int
  • ElevationInFeet - int
  • MilesOfTrail - real - double
  • NumberOfCampsites - int
  • Climate - varchar(100) - string
  • YearFounded - int
  • AnnualVisitorCount - int
  • InspirationalQuote - varchar(max) - string
  • InspirationalQuoteSource - varchar(200) - string
  • ParkDescription - varchar(max) - string
  • EntryFeeInDollars - int (with $) - decimal (with $)
  • NumberOfAnimalSpecies - int
  • FiveDayForecast - Weather
    • fiveDayForecastValue - int
    • lowTempInFahrenheit - int
    • lowTempInCelsius - int
    • highTempInFahrenheit - int
    • highTempInCelsius - int
    • forecast - varchar(100) - string
  • SurveyCount - int

3. Weather:

  • ParkCode - varchar(10) - string
  • FiveDayForecastValue - int
    • 1 = Today
    • 2 = Tomorrow
    • 3 = The Next Day
    • 4 = The Day after That
    • 5 = The Next Day after That
  • LowTempInFahrenheit - int
  • LowTempInCelsius - int
  • HighTempInFahrenheit - int
  • HighTempInCelsius - int
  • Forecast - varchar(100) - string.ToLower()

4. Survey:

All fields are required and need validation

  • FavoritePark - varchar(10) - string (use parkCode, but show parkName)
  • EmailAddress - varchar(100) - string
  • ResidenceState - varchar(30) - string
  • ActivityLevel - varchar(100) - string

5. Favorite Parks:

  • ParkCode - varchar(10) - string
  • ParkName - varchar(200) - string
  • SurveyCount - int

DAO Interfaces & DAOs:

1. IParkDAO

  • GetAllParks List
  • GetParkDetail Park
  • GetAllParkCodesAndNames List
  • GetFavoriteParks List

2. ISurveyDAO

  • AddSurvey bool

3. ParkDAO

  • GetAllParks List
  • GetParkDetail Park
  • GetAllParkCodesAndNames List
  • GetFavoriteParks List

4. SurveyDAO

  • AddSurvey bool

Controllers:

1. HomeController

Controller Actions:

  • Home [HtmlGet]
  • ParkDetail [HtmlGet]
  • Survey [HtmlGet]
  • Survey [HtmlPost]
  • FavoriteParks [HtmlGet]

Views:

1. Home

  • Index
  • Detail
  • Survey
  • FavoriteParks

Steps:

  1. Add DAL folder
  2. Add Content folder
  3. Add img folder to Content folder
  4. Add images to img folder
  5. Add Models.cs files
  6. Add DAO Interfaces.cs files
  7. Add DAO.cs files
  8. Create kernel binding in NinjectWebCommon file
  9. Add connectionString to Web.config
  10. Add Model details
  11. Add controller constructor
  12. Add Controller Actions
  13. Add Views
  14. Add .css file for each View
  15. Make sure there are _Layout.cshtml and _ViewStart.cshtml files
  16. Add DAO Interfaces details
  17. Add DAO details
  18. Add Controller Action details

    Alyson Wood