Giter Club home page Giter Club logo

winterheartlee-ticket_admission_sepresub's Introduction

TicketSpark - Event Creation & Ticketing System

TicketSpark is a Django-built website that is focused on providing event organisers with a simple e-ticketing system for users to buy tickets with a credit/debit card using the Stripe platform. Event creators can create, modify and delete event information and a clear separation has been implemented into the design so that the 'ticket purchasers' and 'event creators' have different registration information that allows them access appropriate navigation and database information. The focus on this site currently is for the Event creators as it is intended that event links will be directed to a buy now page for each event from the creators own website.
This project was built using Django and Python for the backend control and HTML, CSS & Javascript for the front end.

IMPORTANT NOTE: The events currently setup on the deployed heroku site are not real events and have simply been used to fill out the website content and demonstate its features.


Screenshot of creator homepage

User Stories:

Event Creators:

  • Register as an event creator
  • Create, modify and delete events
  • Search for events
  • Populate a 'My Events' page for each creator for easy access to management.
  • Make sure 'creators' can't buy tickets; keep these two identities separated.

Ticket Purchasers:

  • Register to buy tickets
  • See list of all events
  • Search for events
  • Have user profile with order history
  • Able to buy tickets online with debit or credit card
  • Make sure buyers can't create events.

Features

This site currently fullfils the criteria of the above user stories; events can be created and tickets purchased for said event. At this stage, the Event model currently has 'Event Name', 'Description', 'Start Date & Time', 'End Date & Time', 'Venue Name', 'Location Postcode', 'Ticket Price' and 'Ticket Allocation'.

Features Left to Implement:

  • Tickets sold need to be deducted from the 'Ticket Allocation' so no more tickets can be purchased beyond the allocated amount.
  • Currently using a custom form to overide the Allauth signup page to include a 'type' choice of 'creator' or 'buyer', however I could not figure out how to add new fields to the aullauth models and therefore I used the currently existing 'first_name' field that isn't being used; this does the job for now but is not intended to be a final fix.
  • Being able to filter and sort the 'all_events' and 'my event' pages would help the user around a potential large quantity of events.
  • Mobile responsiveness has been considered for most of the site however there are still a few issues with large font sizes overlappying graphical elements on the creator homepage tabs.
  • Ticket confirmation emails display the order number but do not show an itemised list of separate purchased tickets.

Further Advanced Development:

  • Advanced ticket analytics would need to be implemented into the creator features to make this site compete with other ticketing services.

Testing

Chrome was used to create this website and it is only FULLY currently functioning as should on Chrome; no other browsers have been tested so far. No Django 'tests' have been written to test the functions in the project.

A test account was created for a 'buyer' and another for a 'creator'. All aspects of the site functionality was tested on each account; no broken links were discovered and test stripe payments were successful.

Test stripe payments can be made using the test card information:

  • Number: 4242 4242 4242 4242
  • MM/YY: 4242
  • CVC: 424

Validator Testing

  • HTML - W3C Validator
    • The site currently has no errors from the W3C Validator; each custom html page was tested separately through the validator.
  • CSS - Jigsaw Validator
    • No errors were found with custom CSS; each CSS file was tested separatly through the validator.
  • Javascript - Jshint
    • No serious issues were detected when passed through the Jshint validator; all js script files and any code between 'script' tags were tested separately through the validator.

Unfixed Bugs

  • After registering, logging in, logging out etc, the page gets redirected to the main index page, not the homepage of the user role.
  • Styling for the 'tabs' on the creator homepage is not currently displaying in a satisfactory manner on mobile devices; tablet devices with larger screens work ok.

Deployment

This site has been deployed using Heroku, the live link can be found here - https://ticketspark.herokuapp.com The Static files and Media files have been collected and stored with Amazon Web Services.

Credits

Frameworks, Libraries and Programs:

  1. Django Framework:
    • Django was used as the overall framework for this dynamically built website.
  2. Bootstrap 4:
    • Bootstrap 4 was used for its grid system and easy to use style classes.
  3. Google Fonts:
    • Google fonts were used to import the 'Raleway' font that was used through the site.
  4. Font Awesome:
    • icons loaded from Font Awesome.
  5. GitPod
    • GitPod was the IDE used to create the code.
  6. GitHub:
    • GitHub is used to store the projects code after being pushed from GitPod.
  7. Heroku:
    • Heroku was used to deply the website and the free POSTGRES database feature was used for the CRUD functionality.
  8. Amazon Web Services:
    • AWS was used to store and link the 'static' and 'media' files for the site.

Media:

  • Creator homepage image was downloaded from Pexels
  • Ticker purchaser homepage image was downloaded from Pexels
  • Index buy tickets image was downloaded from Pexels
  • Index sell tickets image was downloaded from Pexels

winterheartlee-ticket_admission_sepresub's People

Contributors

winterheartlee 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.