Skip to content

abbasdgr8/ticketing-search-app

Repository files navigation

ticketing-search-app

Build Status GitHub license

Implementation of a (Kotlin) CLI application to search ticketing data and return results in a human readable format.

In order to standardise feature development and ensure separation of concerns, this search tool has been developed as a Model-View-Controller application.

Pre-Requisites

  • git on bash
  • JDK ==> 8
  • Gradle ==> 6+
  • Kotlin ==> 1.3+

Install

# Clone the repo
$ git clone [email protected]:abbasdgr8/ticketing-search-app.git

# Change into the directory
$ cd ticketing-search-app

# Initiate the gradle build
$ ./gradlew clean build

Run tests

# Runs all Unit Tests in the project
$ ./gradlew clean test

# Runs all Unit Tests in a specific test class
$ ./gradlew clean test --tests fully.qualified.ClassName

If you'd like to run and modify tests independently in IntelliJ, you need to install the Spek Framework Plugin

Usage

# Runs the main class (App.kt)
$ java -jar build/libs/ticketing-search-app-1.0-SNAPSHOT-all.jar

Tech Debt / TODOs

  • Current functionality only has search without indexing. Explore other indexing options for future enhancements.
  • Add search support for other datatypes like date, and array

Assumptions

  • It is acceptable to use given input data for arriving at the basic search functionality.
  • It is possible that some of the given input data could be invalid and so there need to be cases to handle that scenario
  • All input data would be of size that could be easily loaded into the JVM memory; thereby eliminating the need of data persistence.
  • It is acceptable to assume that this app is expected to satisfy search functionality only for the English language

About

Implementation of a ticketing search application based on the given spec

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages