GithubHelp home page GithubHelp logo

ppau / project-m Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 8.0 1.37 MB

Something secret but not really.

License: GNU General Public License v3.0

JavaScript 89.56% Groff 0.04% CSS 8.67% HTML 0.80% Shell 0.94%

project-m's People

Contributors

akjones avatar bbqsrc avatar doddzz avatar fleur94 avatar natyoung avatar orangehb avatar pameck avatar rdoh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

project-m's Issues

Integrate new design in the front-end (so far, Chris has added the confirm page)

Acceptance Criteria:

Given an user on the Confirm page
When checks the confirmation box
And clicks the continue button
Then the user can go to the payment page

Given an user on the Confirm page
When the user does not check the confirmation box
And clicks the 'Continue' button
Then the user remain on the Confirm page

Given an user checked the details on the Confirm page
When the user clicks ‘go back’ button
Then the user returns to the Details page

Given an user clicks 'go back' button on the Confirm page
When goes back to the Details page
Then the user's information is remain

As a potential member, I want to be able to register my details so I can become a member

Should cover basic membership details for the core membership system (pirate party specific stuff will come later)

Acceptance Criteria:

  • When I submit the form, my details should be persisted in the database
  • Since the form is generic, the membership details should include: email, name, address, date of birth, phone number
  • When I submit the form, a member-sign-up event should be logged
  • I should be able to register on my phone
  • When I submit the form, the data should be sanitised

Deployment info:

  • Prod will be a server TBD
  • Pre-prod will be on heroku
  • ci will probably be snap-ci

As a potential member, I want to be able to pay with my credit card so I can become a paid member

Payment processing with stripe

Requirement from Brendan:

  • once the payment amount and type is decided, generate a pending invoice.
  • If the payment failed, update the invoice with pending status, and let the user try again. He prefer to not have any 'rejected' state.
  • If the payment success, update the invoice with paid status.
  • presumably, the state before the payment is attempted is considered pending

Payment Process changes:

  • InvoiceController need to remove some useless render, and this raise an issue of error code define. As Create Invoice is happened after charge card, we need to figure out what kind of error message and http code corresponding to different cases. CHECKED
  • Payment Validation: we need to add both front end and bank end validation for the amount, to let it anytime not blank and anytime no less than 1. CHECKED
  • New design imported, If the user click "I don't want to contribute", then we need to hide the whole membership contribute section, and process the user to the next stage. We still need to create a stub invoice for it. CHECKED
  • Remove Go back button on the payment page. CHECKED

UI Tweaks

  • Make asterisks red - DONE
  • Add hover styles - DONE
  • Fix spacing - DONE
  • Make “whatever you want" bold - DONE
  • Style declaration checkbox - DONE
  • Restyle payment contribution box - DONE
  • Fix mobile styles - DONE
  • Add "(optional)" in italics next to optional fields. - DONE
  • Note that the progress bar has changed slightly since the original design: text and circles are smaller to reduce vertical space at the top. Also, the text in the progress bar is a bit de-centred at the moment. - DONE
  • Add ticks. - DONE
  • Style modal. - DONE
  • Replace Stripe image. -DONE
  • Change position of payment messages. - DONE
  • Red label and border for payment contribution validation. - DONE
  • Make text for error and info boxes smaller. - DONE

As a potential member, I want to be able to register to become a permanent resident member of the Pirate Party

Acceptance Criteria:

Given an user in the Membership Type page
When check the Permanent Resident box
Then the user can view 'You are eligible for a Permanent Resident Membership' information in the iFrame

Given an user select Permanent Resident Type
When in the Details page
Then the user can see the correct subheadings and the references to voting
And the labels and inputs will remain the same

Given an user select Permanent Resident Type
When in the Confirm page
Then the user can see the correct declaration text
And the "Check your details" part remains the same

Given an user select Permanent Resident Type
When the user in the Pay What You Wang page
Then the user can see 'Permanent Resident Membership' in the info box

As a potential member, I want to be able to register my intent to pay for my membership via direct debit or cheque, so I can become a member

Requires a new domain object: invoice.

A member can have multiple invoices.
Invoices should contain total amount, payment date, payment type, and payment reference, and status.

For transfer/cheque payment options, the app should generate a payment reference and that should be provided to the user to include in their transfer or on the cheque for simpler reconciliation.

Possible statuses include: pending, paid, waived and cancelled. For the scope of this card, we only need pending and paid.

As a potential supporter that lives overseas, I want to be able to sign up as an international supporter member of the Pirate Party

Acceptance Criteria:

Given an user in the Membership Type page
When select 'International citizen or have a Temporary visa' type
Then the user can see the correct membership information in the iFrame

Given an user select 'International citizen or Temporary visa' Type
When in the Details page
Then the subheadings and references to voting will change accordingly
And the labels and inputs will remain the same

Given an user select 'International citizen or Temporary visa' Type
When in the Confirm page
Then the user can see the correct declaration text
And the "Check your details" part remains the same

Given an user select 'International citizen or Temporary visa' Type
When the user in the Pay What You Wang page
Then the user can see 'International Membership' in the info box

As a potential member, I want to register to become a member of pirate party with different membership types available to me.

Scope of this card - fully polished user flow for full member registration.

Example criteria of 1 of the 4 options (Full, supporter, Permanent Resident, international)

Acceptance Criteria:

Given an user in the Membership Type page
When check the Permanent Resident box
Then the user can view 'You are eligible for a Permanent Resident Membership' information in the iFrame

Given an user select Permanent Resident Type
When in the Details page
Then the user can see the correct subheadings and the references to voting
And the labels and inputs will remain the same

Given an user select Permanent Resident Type
When in the Confirm page
Then the user can see the correct declaration text
And the "Check your details" part remains the same

Add payment status to invoice

Add Reference number:

  • Reference number need to represent the membership type for user pay by cheque or direct deposit. e.g. F1(Full membership with user id 1)
  • Reference number remain the transaction id for user pay be credit card or paypal.

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.