Skip to content

Latest commit

 

History

History
39 lines (31 loc) · 6.29 KB

README.md

File metadata and controls

39 lines (31 loc) · 6.29 KB

the-ticket-bank

Build Status

codecov

This is a prototype for a platform to be used for the distribution of donated event tickets via charities to those who may benefit form them most.

Tech Stack

  • Express
  • Handlebars
  • PostgreSQL

Instructions for Running Locally

  • Setup a local postgreSQL database.
  • Clone the repo.
  • Obtain a copy of the config.env from any of @AbdullahChaudhry, @y-zaky, @BartBucknill or @rinoma. Save the config.env in the root. Replace the database url with your own.
  • Navigate to the root directory of the project in your terminal, and run npm i.
  • In your terminal run npm run testbuild. This builds the database schema and inserts test data. Alternatively you can run npm run build to merely build the schema without inserting test data.
  • In your terminal run npm run devStart to start the development server.
  • Navigate to localhost:4000 in your browser to see the site.

Tests

  • To run the tests when in the root directory of the project run npm test in your terminal.
  • For manual testing you will want to set up dummy email accounts.

Features

This prototype includes three main flows/user journeys:

  • A charity can apply for an account. The process includes automated verification of their email address and manual verification by the Ticket Bank organisation that the account application is legitimate.
  • The Ticket Bank organisation can create new events, and a new event notification email will be sent out to all registered charities.
  • A registered charity that has been approved by the Ticket Bank organisation can request event tickets, and submit details of attendees. An email notifying success/failure will be sent out upon the application and the Ticket Bank organisation receives email notification that they need to send out the tickets. Note: this flow is not complete (see below).

A rough diagram of these flows can be seen here. Note that improvements were made to this original plan, so it is not accurate in every detail, but it is a good guide.

To Do

Due to time constraints there is still some work to do on this prototype.

  • Many of the open issues may actually be ready for closing but await discussion with the product owner.
  • The final flow of those listed above is not complete. When a charity requests tickets various actions should occur (see linked flowchart), but currently only emails are sent.
  • There are several code quality issues to resolve including: test coverage is currently low, the file structure needs refactoring, and some errors are not handled properly.