Project
RideShareApp
A JavaFX ride-sharing app that models the core features of a transportation service: user login, profile management, ride requests, map visualization, and payment handling.
Features
- Login system: basic username and password validation with a transition into the main dashboard
- Modular UI navigation: profile, map, and ride request pages loaded dynamically with FXMLLoader
- Profile management: update username, password, and contact info, and submit support tickets
- Payment methods: add card information with CVV and expiration validation
- Ride request: request a ride and calculate estimated cost and distance
- Map display: placeholder view for integrating a mapping service
- MVC structure: a clear separation between controllers, services, and views
Built with
| Component | Purpose |
|---|---|
| Java 17 | Core application language |
| JavaFX 17 | UI framework for FXML-based scenes |
| FXML | Declarative UI layout |
| Maven | Dependency management |
| IntelliJ IDEA | Development environment |
How it's organized
The app follows an MVC structure. Controllers handle each screen (login, main dashboard, profile, ride request, map, and sign up), services handle the underlying logic (profile, payment, ride request, and map), and FXML files define the views. Screens are swapped in and out through FXMLLoader rather than opening new windows.
Future improvements
- Database integration for the payment and profile services
- A real map API, such as Google Maps
- Saved ride history