What is AusCivics?
AusCivics is a national film festival in the country of Australia. The film festival was designed to help celebrate and educate Australians about Australian democracy. Their own site states: "We can more fully celebrate 'the Australian way' when we recognise the relationship between the Australian Constitution, our unique way of life, and the responsibilities of citizenship. Hence, the AusCivics Film Festivals which are both an education and a celebration."
What I did...
I was in charge of building the entire website. It was quite an undertaking! Here are some of the things I did:
- Initial server setup - set up the server to work! We got a dedicated server, and everything had to be set up. Installed security applications, setup email, and setup various domains for use in development and testing.
- Ticketing System - modified Ubercart to support ticketing. The challenge here was keeping track of stock levels. When selling merchandise, it is completely fine to reduce stock at the end of the sale. Well, what happens if two individuals are buying tickets, and then all of a sudden, it's sold out? I had to modify the system to reduce stocks when put in the cart. But, what happens if the browser is closed, or they leave the site? The system automatically recovers the tickets after a specified period of time.
- Ticket PDF Generation - after tickets are bought, the PDF must be sent. This was my first time diving into this world, but I built the PDF generation using dompdf.
- Venue Selection Map - since there are multiple venues across the country, and with the limited time to build the site, I decided to build a map with the locations of all venues. This map utilizes GeoXML files to speed up parsing and delivery of the map (since Google caches it).
- Trivia Competitions - starting off from the Block Quiz module, I morphed it to become a competition. The admin can create a quiz, view the results, and randomly select a specified number of winners.
- CiviCRM Integration - the site utilizes CiviCRM, an open-source CRM to manage contacts and other information related to the project.