Coder Social home page Coder Social logo

rescuecircle's Introduction

Hi there ๐Ÿ‘‹

rescuecircle's People

Contributors

evanhsu avatar

Watchers

 avatar  avatar

rescuecircle's Issues

Add password reset feature

All Users must be able to set their own password via /accounts/1/edit
Crew admins must be able to reset passwords for Users on the same Crew.
Global admins must be able to reset passwords for any User.

Add user-defined response radius

For short haul helicopters, add a "Response radius" form field. This will determine the size of the circle that's drawn on the map.

Add token authentication capability to allow third-party apps/sites to submit resource status updates

Separate the functionality of this site into 2 modules:

  1. A module that lives on the EGP server and has direct access to the EGP database for reading/writing data. This module would provide a REST API and implement a token-auth system to allow third-party apps/sites to submit resource status updates.
  2. A front-end module that provides the web-based data-entry form. This module would be issued an API key and would rely on the 1st module (above) for database interaction. This module could be hosted on any server, internal or external, but would require a secure connection (TLS) to protect the API key.

Add error handling to all Controllers

Controllers do not currently handle exceptions very well, if at all.
For example, Controller actions that must populate a Model instance from the database will simply fail if the Model ID isn't found, or if there's a database connection issue. The user will see a generic HTTP error page.

Fix this.

Move popup content to its own database field

On the map view, each feature will display a popup when clicked on. This popup is generated for each feature on the page when the feature is loaded. This content should instead be generated when a status update is created (the update form is submitted) and the entire HTML popup content should be stored as a string in a database field called popupinfo.

Add Crew type subclasses for Rappellers, Hotshots, etc

Extend this site to handle other resource types:

  • Short Haul
  • Rappellers
  • Helitack
  • Hotshots
  • Smokejumpers

Each resource type will need their own version of the "Status Update" page.
Implementation should include a new Class for each resource type, for example:

class RappelCrew extends Crew
{
     public function __construct() {
          $this->type = 'rappel';
          $this->statusEntityClass = 'helicopter';  // The name of the Class to which a Status is attached
          $this->mapIcon = "/images/rappel-map-symbol.png";
     }
}

Move javascripts out of View files

Javascripts should be moved into an application.js file for easier maintenance. Most javascripts are currently embedded in the View that they serve.

Alert message pushes page content down

Alerts are currently displayed for 10 seconds at the top of the page, then a javascript makes them fade out. This causes all page content below the Alert message to shift up after a 10-second delay.
Eliminate the fade behavior, or remove the alert div from the page flow.

// /resources/views/layouts/application_layout.blade.php

@if (Session::has('alert'))
  <div class="alert alert-{{ Session::get('alert')['type'] or 'info' }}" role="alert">
    {{ Session::get('alert')['message'] }}
  </div>
@endif

And the following Javascript makes the alert fadeout after a delay:

<script>
  (function() {
    $(".alert").show().delay(10000).fadeOut();   //Fails silently if .alert doesn't exist
  })();
</script>

Animate location history on the map

Enable a rewind/fast-forward feature to look back at historical states of the map. Resource icons should be animated to move from their starting position to their ending position to make it easier for a user to track a specific resource on the map.

Mobile layout won't scroll

Page overflow is hidden when viewing the site on a phone. Pages will now allow scrolling or zooming out to show more content.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.