Git Product home page Git Product logo

ranger-ims-server's Introduction

Ranger Incident Management System

Build Status Code Coverage

This software package implements software to provide logging for incidents as they occur and to aid in the dispatch of resources to respond to those incidents. It is presently tailored to the specific needs of the Black Rock Rangers in Black Rock City.

The server is the master (authoritative) repository for incident information. Clients connect to the server over the network and provide an interface to users which enables them to view and manage incident information.

This package provides the server component, which includes a web client and some web-based reporting features. All functionality is exposed via JSON endpoints.

The server is implemented using Twisted Klein and requires Python 3.9+.

Development

Running the Test Suite

This project uses Tox for running tests. To run all of the default test environments:

tox

Running the Server

To run the server will require some configuration, and if you try to start the server with the default configuration, you will probably see an error such as this:

2020-03-12T09:16:55-0700 [ims.run._command.Command#info] Setting up web service at http://localhost:80/
2020-03-12T09:16:55-0700 [ims.run._command.Command#critical] Unable to run server: Couldn't listen on localhost:80: [Errno 13] Permission denied.
2020-03-12T09:16:55-0700 [-] Main loop terminated.

The above error happens because the server, by default, tries to use the standard port for HTTP (80), and that is commonly reserved for system services.

To set up a configuration for development, start by copying the example configuration and directory files:

cp conf/imsd-sample.conf conf/imsd.conf
cp conf/directory-sample.yaml conf/directory.yaml

To build and run the server (for development only):

tox -e run

In your browser, open http://localhost:8080/ to reach the server. Log in as any user in the conf/directory.yaml directory file. In the conf/imsd.conf sample configuration file, the users Hardware and Loosy are administrators, and in the sample directory, all users have passwords that match their handles. You'll want to log in as one of those to set up an Event.

Use the pull-down menu at the top right corner of the page (it will show the logged in user's Ranger handle), and select Admin. On the next page, navigate to the Events page and create an event called Test.

In the box labeled Access for Test (writers), enter the string *. That will give all users the ability to create and edit incidents in that event.

You should now be able to select your new event from the Event menu at the top right, and then create new incidents within that event.

Pull Requests

Pull requests in GitHub will run all tests on Travis CI, and all are required to pass prior to merging.

100% unit test coverage is also expected for all new or modified code prior to merging a pull request.

ranger-ims-server's People

Contributors

wsanchez avatar requires avatar dependabot[bot] avatar dependabot-preview[bot] avatar

Watchers

James Cloos avatar  avatar

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.