86 lines
3.3 KiB
Markdown
86 lines
3.3 KiB
Markdown
# Stevens SmartPark
|
|
|
|
Stevens SmartPark is a proposed campus parking information system for Stevens Institute of Technology.
|
|
|
|
The goal of the project is to make it easier for students to view parking information for major campus parking locations before deciding where to park.
|
|
|
|
# Intended Users
|
|
|
|
The initial system is intended for Stevens students who need parking information for campus parking areas.
|
|
|
|
# Proposed Parking Locations
|
|
|
|
The project currently focuses on these five proposed locations:
|
|
|
|
- Babbio Garage
|
|
- River Lot
|
|
- 8th Street Lot
|
|
- Castle Point Hall Lot
|
|
- Howe Center Lot
|
|
|
|
# Planned Parking Information
|
|
|
|
For each parking location, the planned application may display information such as:
|
|
|
|
- available parking spaces
|
|
- total parking spaces
|
|
- whether the location is open or closed
|
|
- opening and closing times
|
|
- overnight parking rules
|
|
- handicapped parking availability
|
|
- electric-vehicle charging availability and, when applicable, pricing
|
|
|
|
# Simulated Parking Activity
|
|
|
|
Real-time Stevens parking data may not be available to the project, so the application is planned to support simulated parking activity.
|
|
|
|
For example, when a simulated vehicle enters a parking location, the available-space count can decrease by one. When a simulated vehicle leaves, the available-space count can increase by one.
|
|
|
|
Any parking capacity or availability values used during development are **sample data** and should not be interpreted as live Stevens parking information.
|
|
|
|
Example:
|
|
```text
|
|
Parking Location: Babbio Garage
|
|
Total Spaces: 120 # sample data
|
|
Available Spaces: 42 # sample data
|
|
Open: Yes
|
|
Opening Time: 7:00 AM
|
|
Closing Time: 11:00 PM
|
|
Overnight Parking: No
|
|
EV Charging: Available
|
|
```
|
|
|
|
# Current Project Status
|
|
|
|
The SmartPark application itself and live Stevens campus parking data are not currently deployed.
|
|
|
|
The team's currently deployed operational work hub is Gitea, which is being used for source control, issues, pull requests, reviews, and project history.
|
|
|
|
## Simulated parking-capacity core
|
|
|
|
`ParkingLot` is a small, in-memory Java 21 component for the proposed SmartPark
|
|
application. It records a lot name, total capacity, and available spaces.
|
|
`vehicleEnters()` decreases availability; `vehicleLeaves()` increases it. The
|
|
component rejects counts outside the range from zero to capacity and prevents
|
|
arrivals at a full lot or departures from an empty lot. It does not fetch live
|
|
campus data, save state, or expose a web interface.
|
|
|
|
The repository's `Jenkinsfile` compiles this component with all Java compiler
|
|
warnings treated as errors, then runs automated boundary and transition tests.
|
|
The only build dependency is JDK 21, already present in the selected Jenkins
|
|
image. A clean local run from the repository root is:
|
|
|
|
```bash
|
|
mkdir -p build/classes
|
|
javac -Xlint:all -Werror -d build/classes \
|
|
src/main/java/edu/stevens/smartpark/ParkingLot.java \
|
|
src/test/java/edu/stevens/smartpark/ParkingLotTest.java
|
|
java -cp build/classes edu.stevens.smartpark.ParkingLotTest
|
|
```
|
|
|
|
Expected test output is `ParkingLot tests passed`. A nonzero exit status means
|
|
the compile or test step failed. The generated `build/` directory is ignored by
|
|
Git. The Jenkins pipeline is intended for trusted team changes only; it runs
|
|
on the Jenkins controller because this small assignment deployment has no
|
|
separate build agent.
|