Skip to content

Phase 4 - #215

Merged
eplxy merged 44 commits into
mainfrom
phase-4
Nov 26, 2025
Merged

Phase 4#215
eplxy merged 44 commits into
mainfrom
phase-4

Conversation

@eplxy

@eplxy eplxy commented Nov 26, 2025

Copy link
Copy Markdown
Owner

There's an identical PR, #213, which was incorrectly squashed into main.
After rewriting the main branch back to phase 3, this PR will use merge commit to main.

Phase 4

This iteration consists of the development for the following features/additions:

  • Flex pricing (balancing)
  • User view switching
  • Loyalty program
  • Account information page

Additionally, frontend tests (with CI) and unit test with over 50% coverage for backend code were added.

Issues

See the following issues

Pull requests

See the following pull requests

DaKingzz and others added 30 commits November 10, 2025 17:34
* made DB manager implement interface, made services depend on the interface, and minor cleanup

* removed unused authentication classes/code
* Cleanup console logs

* Change logic for DockDTO creation isOccupied (since OCCUPIED dock state competes with MAINTENANCE)

* Show docking station state on marker
* Start UI

* Rename exported component

* Add new endpoint and finish flow

* Display pricing on first step if the user has a monthly membership

* Change next button text if the user has a monthly subscription

* Fix misnamed body parameter
* Sort bills by latest to oldest

* Fix reserve bike button being enabled when the user can't reserve

* Fix marker shadow looking off when a station is out of service or under maintenance
* Update the markers if a station action was taken (e.g. undock, dock, change state, reserve)

* Fix crash on map load, change the marker for the 100th time (only on non-operational)
* Added flex credit reward on end trip

* Updated comments

* Update backend/src/main/java/org/crossroads/Domain/BikeSharingServices/TripServices.java

Co-authored-by: William Ross <william.ross.lpp.83@gmail.com>

---------

Co-authored-by: William Ross <william.ross.lpp.83@gmail.com>
* made Operator a child of Rider

* added loyalty tier and flex dollars to Rider class
* Start working on mark for maintenance

* Continue mark for maintenance styling and list display

* Add query
* Added a route to retrieve a user's flex dollars

* Added flex dollars to userinfo route
* Fixed the null authenticationManager

* Made the execution of tickets function as expected
* Loyalty Done

* AboutUs and HowItWorks Pages Completed

* Added button to Pricing

* Updated the About Us Page

* Can change plan to monthly in pricing page

* Selected Background when Monthly is selected

* Fixed an issue + added cancel subscription button

* Fixed the reload page issue

---------

Co-authored-by: Arturo <DaKingzz@users.noreply.github.com>
* added concrete discount decorators for flex dollars, operators and layalty programs

* added decoration configuration

* fixed minor issues and added extra decorator

* changed how the discount is caluclated
* added concrete discount decorators for flex dollars, operators and layalty programs

* added decoration configuration

* fixed minor issues and added extra decorator

* changed how the discount is caluclated

* minor fix

* fixed formating
* changed end trip return object, fixed unit tests to work with that change

* minor fix to reflect f$ utilization
* Start working on mark for maintenance

* Continue mark for maintenance styling and list display

* Add query

* Start adding move bikes operation

* Add ticket creation queries

* Finish move bike dialog

* silly goofy statement in loop!

* Add ticket UI

* yeah i don't need ts

* Run filter before findFirst

* Add tooltip to refresh, and add transfer state

* Adjust default expanded state

* Link execute and cancel operations, add detailed info.

* Remove unused state
* Fix crash on endTrip

* Display new flex credit balance on trip end

* Self-review
* Added leaderboard routes

* Made leaderboard routes unprotected
* Added a function that changes bike and dock States in bulk

* fixed mapping

* fixed comments

* fixed comments
* Add role to store and local storage

* Change toggle button, and flag based on role

* Self-review
* started the phase 4 demo data loading implementation

* minor clean up and complete user creation in seed file, starting working on trips and reservations

* minor cost details str fix

* added the necessary trips and reservations to have a rider/operator of each tier

* made op 2 bronze, but meet the silver requirements

* ensured riders surpassed needed number of trips and gave a rider a timed out reservation

* made big bird BRONZE

---------

Co-authored-by: Mach2-1 <103284465+Mach2-1@users.noreply.github.com>
DaKingzz and others added 14 commits November 23, 2025 21:56
* Leaderboard Page Implementation + Gotta Fix the no rides yet issue to fully test the UI

* Merge Test

* Leaderboard Page Merge Test

* Merge Query

---------

Co-authored-by: Arturo <DaKingzz@users.noreply.github.com>
* added tier verification

* Tested all tier eligibility and fixed the gold tier check

* fixed method names
* Added account info page

* Added real values instead of placeholders, loyalty tier badge remains to be added

* Added correct loyalty tier badge on account info page

Had to mess with the backend slightly so I could grab the loyalty tier value but it should be good.

* Add toggle switch button

* Only render button if the user is an operator

---------

Co-authored-by: Steven <93779447+eplxy@users.noreply.github.com>
* fixed reservation bugs

* uncommented annotation
* Add popup for loyalty tier changes

* Fix typo
* Add a couple of frontend tests

* CI-1

* Add phase-4 to the path

* fuck it

* change name
* Wrote bill entity tests

* Wrote all entity tests and modified ID generation strategy to AUTO to function properly with H2 engine.

* Wrote ticket services tests

* Modified trip services to not load the entire application context.

Implement jacoco plugin for easy reading of test coverage.

Implement different ticket tests for execute and delete ticket service methods

* Wrote tests for all controllers and covered extra service execution paths

* Formatting changes

* fixed imports

---------

Co-authored-by: Will <william.ross.lpp.83@gmail.com>
@eplxy eplxy added this to the Phase 4 milestone Nov 26, 2025
@eplxy eplxy added the phase 4 Issues related to phase 4 label Nov 26, 2025

@C0dingViking C0dingViking left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be in C++

@C0dingViking C0dingViking left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@eplxy
eplxy merged commit fd20d36 into main Nov 26, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

phase 4 Issues related to phase 4

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants