Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/engineermichael/self-development---international-association-of-transportation-regulators---transit-app-core-java-x
⎔ Utilized business analysis and android development ⎔ Implemented google map API key ⎔ Committed all transactions and current routes to servers
https://github.com/engineermichael/self-development---international-association-of-transportation-regulators---transit-app-core-java-x
google-maps-api java transit-api
Last synced: 17 days ago
JSON representation
⎔ Utilized business analysis and android development ⎔ Implemented google map API key ⎔ Committed all transactions and current routes to servers
- Host: GitHub
- URL: https://github.com/engineermichael/self-development---international-association-of-transportation-regulators---transit-app-core-java-x
- Owner: EngineerMichael
- License: gpl-3.0
- Created: 2018-03-12T20:33:37.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-12-23T03:28:37.000Z (29 days ago)
- Last Synced: 2024-12-23T04:27:16.814Z (29 days ago)
- Topics: google-maps-api, java, transit-api
- Language: Java
- Homepage:
- Size: 15.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Self-Development---International-Association-of-Transportation-Regulators---Transit-App-Core-Java-
Self-Development—International-Association-of-Transportation-Regulators—Transit-App-Core-JavaOverview
The IATR Transit App is an open-source, core Java-based application that facilitates real-time tracking, management, and display of transit routes, stops, and schedules. The app is part of the International Association of Transportation Regulators (IATR) initiative to improve public transit access and usability. This project integrates Android development, business analysis, and Google Maps API for effective routing and location-based services.
This app allows users to view available routes, stops, and transit schedules, making it an essential tool for both commuters and transit authorities. The app also commits all transactions and route updates to the server for persistence, enabling better data management.
The project is licensed under the GNU General Public License v3.0.
Features
• Real-Time Transit Information: View available routes, stops, and schedules with live data updates.
• Google Maps Integration: Utilize the Google Maps API for real-time location tracking and route management.
• Data Persistence: All route and stop data is stored on the server, ensuring data integrity and consistency.
• Simple User Interface: A user-friendly interface for commuters and transit authorities to interact with transit data.
• Modular Design: The app can be easily extended or modified to incorporate additional features or services.
• Efficient Scheduling: View schedules for different routes and stops, with arrival times dynamically retrieved and displayed.
Installation
Prerequisites
Before setting up and running the IATR Transit App, ensure that the following software and dependencies are installed:
• Java Development Kit (JDK): Required to compile and run Java code.
• Download from Oracle JDK.
• Android Studio (Optional): For Android app development and running on mobile devices.
• Install from Android Studio.
• Google Maps API Key: For integrating map and location services.
• Obtain an API key from Google Cloud Platform.
Steps to Set Up
1. Clone the Repository:
Clone the project repository to your local machine:
git clone https://github.com/yourusername/Self-Development---International-Association-of-Transportation-Regulators---Transit-App-Core-Java.git
cd Self-Development---International-Association-of-Transportation-Regulators---Transit-App-Core-Java
2. Install Google Maps API:
• If you plan to use Google Maps within an Android project, integrate the API by following the Google Maps for Android guide.
• Ensure that your API key is correctly set in the Android app’s manifest or your Java backend application as needed.
3. Build the Application:
• For Java Application: Compile and run using the following commands:
javac TransitApp.java
java TransitApp
• For Android Application: Open the project in Android Studio, configure the Google Maps API Key, and run the app on an emulator or device.
4. Commit Data to Server:
• Ensure that you have a backend server configured to handle and persist transit route data.
• The app will commit transaction data such as new routes and stops to the server, ensuring up-to-date records.
Usage
Once the app is set up and running, users can interact with the following features:
1. View Routes
Users can view available transit routes that include details such as route ID and name. This feature will display the routes for transit authorities or commuters to choose from.
Example:
System.out.println("Available Routes:");
for (TransitRoute route : routes) {
System.out.println(route);
}
2. View Stops
Users can view a list of available transit stops, including stop ID and name. Each stop is associated with a route, and users can select specific stops to view more detailed information.
Example:
System.out.println("Available Stops:");
for (TransitStop stop : stops) {
System.out.println(stop);
}
3. View Schedule
Users can view the schedule for each route and stop, including arrival times. The schedule is dynamic and can be updated in real-time, providing commuters with accurate time information.
Example:
TransitSchedule schedule = new TransitSchedule();
schedule.addSchedule("S1", "08:30 AM");
schedule.addSchedule("S2", "08:45 AM");
schedule.addSchedule("S3", "09:00 AM");
System.out.println("Route R1 Schedule:");
System.out.println(schedule);
4. Google Maps Integration
• For Android versions of the app, users will see transit routes displayed on Google Maps, allowing them to track real-time locations and routes directly on the map.
5. User Interface
• The app offers a simple user interface (CLI for Java and GUI for Android) for users to interact with the app, choose between viewing routes, stops, schedules, or exiting the app.
Example of CLI user interface:
while (true) {
System.out.println("Select an option:");
System.out.println("1. View Routes");
System.out.println("2. View Stops");
System.out.println("3. View Schedule");
System.out.println("4. Exit");
int choice = scanner.nextInt();
scanner.nextLine(); // Consume newline
switch (choice) {
case 1:
displayRoutes();
break;
case 2:
displayStops();
break;
case 3:
displaySchedule();
break;
case 4:
System.out.println("Exiting the app.");
scanner.close();
return;
default:
System.out.println("Invalid choice. Please try again.");
}
}
6. Data Persistence
• Data (routes, stops, schedules) is committed to the server, ensuring all transactions are saved. This allows transit authorities to update the database with new routes or stop information as needed.
License
This project is licensed under the GNU General Public License v3.0. You are free to use, modify, and distribute this software under the terms of the GPL, provided that any derivative works are shared under the same license.
Summary of the GNU GPL v3.0 License:
• You may use, modify, and distribute the software under the terms of the GPL.
• Any derivative works must also be licensed under the GPL v3.0.
• You cannot impose additional restrictions on the rights granted by this license.
For more details, see the full GPLv3 License.
Contributing
We welcome contributions to improve this project. If you would like to contribute:
1. Fork the repository.
2. Create a new branch for your feature or fix.
3. Make your changes and commit them.
4. Ensure that your changes are well-tested and documented.
5. Submit a pull request with a detailed description of your changes.
Contribution Guidelines:
• Ensure your changes do not introduce breaking changes.
• Contributions related to transit data, route optimization, and Google Maps integration are especially appreciated.
• If you add new features or APIs, please document them clearly in the project.
Acknowledgements
• Special thanks to Google Maps for providing the API integration.
• Thanks to the IATR community for their contributions to improving public transportation systems worldwide.
Contact
For questions, issues, or support, please open an issue on the GitHub repository.
End of ReadMe.
GNU General Public License v3.0