Giter Club home page Giter Club logo

preptickets's Introduction

PrepTickets

The full PrepTickets UI

Developer

Setup

Requirements

Things to lookout for

NEVER EDIT COMPILED JAVASCRIPT FILES

CoffeeScript compiles to JS, but it will overwrite any changes done to the compiled JS. You can tell a file has been compiled by CoffeeScript by the first line saying:

// Generated by CoffeeScript 1.6.3

Programming

Before starting

To improve ease of programming, we've used Ruby to speedup building. Before you can start programming, you need to make sure you have the required gems by running this command (in the root of the project):

bundle install

This will go and download all the requirements (you might need to do this every time new code gets pulled and the Gemfile or Gemfile.lock is changed)

Running web server

To view the project in your browser, run this command (from the root directory):

  bundle exec rackup

Then you can visit the project at http://localhost:8000/

Compile CoffeeScript

This will be done by sprockets (in ruby) via the web server

Compile SCSS

This will be done by sprockets (in ruby) via the web server

Live Reload

To speed up development and prevent the developer from hitting reload everytime s/he changes some code, we've implemented live reload [readme]

To get live-reload running, just start running guard (in the root directory):

bundle exec guard

Once guard is running, you will see that any time you save a file in the /app directory, it will report a change and your browser (in the background) will reload.

To exit guard, just type exit in the guard terminal window

Testing

The following has been taken from AngularJS docs

Running unit tests

We recommend using jasmine and Karma for your unit tests/specs, but you are free to use whatever works for you.

Requires node.js, Karma (sudo npm install -g karma) and a local or remote browser.

  • start scripts/test.sh (on windows: scripts\test.bat)
    • a browser will start and connect to the Karma server (Chrome is default browser, others can be captured by loading the same url as the one in Chrome or by changing the config/karma.conf.js file)
  • to run or re-run tests just change any of your source or test javascript files

End to end testing

Angular ships with a baked-in end-to-end test runner that understands angular, your app and allows you to write your tests with jasmine-like BDD syntax.

Requires a webserver, node.js + ./scripts/web-server.js or your backend server that hosts the angular static files.

Check out the end-to-end runner's documentation for more info.

  • create your end-to-end tests in test/e2e/scenarios.js
  • serve your project directory with your http/backend server or node.js + scripts/web-server.js
  • to run do one of:
    • open http://localhost:port/test/e2e/runner.html in your browser
    • run the tests from console with Karma via scripts/e2e-test.sh or script/e2e-test.bat

Deploying

Rendering required files

It's very simple to build the application for production, simple run the fullying command (in the root directory)

bundle exec rake build

This will take a few moments to compile the project and write it to the /build directory (in the root directory) The build directory will contain everything you need to run the app, just upload the contents of the build directory to a server and you're ready to go!

preptickets's People

Contributors

anlek avatar jasonlavigne-dev avatar

Watchers

 avatar James Cloos avatar  avatar TAN TA SY avatar  avatar

preptickets's Issues

Essential Item #47

When the browser window goes beyond a certain height a grey box appears below the color strip div.

Essential Item #40

Once a user is in the School Context, this is the default page the user will see unless they return to the Homepage (via the Logo or Find School links) and select a new school. The ticket buyer will typically select their school once so this will always be the selected school (via a cookie) until it is changed.

Essential Item #45

on the iPhone 4s, the text is cropped and it looks like there’s a margin pushing the whole search field out of the middle of the grey container

Essential Item #30

Only include the Share component on the School and Event pages, do not display on any Cart , Checkout, Account or Orders pages

Essential Item #2

QR Code fails to print on the printer from IE, it is displaying on the screen but not printing

Essential Item #43

Green margin left of Start your search here:
makes sense when the elements are all in one line, but it should be removed as the window size shrinks. It looks like it’s causing issues on mobile.

Essential Item #26

Clicking on “No items in cart” should display a message saying “You have no items in your cart”, do not display an empty cart

Essential Item #5

In the Sign Up form match the functionality of the Ember Version

a. add Confirm Email and ensure that both Email and Confirm Email match
b. add Confirm Password and ensure that both Password and Confirm Password match
(see the Ember Project)

Essential Item #9

When doing a Log In, error messages should be displayed near the LOG IN button

Essential Item #36

When the user clicks Log Out they should be returned to the page they were on when they clicked it, not redirected to the homepage

Essential Item #15

After logging out, then logging in with a different account with no birth date or gender set, my previous account information was displayed. Suspect that data is being cached locally.

Essential Item #34

On the Order Details Page
a. if SubTotal is equal to Total, do not display SubTotal
b. change the text “VIEW & PRINT TICKET” to “VIEW TICKET

Essential Item #4

To both the Sign Up and Log In pages, add the text “Welcome Ticket Buyers” to the top

