Coder Social home page Coder Social logo

sswconsulting / ssw.rewards.mobile Goto Github PK

View Code? Open in Web Editor NEW
27.0 21.0 8.0 244.81 MB

Home Page: https://rewards.ssw.com.au

License: Apache License 2.0

C# 66.36% Bicep 1.58% HTML 10.89% CSS 0.44% JavaScript 0.02% TypeScript 20.41% Dockerfile 0.21% PowerShell 0.09%
dotnet dotnetmaui mobile mobile-app qrcode rewards rewards-platform android csharp ios xaml

ssw.rewards.mobile's Introduction

SSW Rewards Mobile App!

This is a .NET MAUI app with a .NET 8 backend.

Use this app to scan SSW QR codes, earn SSW Points ⭐, claim rewards and win prizes!

.NET MAUI migration

App was upgraded from Xamarin.Forms to .NET MAUI, using initially the .NET Migration assistant (using the .NET CLI) to produce a reference project, but then most of the work was done manually. You can see the resulting PR, which shows all the changes from the previous Xamarin.Forms version, to the .NET MAUI version here: #451.

Contributing to this repo

To contribute to this project follow the steps below. Please ensure you are following the Developer Guidelines when submitting a pull request.

  1. F5 Experience
  2. Getting Started on a PBI
  3. Getting Ready to Complete a PBI
  4. Deployment Steps
  5. Overview
  6. Technologies & Architecture

Trends and Analytics

ssw.rewards.mobile's People

Contributors

adamcogan avatar alexbreskin avatar andreaslengkeek avatar anton-polkanov avatar antpolkanov avatar christianmorfordwaitessw avatar christoment avatar dependabot[bot] avatar gregharris12 avatar gregharrisssw avatar hona avatar jackdevau avatar jackkranz avatar jakebayliss avatar jianganna7 avatar lukecookssw avatar matt-goldman avatar matt-goldman-ssw avatar sethdaily avatar tkapa avatar wicksipedia avatar william-liebenberg avatar zacharykeeping avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ssw.rewards.mobile's Issues

NDC Feature: Giving away a prize to an attendee.

We could allow admins to create events and the speaker can be given a code to use during the event.

Each attendee can enter the code into the app to show that they are present. The app can then automatically pick a random attendee from those who entered the code.

Admins can see the whole list of attendees who entered the code on the event page in the app. Attendees can see that they are marked as attended.

The concept of an Event and the concept of a Speaker/Attendee and then connect the two.

AB#57431

Earn Points Page

  1. Change existing menu item from “Events” to “Events – Upcoming”
  2. Add new flyout menu (left nav) item for ‘Events - Attended’
    a. Show hashtag for current event
    b. Indicate that points can be earned for tweeting this hashtag
    c. Show who else is at the event
  3. Ensure data is consistent to distinguish events: e.g.
    a. Adam’s talk at NDC becomes “NDC – Chinafy your App”
    b. Jason’s talk at NDC becomes “NDC – Clean Architecture”

Add sophie integration

Matthew Sampias:
My Feedback on the App as a demo for NDC and post NDC: I think the SSW app would look great on Sophie - I would love to walk up to the Sophie Hub and have all these features available just as they are on the phone.

NDC Feature: Leaderboard shows points earned in last 60 days

The points that are displayed on the leaderboard are currently calculated separately from the points displayed on a profile and the points already include the date earned. With this functionality already in place, the only thing that is needed is to add a filter to the leaderboard page that will only include points earned in the last 60 days.

Recording Interactions with SSW

We will record interactions with SSW. Such as:

  • Attend a user group or Superpowers
  • Retweet a rule or video
  • Complete SSW Quizzes (looking for smart people)

Feature: See who has scanned this code

As a user, I should be able to:

  • Tap an ellipsis next to a prize to see which users have claimed it

  • Tap an ellipsis next to an achievement to see which users have scanned it

NDC Feature: Allow users to submit questions to a presenter from the app

Add the functionality that would allow a viewer (in person or online) to submit questions through the app and gain points in return.

This topic requires further discussion. Here are some points that should be discussed:

  1. Adding an alphanumeric code to a presentation that serves as a way to interact during a presentation
  2. How do we validate questions so that people don't spam for points?
  3. Is there a way for a presenter to award people for verbally asking a question?

🐛 Auth - Unable to log into app after it closes / Unable to register

To: @jakebaylissssw
cc: @adamcogan , @matt-goldman ,@AndreasLengkeek, @ozdemir-mehmet, @wicksipedia, @nvhoanganh, @brydeno

Expected Behavior

I should be able to log into the app multiple times.

Current Behavior

I can only log into the app once. After that, once it has closed, I just see the red spinner on the login screen. I need to delete the app then re-install it, in order to log in again.

