Giter Club home page Giter Club logo

spa's People

Contributors

khuang247 avatar ryanh1234 avatar tommoa avatar

Watchers

 avatar  avatar

spa's Issues

Fix installing AppInspect

For some reason, AppInspect does not seem to be installing properly for regression testing.

Tasks:

  • Investigate possible reasons why this would happen
  • Fix whatever issues cause this

Buildsys: Restart the Splunk instance after running CI

At the moment, we don't restart the Splunk instance after CI is run.

This means that any changes made to app do not get reflected in the runtime until Splunk is manually restarted. We should automatically restart Splunk after CI completes.

Unit and GUI Testing

Updating unit tests to work after the code refactor.
Adding GUI tests with Selenium WebDriver.

Website Blacklist Page

Added a page to allow the user to add websites and view the list of websites on the blacklist.

It also monitors the SPA/blacklists folder for CSV files to add to the blacklist index. A button on the blacklist page will push the new websites into the KV store to allow for lookups.

Major clean up + refactor of SPA

@khuang247 and I just need to sit down and clean this whole codebase up, the javascript library Splunk uses is Require.js - and the syntax needs to be standardised across the whole app. This should only take a few hours and should be done in the final weeks before documentation is written up. I'm not a fan of Require.js and there seems to be alot of inconsistences (syntactically) across the application.

Upgrade version of python used for CI to 3.x

As of AppInspect 2.0.0 (released 11 Oct, 2019), Python 3 is now supported as a language for AppInspect. As such, we can now upgraade the version of Python used for integration tests.

Create an icon

We need to have an icon to make AppInspect pass. The required sizes are:

  • 72px*72px (/static/appIcon_2x.png)
  • 36px*36px (/static/appIcon.png)

Requests To TIM Require Login

In order to be more efficient we can simply cache the JWT on the frontend - it's not the end of the world if this doesn't happen, I don't think it's unreasonable to assume only a few people will be accessing TIM in the UWA context. However, it is still inefficient - just a bit of a pain to implement.

Create commit and code style guide

It'd be good to have a consistent and nice style to both our commits and our code.

The majority of our code will be in JavaScript (for the frontend app) and Python (possibly for the backend). We should make sure that for both of these languages, we are consistent with both Splunk's coding standards, but also our own.

  • Commit style guide
  • JavaScript style guide
  • Python style guide

POC : Geographic Mapping In SPA

Experiment and develop a POC to demonstrate the ability to integrate a google maps screen into the dashboard. Will just need to get a Google Maps key and figure out how to integrate maps into Splunk.

List Of Alerts

Need to add in view which essentially just lists all the alerts

Adding contact details to users.

A CSV can be exported from Callista, which contains the name and contact information of students. This can be integrated into our profiles.

Fix `default/app.conf` to have `[package]` stanza

AppInspect error:

Check that when decompressed the Splunk App directory name matches the 
    app.conf [package] stanza's id property. For cloud, id property must exists; 
    For others, it's ok if no id property if 'check_for_updates = True' or no 
    'check_for_updates'. 
        FAILURE: The `app.conf` [package] stanza does not exist. Please 
            disable `check_for_updates` or set the `id` property in the 
            [package] stanza. File: default/app.conf 

Statistics

Need to add in View which visualises the data returned by the /statistics endpoint from TIM

Integration between TIM alerts and SPA

Currently, I've set TIM up with a single endpoint and some static data. The next step will be integration between "real time" alerts that TIM creates and the SPA displaying these alerts. This will require a number of steps

  • creating the UI page to display alerts
  • creating the JS "polling" code to retrieve a set amount of alerts
  • creating the UI component which will expand to display the relevant information for each alert

Frontend Unit Tests

Need to find an appropriate library that can do testing. I don't think actually testing the code will help us since it's so tightly coupled with the UI and the Splunk database, but maybe a library which can test UI interactions? Need to research this.

Add in JWT token to access TIM

Added in a /login request to retrieve a valid JWT before accessing API. This is inefficient - but it's a solution that will do for now. Additionally, the username and password for accessing this API will be exposed on the front-end - not sure what the best way to deal with this is. @Tommoa I think it may be possible to use environment variables since we're not building the app and then deploying it.

Add Loading Bar

The Modal takes a while to "kick in" e.g. the contact details take a while to appear - it would be nice to have a "loading bar" to show that content will be delievered soon

UI Styling Update

The current SPA interface is bland and uninteresting. There is a need for a simple, clean and attractive design to be implemented with CSS. CSS files can be found under appserver/static/css. Some standard for font size, weights, colors e.t.c will also need to be created.

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.