Git Product home page Git Product logo

sweng-12's People

Contributors

avalonxd avatar babohhauru avatar jamesfenzy09 avatar mystikhub avatar smurph40 avatar stanislus avatar

Stargazers

 avatar

Watchers

 avatar

sweng-12's Issues

mostPopularVoucherSize.js: Change statistics for pie chart

We misinterpreted the statistics that should be shown for this chart. In mostPopularVoucherSize.json, we should be counting and comparing the percentages of the different sizes of voucher sizes purchased (5, 3, 10, etc.) and reporting their percentages. Since the vouchers.json file doesn't report the stores or schemes these voucher packages were purchased for, we can only come up with this statistic on all stores.

voucherCount.js: support for per-store statistics and all stores

Update the voucherCount.js file to support queries for individual stores, as well as all the stores (and return the correct data accordingly). It already supports statistics for all the stores, just need to differentiate between all stores and individual stores, then for individual stores return data for the store being asked for.

Should we use a NoSql database?

We should discuss whether or not we should use a NoSql database on our backend. Our client uses Firebase and we could tie our version nicely when we hand over the code bundle.

  • Ask the client if the lack of a NoSql database would be a deal breaker

API Specification: /customer_growth

We should come up with some kind of expected output from making a request to /customer_growth on the back end, to help developing the back end route and the front end chart. Deciding on the format of the expected response early should help both teams get the feature done quickly.

This chart should show a growth chart displaying the amount of all time users, overall and by store

From the client specification:
The web app should scale correctly for stores with numerous locations and numerous
schemes. The dummy store I will be providing for you has 2 location and 2 loyalty
schemes. However I may later provide you with a different dummy store that has a
different amount of locations and schemes, and the code should work the same.

API Specification: /voucher_purchase_counts

We should come up with some kind of expected output from making a request to /voucher_purchase_counts on the back end, to help developing the back end route and the front end chart. Deciding on the format of the expected response early should help both teams get the feature done quickly.

This chart should show how many vouchers/voucher packages have been purchased

From the client specification:
The web app should scale correctly for stores with numerous locations and numerous
schemes. The dummy store I will be providing for you has 2 location and 2 loyalty
schemes. However I may later provide you with a different dummy store that has a
different amount of locations and schemes, and the code should work the same.

Chart: A businesses retention rate

A businesses retention rate (what percentage of customers from 60-30 days ago have also collected a stamp in the last 30 days)

Decide on making this a bar chart or a pie chart.

Front end: Match squid loyalty color scheme

Find a way to make each of the charts use the same two colors as from our client's screenshots. Ideally, these values would be accessed by each chart from the same res.js or colors.js file.

From our client's screenshots, the primary color was #FA7268 and the secondary color was #00C1C0

totalRedeemedTotalUnredeemed.js: support for per-store statistics and all stores

Update the totalRedeemedTotalUnredeemed.js file to support queries for individual stores, as well as all the stores (and return the correct data accordingly). It already supports statistics for all the stores, just need to differentiate between all stores and individual stores, then for individual stores return data for the store being asked for.

As well as that, please change the query parameter ?scheme= to ?store= for clarity

Back end route: /multi_store_customers

This route should follow the format we discussed:

example: /multi_store_customers?store=001

{
    "multi_store_customers": 10, // Customers that visited more than one store
    "single_store_customers": 20 // Customers that only visited the store in the store asked
}

Only look through different stores, different schemes from the same store is OK

Originally posted by @MystikHub in #6 (comment)

API Specification: /redemption_rate

We should come up with some kind of expected output from making a request to /redemption_rate on the back end, to help developing the back end route and the front end chart. Deciding on the format of the expected response early should help both teams get the feature done quickly.

This chart should show per loyalty scheme, what percentage of users who have stamped have redeemed a reward for that scheme

From the client specification:
The web app should scale correctly for stores with numerous locations and numerous
schemes. The dummy store I will be providing for you has 2 location and 2 loyalty
schemes. However I may later provide you with a different dummy store that has a
different amount of locations and schemes, and the code should work the same.

Front end UI: store selector

I realized that most charts will need some way of selecting which store the data should be displayed for. Rather than having a selector for each widget, I thought it would be a good idea to follow our client's current solution where the top of the dashboard has a single dropdown for the store to use for all the charts on the dashboard.

Discuss below

API Specification: /retention_rate