Essential Item #24

When in the Client Side cart, clicking Continue Shopping returns to the homepage after logging out the user

Essential Item #7

Do not force the user to the homepage when Sign Up process is completed, stay on the Sign Up page and

a. Display the “Signup Complete, please check your email to verify your account” message near the Sign Up button

b. Clear the fields on the form

Essential Item #33

On the Checkout Page

a. if SubTotal is equal to Total, do not display SubTotal

b. clicking cancel should use an inline conform dialog

c. clicking cancel should return user back to the school page, not the homepage

d. The user must supply their email address, date of birth and gender before they can continue to the checkout, see Ember Version for this functionality

e. Move the following credit card image between the terms and checkout button elements

f. Remove the share option

Essential Item #44

on the samsung note 2, it appears that the text in the search field is optimized to the smallest size possible on the desktop browser, when I open it on either the note 2 or my iPhone 4s, the text gets cropped.

Essential Item #27

Disable the CHECKOUT button when there are no items, currently clicking CHECKOUT goes to the next step

Essential Item #25

After Clearing Cart, should return to the selected school page, not the homepage

Essential Item #41

Homepage background graphic, we need to showcase the full image height and width. No need to resize based on responsive design, Just have 100% true size of the image across all viewports. Specifically, we need to make sure the top of the frist row of photos and bottom part of the last row are NOT CUT-OUT or missing.

Essential Item #31

On the Client Side cart Quantity should

a. be a dropdown field

b. allow the selection of zero (0) to the lesser of either MaxPurchaseQuantity or NumberAvailable

Essential Item #38

The My Orders page has no design and is a poor UX. At minimum this should be a table layout with pagination showing maximum of ten (10) orders per page

Essential Item #39

The Shopping Cart is School context based, meaning it should not be displayed on the homepage because the user is not in the School Context

Essential Item #8

The Sign Up and Log In pages has a very basic design and appears cluttered and not an example of a good UX. No significant design change between the Ember Version with the exception of splitting the single page in to two pages.

Essential Item #16

In the following message on the My Account page when logged in via social

“You used LinkedIn to log in, this means that if you want to change any of your profile details, you must change your LinkedIn profile.”

The “LinkedIn profile” text should be a link to the user’s social profile that is supplied by the GetProfileAsync request in the AuthProfiles.PublicProfileURL

Essential Item #20

On the Event page, the following graphic should be moved to the Checkout page. The information I provided about the provider image was meant for only the Checkout page, not the Event page.

Essential Item #17

When logged in, if available display the image in AuthProfiles.PublicImageURL to the left of “My Account”

Essential Item #18

On My Profile, if available display the image in AuthProfiles.PublicImageURL

Essential Item #22

In the Client Cart

a. if SubTotal is equal to Total, do not display Sub Total

b. the remove should be an inline dialog, the Ember Version has this, in fact there should be no browser supplied modal dialogs anywhere, all should be inline using Twitter Bootstrap or jQuery UI.

Essential Item #1

On the homepage, the search results should

a. be displayed as a dropdown below the search box (see the Ember Project)

b. require a minimum of three (3) characters before calling the API SearchIndexService.SearchTypeAsync using the type of Store

c. be fully responsive and work on touch devices

d. limit to the first twenty (20) results

e. display the SearchIndex.Icon image on the left of the text, if property is null, display current generic school icon

Essential Item #21

The Ticket Selection should

a. be a dropdown field

b. allow the selection of zero (0) to the lesser of either MaxPurchaseQuantity or NumberAvailable

c. if NumberAvailable is zero (0), display “Sold Out”

Essential Item #14

Edit Profile page Birth Date should use a basic calendar select tool like the Ember Version

Essential Item #37

Change the following message to “Please wait while we fetch your cart”

Essential Item #46

In landscape, the search field looks correctly centered in the grey container, however there is still that green line in front of the search field.

Essential Item #35

On the Printed Receipt

a. if SubTotal is equal to Total, do not display SubTotal

b. if Fees is zero (0), do not display

c. if Shipping is zero (0), do not display

Essential Item #48

I was having issues with the background / font colors in my account not changing when the dropdown comes down. This makes it difficult to see what the menu says.

Essential Item #10

After log in is complete, send the user back to the page they were on when they clicked Log In. Default is the homepage.

Essential Item #29

Clicking “terms” on the Checkout Page should not use a popup window, must use an inline dialog using Twitter Bootstrap or jQuery UI Dialog.

Essential Item #6

In the Sign Up form, change the button text from SIGNUP to SIGN UP

Essential Item #3

Align the elements on the School Display

a. text areas and Buy buttons to line up on the same horizontal line

b. title area should be spaced for two lines

c. brief text area should be spaced for five lines

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.