Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview

The Access Request Module will allow people to request access to secured spaces through an easy to use interactive web application. It will allow security personnel to review access requests and grant, deny, or perform other actions with them. This application will rely heavily on the Lenel OnGuard Access Control system and utilize our API to make business decisions. 

Competition Task Overview

Previously, we have implemented the Requester role part functionality (see Module Assembly - Styx Access Request Module Web Application - Requester), for this challenge, we'd like to continue the development by implementing the functionality for Approver and Configuration part. This will include implement the backend services and integration the UI Prototype which is implemented by using AngularJS. So the application is working from end to end.

Note: Please read the whole Application Design Specification first. All the details not mentioned in this specification are provided in that document.

Note: Extensive implementation notes are provided at method documentation on UML Class Diagrams. Please follow them for implementation.

Note: You are expected to follow the same methodology used in the winning submission of Module Assembly - Styx Access Request Module Web Application - Requester

The high level use cases specified in ARM Requirements for Approver Challenge.docx section 9, 10 and 12 should be covered in the challenge.

Scope

Following stuff should be in scope if anything related to Approver and Configuration part is not implemented yet.

  • AccessRequestService (updateStatus function), ConfigurationService, EmailNotificationService, MiscService, ConfigurationController, AccessRequestController, MiscController in Back End Services and Controllers Diagram. Notes, logic related to Requester role is already implemented.
  • ConfigurationService,  MiscService, AccessRequestSerivce  in Front End AngularJS Services Class Diagram. Notes, logic related to Requester role is already implemented.
  • ApproverCtrl, ConfigurationCtrl in Front End AngularJS Controllers Class Diagram

Some Changes from the Original Architecture

Besides the original architecture, we needs some changes, please follow ARM Architectural details.pdf like 

  • Please use meaningful name for MiscService instead. See Suggestion as following

Old name: Security Service
New name: LS ARM Security Service

Old name: Configuration Service
New name: LS ARM Configuration Service

Old name: AccessRequestService
New name: LS ARM Request Service

Old name: EmailNotificationService
New name: LS ARM Notification Service

Old name: MiscService
New name: LS ARM Information Service

  • all service names need to have "LS" in front of them as we outlined in the Architecture document. 

Authentication and Authorization

The implementation of Login Screen is not in scope, Use the following credentials for the backend API service authentication (OpenAccess).

Username: sa

Password: sas

Use the following credentials for the database user:

Username: lenel

Password: Secur1ty#

Other information will be posted in forum for competitors' usage only.

Virtual Machine Information

This challenge requires a VM with OpenAccess API installed, please request your VM in forum.

Pages

views/approver.html

Wireframe: Approver

Controller: ApproverCtrl

This page handles approver page. The “New Requests” is same as “In-Progress Requests”, and they are merged to a single “In-Progress Requests” section.

views/configurator.html

Wireframe: Configurator

Controller: ConfiguratorCtrl

This page handles configurator page.

 



Final Submission Guidelines

  • Updated Source Code for Frontend and Backend, related to Configuration and Approver part.
  • Deployment Guide for application setup.
  • Verification Steps for verifying related functionality.

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30050866