Friday 25 September 2020

Sprint 16 Adding groups, cancel trips and booking non club boats

Adding Groups

Two feature requests were made to extend groups so that new groups could be added and/or groups could have unlimited numbers.  I decided to just implement the add a group feature as this would effectively give unlimited groups.

Cancel Trip

This is a feature that I hope wouldn't be used, but is required in the cases that the weather is not good or other out of our control events that require the trip to be cancelled.

Booking a non-club boat

I've added non-club (SBOAC) boats to the inventory so that they can be booked.  A confirmation pops up to remind the member that they need to pre-arrange bookings of these craft.

Uploading Pictures

I've decided to use Azure Storage to store pictures rather than use a 3rd party image storage and manipulation service.  I'll design it is such a way that this can be replaced at a later date if necessary.  I want to stay within the Azure ecosystem to keep the deployment simple with terraform.


Saturday 19 September 2020

Sprint 15 Forum integration, Private Trips and Miscellaneous Kit

Forum Integration

First of all I needed to introduce login redirect so that once the member has logged in, it would automatically redirect to the page specified by the link. This was achieved quite simply by storing the url and then routing to it after a successful login.

The next step was to isolate specific parts of the system so that they are self contained and didn't leak into each other.  When a data load failed, rather than redirect to the trips page, it would redirect to an error landing page that said 'try again later'.

Finally, I needed to restrict the trips page to just the club officials.  This would then force members to look at the forum to find out about new trips.  Instead of this being the logged in home page, a new console page was created to provide default links to the isolated parts of the system.

Private Trips

Private trips are a cut-down version of club trips.  The differences are as follows:

  • Members cannot join a private trip, they are added by the organiser
  • Managing groups is not provided in private trips
  • Providing additional trip information is not provided in private trips
  • Car share is provided so that basin access can be requested

Screen to create a new private trip:


Once the private trip has been created, the organiser can then add members in as participants:




Miscellaneous Kit

After discussing this with one of the equipment officers, we decided to handle this with a free text field that the participant can edit. A new field has been added to the participant notes edit form.

And displayed on the participant summary:


What next

The next step is to do a full club trial with this version of the application.  This will be a forum integrated test where I ask the club reps to create 'imaginary' trips that can then be advertised on the forum and all club members can sign up for.  This will be taking the trialling to the next level and ironing out any issues with the app or the processes.

Friday 4 September 2020

Sprint 14 Inventory Management

Inventory Management

Back in 2017 I created demo called BoatInventory which I showed to people at the kayaking club.  It was purely a database application where people could search our boat inventory.  I got some good feedback and people thinking about how a booking system could work.  Well, around 3 years later, I've finally added this functionality to BoatTrippy to make the demo obsolete! 

A key part of this functionality is the Inventory Management that the Equipment Officers can use to manage the boats.  Here are the new features:

Add New Inventory Item

Update an existing Inventory Item

Retire an Inventory Item

Fault Management

Also I've completed the fault / damage reporting and resolution workflows.  This now allows any member to report a fault, but only the equipment officers to mark as in repair and then resolve the report.  

There are two ways this can be used. 1) Mark as in repair which will stop people booking the boat until resolved.  This is for more serious faults that make the boat temporarily unsuitable for trips.  2) Resolve without marking as in repair. This is where the fault doesn't stop the boat being used on a trip.   

Integrated / embedded usage

This week I had a conversation with the club chair about the potential issue of the members not reading messages on the forum as they spend more time on the new application.  This is a valid point as the app is not intended to be used for general messages and discussions, particularly around club nights and SBOAC issues.

My intention is for the application to be used 'from the forum' rather than 'instead of the forum'.  I'll be doing some work in the next sprint to ensure that each of the workflows work from a single route (url) which can be reached from the forum.  

This means that we will remove the menu at the top of the application.  The parts of the application will only be accessible from direct links and login will redirect to these direct links.  If someone logs onto the app directly, they will land on their profile page where officers will have access to their console.  standard members. Any failures will be routed to a standard failure page where the user can report this to admin.