Git Product home page Git Product logo

csse6400-ticket-overflow's Introduction

Ticket Overflow

Introduction

This project was developed as a final assessment piece for the CSSE6400 software architecutres course during the final year in my undergraduate software engineering program at The University of Queensland (Feb 2023 $-$ Jun 2023).

It functions as a set of REST APIs organised as micro-services to manage all the non-monatry aspects of a ticketing system, this includes: creating tickets; registering concerts/events; very elemenatry user management and access; and intergrating external binaries to generate SVG images of the tickets and of seating allocation at the venue.

Project Roadmap

Migration and Deployment

This section covers all necessary tasks to complete to migrate the submitted version of the code to my personal repository. This does not include addition of any new features, any additional code added will only be used to debug issues found and to aid with deploying to cloud.

  • Migration from original course repo to personal repository, this includes inspecting the application and running functionality tests to check if the applications runs locally.

  • Manual deployment of application to an AWS cloud instance

  • Automating the deployment process with Terraform scripts.

Clean Up and Optimisation

As this project was assessment work, it had to be balanced with other course work and the main priority was to produce a functional solution rather than an optimum one, as such many there are many instances where code is repeated, classes and functions poorly organised, poor documentation and the overall approach counters the intended goal of micro-services.

This section focuses on optimising, reorganising and documenting already present functionality, no new features that veer too far from the initial functions will be added.

  • Database: Redo database storage and access operations, this will mostly involve reorganising present code into neat classes that separate and abstract functionality.

  • SVG Printing: There are a set of celery tasks that handle execution of an external program to generate SVG images of acquired tickets and an seating arrangement availability. This external binary is inefficient in its own right, however, the way the task functions are organised is messy and is prone to future errors and must be corrected.

csse6400-ticket-overflow's People

Contributors

abishtu avatar

Watchers

 avatar

csse6400-ticket-overflow's Issues

Terraform Infrastrucutre Automation: Stage 1, Simple EC2 Instance

Introduction

Make Terraform and bash script/s to automate the deployment of the application to a very simple monolithic EC2 instance, this will essentially mimic executing the application locally using docker-compose up --build but in a remote EC2 instance in the AWS cloud.

This initial version will focus on having the application deployed to the cloud rather than achieving a micro-services architecture, that will be done with ECS clusters once this is working.

Tasks

  • Read from AWS IAM user access key files and use these for instance.

  • EC2 instance created

  • Docker and docker compose plugin installed on instance

  • Can run base application with docker-compose using DynamoDB local in the instance.

  • Can connect with proper instance of DynamoDB

External Resources

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.