GithubHelp home page GithubHelp logo

engeto-final-project's Introduction

Bus Ticket Reservation

This is the final project for the Java Academy.

Requirements

Create a GUI application in Java for making seat reservations in buses. Imagine a clerk sitting in the ticket office at the public transportation terminal. Customers will want to reserve 1 or more seats on a bus going between two cities at a specific time.

The clerk wants to be able to do the following:

  • Make a new reservation if there is a seat available on a bus chosen by the customer.
    • Customer is allowed to choose specific seats.
    • Customer will choose specific day.
    • In case the customer does not want a specific seat, the application should assingn the first available one.
  • Print the reservation for the customer.

The bus company also needs to be able to view and export all the reservations made.

  • The application must let the user choose where s/he wants to save the exported data.
  • Also in case the application is turned off, it should be able to load the reservations, so one seat is not sold twice.

Data Format

All the data (inputs and outputs) will be provided in CSV format. Columns will be separated by a semicolon (;). String values will not be quoted, and they will not contain the semicolon (;) character. The first line of the file serves as headers and should be skipped.

The timetable is available in the data/ directory. It specifies the time, start and destination city and the bus capacity. The timetable is the same each day.

The file with exported reservations must contain the same data as the timetable, only the bus capacity is replaced with list of reserved seats.

Testing

Obviously the application logic needs to be tested. So start with some interfaces/classes, whcih implement the basic logic. Also represent your data as classes with the appropriate fields. It will help you greatly. Internally use InputStream and OutputStream for imports/exports. It will make the logic testable.

engeto-final-project's People

Contributors

schrek1 avatar

Watchers

James Cloos avatar  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.