I made a train reservation system in Java for an internship I did. Here is a screenshot:

To use it, here are the steps:
- Register: Enter a username where it says username and a password where it says password. Just be sure to remember it. Hit the register button like so:

It should display a popup saying you have registered, like so:

2. login: Hit OK on the popup, then type in your username and password, and login. You should see a list of trips on the side:

Within each item in the list, there is a train number, a PNR number, a train name, and a date. When logged in, you can see each item that was put there previously. To add a trip, fill in the new trip information on the right, and hit the “add trip” button at the top like so:

3. Delete a trip: First, select a trip on the left hand list, then hit “delete” like so:

4. When you are done, hit logout right next to delete like so:

5. Get password, in case you forget: Here is how you can retrieve a password, if you remember your username, type in your username in the user name field, then hit “get pw”, like so:

Here is how the software works: At a low level, there is a user class, and a traininfo class. Here is the definition for the user class:

And here is the definition for the traininfo class:

Above those two are collection classes allowing for CRUD operations on lists of the traininfo and user classes, they are traininfolist and userlist. The main class, trainappmaven, has all the functions that allow for login, logout, delete a trip, and all of that. On top of the main class, we have the frame class with the action handlers for your buttons and text fields. Inside the trainappmaven, we have a small database connection that allows for communication with access. It allows for a big read of the db to populate the user list and train list. Here is the code on my Github: https://github.com/smc897/OIBSIP



