Code Monkey home page Code Monkey logo

robo-registration's Introduction

TODO

  • Enter CRNs
    • Report back to the user how registration went
    • Load tab at 5:30am instead of immediately
  • Clean HTML
    • Indicate if running and ready to load at 5:30am
    • Primary and secondary options side by side
  • Document how to use
    • Make YouTube video on how to use plugin?
    • Detailed instructions
    • Git documentation
  • UI improvements
    • only reload changed textbox data, not all textboxes should fetch new data every time
    • show a loading animation in textbox when fetching data
    • Notification on course open/close

popup.js

This file is the script running in the background of popup.html, and communicates via messages to background.js when certain events happen (run is clicked, etc.. anything that other pages have to know about). This script exists in the scope of popup.html, so for every popup on every tab there is a standalone popup.js - this is important later.

background.js

This file continually runs in the background of the extension and listens for messages from popup.js and fires events based on those messages. Basically it is an "always-on" middle-man between popup.js and tabDriver.js. This file is needed since it is shared by all instances of our extension across all tabs, whereas popup.js exsists once per tab / popup window and all events in popup.js cancel as soon as the popup window is closed / loses focus - making background.js the correct place to sleep / wait / handle incoming events and pass messages to the tabDriver. This script is active so long as chrome is open, whereas popup.js is only active when the popup is open.

tabDriver.js

This file is now injected into every *.uvm.edu page, whether our extension created that page or not. This injected file waits for messages from background.js, and does things based on those messages. It is basically a listener. This means that if the user visits a *.uvm.edu page on their own, our extension won't do anything on that page since background.js only passes messages to the tab that it creates. tabDriver now has a run() function which is fired when the "start" command is sent by background.js. run() is in charge of running the automations as a chain, and gets the returned boolean values from each automation. For this to work properly, tabDriver will now hold each automation as a function, instead of each automation being a seperate file.

robo-registration's People

Contributors

garrettfaucher avatar patrickdundas 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.