How phani05040/myvelib_bike_sharing_system works
MyVelib is an in-memory Java bike-rental fleet manager with command-line and Swing command interfaces. The principal workflow is to configure a network, register riders, rent and return bikes, then calculate ride charges. Its domain includes station availability and bike/slot inventory, user and registration-card state, ride pricing strategies, and station planning/sorting. The graph follows calls visible in sampled excerpts; directory-level nodes represent relevant subsystems whose implementation was not sampled, so uncertain wiring is omitted.
Main entry points: MyVelibCLUI.java Command interface · DockingStation.java Docking stations · User.java Rider accounts · MyVelib.java Network manager
Components 16
User interfaces
- Command interface
src/fr/cs/group06/myVelib/userInterface/MyVelibCLUI.java - Swing interface
src/fr/cs/group06/myVelib/userInterface/MyVelibGUI.java
Network and users
- Network manager
src/fr/cs/group06/myVelib/myvelib/MyVelib.java - Rider accounts
src/fr/cs/group06/myVelib/user/User.java - Cards
src/fr/cs/group06/myVelib/cards - Locations
src/fr/cs/group06/myVelib/location/Location.java
Fleet operations
- Docking stations
src/fr/cs/group06/myVelib/dockingStation/DockingStation.java - Parking slots
src/fr/cs/group06/myVelib/dockingStation/ParkingSlot.java - Bike types
src/fr/cs/group06/myVelib/bike - Bike factory
src/fr/cs/group06/myVelib/bike/BikeFactory.java - Station planning
src/fr/cs/group06/myVelib/dockingStation - Nearest station
src/fr/cs/group06/myVelib/dockingStation/StartDockingStation.java - Station ranking
src/fr/cs/group06/myVelib/dockingStation
Ride and pricing
- Ride
src/fr/cs/group06/myVelib/ride/Ride.java - Cost strategies
src/fr/cs/group06/myVelib/ride
Other components
- Operator
Connections 16
- Operator → Command interface: enters commands
- Operator → Swing interface: enters commands
- Swing interface → Command interface: dispatches commands
- Command interface → Network manager: configures network
- Command interface → Rider accounts: creates riders
- Command interface → Ride: creates ride
- Network manager → Docking stations: creates stations
- Network manager → Rider accounts: stores riders
- Docking stations → Parking slots: manages slots
- Docking stations → Bike types: rents bikes
- Bike types → Rider accounts: updates rental
- Bike types → Docking stations: updates ratios
- Ride → Cost strategies: selects pricing
- Ride → Rider accounts: updates charges
- Nearest station → Docking stations: checks availability
- Nearest station → Locations: compares distance