We should come up with some kind of expected output from making a request to /retention_rateon the back end, to help developing the back end route and the front end chart. Deciding on the format of the expected response early should help both teams get the feature done quickly.

This chart should show "A businesses retention rate (what percentage of customers from 60-30 days ago have
also collected a stamp in the last 30 days)".

From the client specification:
The web app should scale correctly for stores with numerous locations and numerous
schemes. The dummy store I will be providing for you has 2 location and 2 loyalty
schemes. However I may later provide you with a different dummy store that has a
different amount of locations and schemes, and the code should work the same.

retention.js: support for per-store statistics and all stores

Update the retention.js file to support queries for individual stores, as well as all the stores (and return the correct data accordingly). It already supports statistics for all the stores, just need to differentiate between all stores and individual stores, then for individual stores return data for the store being asked for.

API Specification: /loyalty?by=age

We should come up with some kind of expected output from making a request to /loyalty?by=age on the back end, to help developing the back end route and the front end chart. Deciding on the format of the expected response early should help both teams get the feature done quickly.

This chart should show loyalty (average days between stamps) by age group

From the client specification:
The web app should scale correctly for stores with numerous locations and numerous
schemes. The dummy store I will be providing for you has 2 location and 2 loyalty
schemes. However I may later provide you with a different dummy store that has a
different amount of locations and schemes, and the code should work the same.

stampTotalTrend.js: support for per-store statistics and all stores

Update the stampTotalTrend.js file to support queries for individual stores, as well as all the stores (and return the correct data accordingly). It already supports statistics for all the stores, just need to differentiate between all stores and individual stores, then for individual stores return data for the store being asked for.
Also, the data returned for individual stores should only return the data for the schemes from that store

Back end route: all stores

For the store selector on the front end, we need a way of getting a list of all stores. We only need something simple like:

GET request to /all_stores:

[
    "001",
    "002"
    // Other stores to show up down here
]

API Specification: /multi_store_customers

We should come up with some kind of expected output from making a request to /multi_store_customerson the back end, to help developing the back end route and the front end chart. Deciding on the format of the expected response early should help both teams get the feature done quickly.

From the client specification:
The web app should scale correctly for stores with numerous locations and numerous
schemes. The dummy store I will be providing for you has 2 location and 2 loyalty
schemes. However I may later provide you with a different dummy store that has a
different amount of locations and schemes, and the code should work the same.

Back end route: /retention_rate

Make a back end route, /retention_rate that returns the number of customers from 60 - 30 days ago that have also collected a stamp in the last 30 days. We have decided on the following format for the back end response to this route:

{
    loyal_customers: 55,
    not_loyal_customers: 34
}

Business_retention

Set up back end reference routes

Possibly under another folder in the repo called "back-end-reference" should include an express app as simple as possible, only returning the example response for each route. Should be similar to unit tests.

API Specification: /loyalty?by=gender

We should come up with some kind of expected output from making a request to /loyalty?by=gender on the back end, to help developing the back end route and the front end chart. Deciding on the format of the expected response early should help both teams get the feature done quickly.

This chart should show loyalty (average days between stamps) by gender

From the client specification:
The web app should scale correctly for stores with numerous locations and numerous
schemes. The dummy store I will be providing for you has 2 location and 2 loyalty
schemes. However I may later provide you with a different dummy store that has a
different amount of locations and schemes, and the code should work the same.

API Specification: /stamps_collected_totals

We should come up with some kind of expected output from making a request to /stamps_collected_totals on the back end, to help developing the back end route and the front end chart. Deciding on the format of the expected response early should help both teams get the feature done quickly.

From the client specification:
The web app should scale correctly for stores with numerous locations and numerous
schemes. The dummy store I will be providing for you has 2 location and 2 loyalty
schemes. However I may later provide you with a different dummy store that has a
different amount of locations and schemes, and the code should work the same.

API Specification: /voucher_package_size_popularity

We should come up with some kind of expected output from making a request to /voucher_package_size_popularity on the back end, to help developing the back end route and the front end chart. Deciding on the format of the expected response early should help both teams get the feature done quickly.

This chart should show what the most popular voucher package size is

From the client specification:
The web app should scale correctly for stores with numerous locations and numerous
schemes. The dummy store I will be providing for you has 2 location and 2 loyalty
schemes. However I may later provide you with a different dummy store that has a
different amount of locations and schemes, and the code should work the same.

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.