Skip to content

ramongonzalez16/COOTRAM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

COOTRAM

COOTRAM v1.0 Java desktop system using MVC architecture. Manages Willys routes to villages in Montenegro and buses to Armenia, La Tebaida, and Montenegro. Includes dispatch, fleet, drivers, tickets, cash, and reports. Uses flat files for data persistence. JavaFX GUI.

COOTRAM_V_6 - Transport Management System

Desktop application developed in Java 21 for passenger transport management in Quindío.

1. Project Description

COOTRAM_V_6 is a desktop application developed in Java 21 with MVC architecture. It manages Willys routes to the villages of Montenegro and bus routes to Armenia, La Tebaida and Montenegro. Data storage is done through encoded plain text files with .rhg extension. It does not require a database.

The system automatically generates the schedules based on the programming provided by the administrator. The programming is done for four parking areas: three for Willys and one for buses. For buses, the system notifies the logged-in user when a trip is about to depart for manual assignment. For each trip departure, it prints the "conduce" on a thermal printer.

2. User Roles and Access

The system has 2 types of views depending on the role and requires login.

2.1 Administrator

Full access to the system. Manages all master modules.

Administrator Full Menu:

  1. Account Management: User data, change password and logout
  2. Drivers: Full CRUD. Edit, Create, Delete, Search-List, Associate to parking area
  3. Vehicles: Full CRUD. Edit, Create, Delete, Search-List, Associate to parking area
  4. Users: Full CRUD of system users
  5. Sales:
    • Manage prices
    • Sell tickets
    • Full CRUD Occasional Report
  6. Reports:
    • Sales
    • View alcohol test results
    • Occasional reports
  7. Route Operations:
    • Assign route manually
    • Assign route generated by the program
    • Set route programming method
    • Reorder routes generated by the program
    • Restore week
    • Show routes
    • Shift Programming: Assign Route, Parking Time and Departure Time by day and by parking area
  8. Show/Hide Console

2.2 Administrator User

Operational access to the system. Only ticket office and dispatch functions.

Restrictions:

  • Cannot Create or Edit: Drivers, Vehicles, Parking areas
  • Cannot see information from other Users
  • Cannot Manage prices or Route Operations or Program shifts

Allowed Functions:

  1. Account Management: Change password and logout
  2. Drivers: Search and list drivers
  3. Vehicles: Search and list vehicles
  4. Alcohol Test: Create alcohol tests for drivers
  5. Schedules: Check automatically generated schedules
  6. Routes: Check daily and weekly route by vehicle by day
  7. Sales: Sell tickets and Manual assignment of bus trips when the system notifies departure
  8. Occasional Report: Full CRUD of occasional report
  9. Reports: Generate sales report for printing
  10. "Conduces": Print remaining "conduces" to leave the shift. Automatic printing on thermal printer when each trip departs
  11. System: Show/Hide console

3. Requirements

  • Java 21 JRE or higher installed
  • Thermal Printer for printing "conduces"
  • Windows / Linux / Mac OS

4. Installation and Execution

  1. Clone or download this repository from GitHub
  2. The project includes the data/ folder with all the necessary .rhg files for the system to work
  3. Run the application by double-clicking COOTRAM_V_6.jar
  4. Important: Do not open or edit .rhg files manually. They are encoded.

5. Project Structure

COOTRAM_V_6/ ├── COOTRAM_V_6.jar # Executable file ├── data/ # Encoded plain text files .rhg provided ├── reports/ # PDF reports generated by the system │ ├── Alcohol Test/ │ ├── Occasional Report/ │ ├── Routes/ │ └── Sales/ └── lib/ # External libraries: iText, jCalendar, Substance, RXTXcomm

6. Main Features

  • MVC Architecture: Model, View, Controller separation
  • Role-based Views: Administrator and Administrator User with different permissions
  • Route Management: Manual, automatic assignment and reordering. Only Administrator
  • Automatic Schedule Generation: The administrator programs by Route, Day, Parking Time and Departure Time for 4 parking areas. The system generates the schedules.
  • Bus Dispatch Alerts: The system notifies the logged-in user when a bus is about to depart for manual assignment
  • Thermal Printing of "Conduces": The "conduce" is printed automatically when each trip departs
  • 4 Parking Areas: 3 for village Willys and 1 for intercity buses
  • Village Routes: Willys dispatch to Montenegro villages
  • Intercity Routes: Ticket sales for Armenia, La Tebaida, Montenegro
  • Fleet and Staff Management: Vehicles, drivers, payroll, association to parking areas
  • Billing and Reports: Daily cash closing. PDF reports generated in /reports with iText
  • Encoded Plain Text File Storage: All data in .rhg files with ASCII42 encoding
  • Modern UI: Custom theme with Substance and Trident libraries

7. Types of Reports Generated

  1. Alcohol Test: View alcohol test results for drivers. Only Administrator
  2. Occasional Report: Reports of occasional services. CRUD for both roles
  3. Routes: Dispatches, schedules and route compliance. Daily/weekly query by vehicle
  4. Sales: Daily sales, tickets and cash closing. Report for printing

8. Data Encoding

The system uses its own encoding for information security. All .rhg files are saved as ASCII values separated by 42. Example: 4842124 = 0|

9. Included Libraries

iText-5.0.5.jar, jCalendar-1.4.jar, Substance-7.3.jar, Trident, RXTXcomm

10. Authors

Developed by: SEBRALO ENTERTAINMENT Version: 6.0 Year: 2000

About

COOTRAM v1.0 Java desktop system using MVC architecture. Manages Willys routes to villages in Montenegro and buses to Armenia, La Tebaida, and Montenegro. Includes dispatch, fleet, drivers, tickets, cash, and reports. Uses flat files for data persistence. JavaFX GUI.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages