Skip to content

Container of National Park Service ecosystem and Django webapp for Ada C11 Capstone

Notifications You must be signed in to change notification settings

evelynnkaplan/nps_django

Repository files navigation

Digital Ecosystem for National Park Service Annual Passholder Program

Capstone Project - Evelynn Kaplan - Ada Developers' Academy

Table of Contents

Introduction and Technologies

The problem:

The National Park Service of the United States has no database or other digital system storing records of annual passes sold to park visitors. Park rangers cannot look up visitors' annual passes at the gate, so passholders must have a physical pass to be admitted without paying an entrance fee.

The solution:

A three-part digital ecosystem:

  • Database, custom REST API, interfaces for park rangers and passholders

    • Deployed webapp
    • Built with Django 2.2, Python 3.7 and PostgreSQL 11.3
    • Stored in this repository
  • Data visualization dashboard

  • Mobile app with digital annual pass that can be accessed offline

Django webapp

Use cases

  • Customized Django admin interface for park rangers enables park rangers to search for passholders by name and check them in at park gates. Park rangers can add new passholders to the database after selling a new pass. See example in slide deck.
  • Interface for passholders enables passholders who bought their passes at a point-of-sale other than a national park gate (for example, through REI) to register their pass information for quicker look-up at park gates.

Installation Instructions

  1. If this is your first time using Django, follow Django's quick install guide.
  2. If this is your first time using PostgreSQL, download PostgreSQL.
  3. Clone this repository and cd nps_django
  4. pip install -r requirements.txt
  5. python3 manage.py runserver
  6. Visit http://127.0.0.1:8000/ or whatever localhost your server is running in.

Data visualization dashboard

Use case

  • This data visualization dashboard allows the National Park Service to easily understand passholder data. Now that the National Park Service has a database with information about passholders and pass usage, the National Park Service can use that data to make better decisions about its annual pass program, and to more effectively market to potential passholders. Note: the data shown is based on fake seed data and does not represent real statistics.

Installation Instructions

  1. Clone this repository and cd nps_dashboard
  2. pip install -r requirements.txt
  3. python3 app.py
  4. Visit http://127.0.0.1:8050/ or whatever localhost your server is running in.

React Native app

Use cases

  • This cross-platform mobile app allows users to access their annual pass and pass visit history offline. Passholders can access a scannable barcode of their annual pass that park rangers with scanning devices can scan to find the user in the database. The barcode corresponds to the passholder's pass ID.
  • New users can get access to their annual pass and visit history if they create an account using the email address tied to their annual pass.
  • Users can access their data offline if they are already logged in to the app with the email address tied to their annual pass.
  • Video showing user flow of a logged-in user, including offline mode

Installation Instructions

  1. If this is your first time using Node.js and npm, download Node.js.
  2. Install the Expo command line utility with npm install -g expo-cli
  3. Clone the repository and cd nps_app
  4. npm install
  5. Download the Expo client for the cell phone you want to test the app on.
  6. npm start -- this will open up your localhost. If it doesn't open, navigate to whatever localhost your server is running in.
  7. Use your cell phone to scan the QR code that appears in the Expo metro bundler and this will open the app on your phone's Expo client.

Releases

No releases published

Packages

No packages published