Possible Solution

This could be related to MSAL configuration (see #125) but could also be to do with KeyChain configuration if the app bundle was modified.

Steps to Reproduce

  1. Install the app on iOS.
  2. Log in.
  3. Close the app (NOTE: swiping up doesn't always reproduce the issue, but restarting the device does).
  4. Attempt to log in again.

AB#57970

sign up using social media

How about allowing the user to sign up using social media (Google, Facebook, etc). We can also get in to their network in this way (of course, with their permission)

Onboarding screen - return to previous location

When accessing the onboarding screens from the flyout menu, when you close the onboarding screen you should return to your previous location/page. If this is not possible, go straight to the Earn Points page.

SSW.Rewards: Sprint 19 Forecast

To: @adamcogan
Cc: @MattGoldmanSSW, @AndreasLengkeek

(Checked by Matt)

Hi Adam,

Current Sprint: 19
Sprint Goal: Completing PBIs
Sprint Duration: 1 week
Project: SSW.Rewards
Project Portal: https://ssw.visualstudio.com/SSW.Rewards
Product Owner: Adam Cogan
Sprint Review Meeting: 13/10/2020 2:00 pm (Sydney/Melbourne Time)

Attendees: Andreas, Adam, Matt

As per our Sprint Planning Meeting, and as the Product Owner, you have agreed to the following Product Backlog Items (PBIs) being included in the current sprint backlog.

The Team will do its best to deliver this set of features (Scope), to a defined quality standard (Definition of Done) by the end of the sprint. Ideally the team will deliver what they forecast, or even a bit more, but this can't be guaranteed.

ID Title Assigned To Effort
AB#57024 🚀 Admin - Give user a reward Andreas Lengkeek 8
AB#57466 Physical vs Online Rewards – How do we hand out rewards? (GitHub Issue #133) Matt Goldman 8
AB#44264 Admin - Manage Rewards Andreas Lengkeek 8
AB#57460 Bug - Already scanned error when scanning an achievement (GitHub Issue #136) Matt Goldman 4

https://ssw.visualstudio.com/SSW.Rewards/_sprints/backlog/SSW.Rewards%20Team/SSW.Rewards/Sprint%2019

<This is as per rule: http://rules.ssw.com.au/Do-you-create-a-Sprint-Forecast-email.aspx />

AB#57507

Physical vs Online Rewards – How do we hand out rewards?

As per our conversation @AndreasLengkeek @MattGoldmanSSW @SSWnathanmills @adamcogan @jerwinparker

These are the proposed changes to distributing rewards:

  • People can redeem rewards more than once as long as they have the required balance.
  • New page on the app so the user can browse rewards.
    • Have each reward have a claim value.
  • Description on field on reward which shows on app.
  • Redeem button – UI:
    • If they have the points, it is enabled.
    • If they don’t have the points, it is disabled.
    • Do we want the button to say – claim it in person (for physical rewards?)
  • ONLINE rewards – there will be an email that indicates “this prize has been claimed” sent to Marketing
  • Physical rewards – there will be a pop up warning indicating “this reward needs to be claimed in person” or “attend an SSW User Group to claim this reward.”
    • On a physical reward when you click redeem it pops up with a QR code reader.
  • Investigate Eventbrite for ONLINE rewards – integration to generate codes.
  • Future development: Shipping for physical rewards (Capture shipping address on profile)

linked to issue #104

AB#57466

After NDC

After NDC feedback :

  • Add expense claims
  • Add private profile info (billed hours, projects/customers I worked for, tech stacks)
  • Annual review feedback + goals
  • Add anonymous tips to a better SSW
  • Request to work on upcoming/current projects (client + internal)
  • Add SSW Superpowers and Usergroup travel plans/accommodation option s

App - SSW Rewards progress bars

As per my email with Matt G, I am adding an issue to add rewards progress bars to the SSW Rewards app.

Having progress bars that show how far you are from the next reward will gamify the app and make clients feel more inclined to use it.

AB#60481

'unlock a code' to superpowers

From: Penny Walker
Hi guys, just generally this looks awesome! I think it's quite fun and it looks sexy. I think it would be awesome if the app could 'unlock a code' to the superpowers of their choice if they win the prize (smile) I'll need to set up the code, but it might be nicer than them getting an email for me?

Earn Rewards should be Win Prizes

NDC Feedback - the screenshot says "Earn Rewards" while showing google prizes.
That implies that everyone that earns enough points can get a google home.
I'm pretty sure the google pictures are prizes and cannot be "earned"
This should say "Win Prizes"

For example, quantas points can earn rewards - it takes a long time but everyone who gets enough points can get the stuff.

Technical Debt: Add a Currency Model for points

Adding a Currency Model

This change addresses technical debt as noted in the code here:

https://github.com/SSWConsulting/SSW.Rewards/blob/983c49e2d69ff5a2adbce7cfbe0de8e6e2a5fce9/API/SSW.Rewards.Application/Reward/Commands/ClaimReward/ClaimRewardCommand.cs#L76

       // TECH DEBT: the following logic is intended to 'debounce' reward
       // claiming, to prevent users claiming the same reward twice
       // within a 5 minute window. This workaround is only required on 
       // the current 'milestone' model for points. Once we move to the
       // 'currency' model, this will not be required anymore.
  1. Add the ability to have QR codes that hold negative point values
  2. Currently, points are calculated before the user information is sent to the application. During this calculation also include the negative QR codes.
  3. Create unique QR codes for each prize that can be awarded and assign them the respective negative value of their point value.
  4. Provide each office with these QR codes so that when a user claims and picks up a prize the user can scan the negative code.

Include a URL that explains to a new developer both models that the app users

  1. Add an additional page to the Introductory popup in the Rewards app.
  2. On the new page say something similar to, “The SSW Rewards app gives you the opportunity to accumulate points and win prizes. There are 2 ways that you can earn prizes with these points. First, by reaching specified milestones at which you will be rewarded the prize specific to that milestone. Second, by accumulating points, selecting a prize you would like, and then trading in the number of points that that prize is valued at.”

AB#59098

💡 Suggestion: Support Shipping

Hey Team

SSW would like to give out physical prizes such as the Xiao Mi Band and Smart Keepcups to all users of the app around Australia and eventually the world! Unfortunately as everything has moved online we are not getting a chance for users to grab one in the office.

The proposed changes are for SSW to ship these prizes to customers with enough points at no cost to them! First starting with Australia and even internationally in the future.

What do you all think about this?
React with 👍 if you agree!
React with 👎 if you dont! Also tell us why you think so as a comment!

SSW.Rewards: Sprint 20 Forecast

To: @adamcogan
Cc: @MattGoldmanSSW, @AndreasLengkeek

Hi Adam,

Current Sprint: 20
Sprint Goal: Finishing admin app
Sprint Duration: 1 week
Project: SSW.Rewards
Project Portal: https://ssw.visualstudio.com/SSW.Rewards
Product Owner: Adam Cogan
Sprint Review Meeting: 23/10/2020 2:00 pm (Sydney/Melbourne Time)

Attendees: Andreas, Adam

As per our Sprint Planning Meeting, and as the Product Owner, you have agreed to the following Product Backlog Items (PBIs) being included in the current sprint backlog.

The Team will do its best to deliver this set of features (Scope), to a defined quality standard (Definition of Done) by the end of the sprint. Ideally the team will deliver what they forecast, or even a bit more, but this can't be guaranteed.

ID Title State Assigned To Effort
AB#57793 Admin - Users - Grid (GitHub Issue #520) Committed Andreas Lengkeek 8
AB#57792 Admin - Rewards Grid (GitHub Issue #521) Committed Andreas Lengkeek 8
AB#57791 Admin - Achievements Grid (GitHub Issue #522) Committed Andreas Lengkeek 8
AB#57790 Admin - Leaderboard grid (GitHub Issue #523) Committed Andreas Lengkeek 8
AB#57460 Bug - Already scanned error when scanning an achievement (GitHub Issue #136) Committed Matt Goldman 4
AB#57466 Physical vs Online Rewards – How do we hand out rewards? (GitHub Issue #133) Committed Matt Goldman 8
AB#44264 Admin - CRUD Rewards Committed Andreas Lengkeek 8
AB#57024 🚀 Admin - Give user a reward Committed Andreas Lengkeek 8

https://ssw.visualstudio.com/SSW.Rewards/_sprints/backlog/SSW.Rewards%20Team/SSW.Rewards/Sprint%2020

<This is as per rule: http://rules.ssw.com.au/Do-you-create-a-Sprint-Forecast-email.aspx />

AB#57795

🚀 Add GitHub Action to auto deploy to Apple App Store + Google Play Store

To: @AndreasLengkeek
CC: @wicksipedia @MattGoldmanSSW

🚀 1. Add the action to automate those steps

  1. Review Rules to better Xamarin and decide if we need a rule that links to an article like the below one

  2. Include a 'done - checked by Matt W and Matt G together'

-a

https://link.medium.com/OyUMR2S2Sab

Automate Android App Publishing on Play Store using GitHub ...medium.com › automate-android-app-publishing-on-pl...
Jun 27, 2020 — You can find more details about Github Actions here. ... Prepare Play Store Service Account; Deploy to Play Store; Notify Build status on ... You'll need a service account to publish the app on the Play Store automatically.

AB#57869

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.