Skip to content

CoboAr/Ticketing-System

Repository files navigation

Ticketing System

This project is completed in different phases following the principles of Extreme Programming (XP) and Incremental Development (IDP).

What is Ticketing System?

It is a command line program. There are 4 types of users: admin, buyer, seller, full standard

The program is implemented based on 2 logics:

  1. front end image

The command that users can perform are: 1) Login 2) Create 3) Delete 4) Buy 5) Sell 6) Add Credit 7) Refund 8) Logout

Admin can perform all commands.
Buyer can perform Login, Buy, Add Credit, Logout.
Seller can perform Login, Sell, Add Credit, Refund, Logout.
Full Standard can perform Login, Buy, Sell, Add Credit, Refund, Logout.

admin_create_delete_demo.mp4
buyer_demo.mp4
seller_demo.mp4
Full.Standard.Demo.mp4
  1. Back end

image

Each transaction is registered on the temporary Daily Transaction File.
The format of the Daily Transaction File is:
Code of transaction_user_user type_amount of credit
Code of transaction: 01 = Create Code
02 = Delete Code
03 = Buy Code
04 = Sell Code
05 = Refund Code
06 = Add Credit Code
00 = End of Session Code

Daily Transaction File

At the end of each day, all the transactions from temporary daily transaction file + users.tex + tickets.txt are used to generate a new file named Merged Daily Transaction File.

Merged Daily Transaction File

Whenever an error is generated it is saved on a file named error.txt. error

Phase 1

  • A design document, giving the overall structure of the solution, showing the classes and methods as a table, with a brief description of the intention of each one.
  • The first version of the source code to implement the design. This version ran some inputs but it's not completely tested.

Phase 2

Test cases designed for black box testing. Black box testing focuses on the functionality of the software without considering its internal structure.
The test cases are organized in 2 directories: 1) input_tests; 2) expected_output_tests

To perform these sets of tests a python script (run_test.py) and a jar file of the java program (please.jar) is used.

Run this command on terminal to start testing: python3 run_test.py please.jar input_tests expected_output_tests

run_test.py_Demo.mp4

A list of all detailed tests is provided in phase 2.

Phase 3

A complete version of the program including the back end as well. A complete class diagram is accomplished in this phase.

Phase 4

White box testing. White box testing focuses on the internal logic, code, and structure of the software. Treats the software as a "white box" with full visibility into its internal workings.

CentralCore and User classes are tested with JUnit.

White.Box.Testing.Demo.mp4

A detailed table of results is provided in this phase.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published