Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Devjam for the Goto project
Ruby JavaScript CoffeeScript
branch: master

This branch is 7 commits ahead, 5 commits behind wgreenberg:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
app
config
db
doc
lib
log
public
script
spec
vendor
.gitignore
.rspec
Gemfile
Gemfile.lock
README.md
Rakefile
config.ru

README.md

  1. Functional Requirements

    1. Mandatory Requirements

      1. The service must complete all requests ≤ one second.

      2. The service must be simple and intuitive such that it does not require training for non-IT personnel to use.

      3. The service will have an entirely web-based front end, allowing entry of a “keyword” and “long URL”.

      4. The resulting shortcut URL shall be available immediately after completing the data entry portion of the process (keyword, long URL and possibly a confirmation step).

      5. End users will be able to enter the shortcut URL in a browser address bar and be redirected to the appropriate long URL.

      6. The service must be scalable to support Energy-wide use. Therefore, use of a relational database (Oracle, MS SQL, MySQL, etc) is recommended (but not required) for storage of keywords and long URLs. Needs to be better quantified

      7. Specific keywords should be linked to and managed by the user who created them.

      8. Only authenticated users on the Siemens network will be able to access this service and create shortcuts.

      9. Users must be authenticated automatically, without manually entering username or password (e.g. leverage NTLM, Kerberos).

      10. Users cannot overwrite existing keywords entered by other users, but should be notified when requesting an existing keyword. In that case, the following error message will display (X = keyword): "Keyword “X” already exists"

      11. The long URL must be eight or more characters. If not, then the following error message will display: “URL is too short to be valid ( < 8 characters)” Note: http (4) + “:” (1) + “//” (2) + alphanumeric (at least 1) = 8

      12. The keyword must be made up of letters and/or numbers, and may not contain extended or special characters, other than short-dash and underscore. If a keyword that does not meet this criteria is attempted, then the following error message will display (X = invalid character): “Your keyword contains an invalid character: X”

      13. The solution will support English language.

      14. The service will fully support Internet Explorer, the current Siemens standard browser.

    2. Optional (High Value) Functions

      1. The service will provide users a dynamic list of the “live” shortcut URLs they have created.

      2. The solution will migrate and support existing “Goto” links. using rake seed

    3. Optional (Medium Value) Functions

      1. Users will be able to edit their previously entered keywords and/or long URLs.

      2. Users will be able to delete previous entries.

      3. The service will be integrated with the employee portal (EnergyNet), such that a button can be selected within the employee portal, the service is launched, and the long URL pre-populated.

      4. The solution will support German language.

      5. The service will support additional browser platforms (e.g. Chrome, Firefox, Safari). don't know how this will work with authentication

    4. Optional (Low Value) Functions

      1. The solution will leverage open source components to avoid license and/or framework related issues.

      2. The service will offer a Help or FAQ page for user support.

      3. The service will have a custom logo.

      4. The service will provide utilization type reports (e.g. short URL has been used # of times).

      5. The solution will support Dansk language.

      6. The developer(s) will create documentation detailing service architecture (e.g. web server type and version, OS type and version).

Something went wrong with that request. Please try again.