Git Product home page Git Product logo

orgbook-bc-client's Introduction

License Lifecycle:Maturing

Orgbook BC Client

Overview

This application implements a user interface (built with Vue) specifically for Orgbook BC, an extension of Aries VCR, for registered organizations within the Province of British Columbia.

Note: The following sections on Running and Development assume that you already have a locally running instance of Aries-VCR. Please see the instructions here for running Aries-VCR locally with docker.

Running

Running the web application is easiest with docker. Navigate to the docker/ folder run the following in a terminal:

./manage build

followed by

./manage start

Development

Getting Started

The Orgbook BC project sits on top of verifiable credential technology facilitated by Aries VCR. A locally running instance of Aries VCR is not required to run the Orgbook BC web application on your own machine. By default Orgbook BC forwards API calls to the publicly running instance of the Orgbook API here. The Orgbook API is simply an Aries VCR instance containing credential information about BC Business entities. You can change your local instance of Orgbook to point to any running instance of an Aries VCR agent by editing the vue.config.js file outlined in this section here. If you would like to setup a locally running instance of Aries VCR to test with Orgbook, then follow the instructions here. To run Orgbook in development mode look at the project setup section here

Proxy Configuration

The vue.config.js file contains configuration information for the Orgbook BC project, including the URL of the Aries VCR API that Orgbook will send requests to.

  configureWebpack: {
    devtool: "source-map",
    devServer: {
      proxy: {
        "/api": {
          target: "https://orgbook.gov.bc.ca",
          // target: "http://localhost:8080",
        },
      },
    },
  },

Simply change the target to the URL of the Aries VCR instance that you wish to use. Some examples are https://dev.orgbook.gov.bc.ca, https://test.orgbook.gov.bc.ca, or http://localhost:8080 if you are running Aries VCR locally on port 8080

Project setup

Orgbook relies on npm and the Vue.js framework. Please make sure npm is up to date and installed on your system. After you've verified npm is installed, run the following command in the base folder of the application to install the project dependencies.

npm install

Once all the dependencies have been installed successfully, you can start the project locally. Run the following command in the base folder of the application to start Orgbook BC on your local machine. Orgbook will use port 8080 by default. Go to http://localhost:8080 to see your locally running instance of Orgbook

npm run serve

Contributing

Pull requests are always welcome!

Please see the Contributions Guide for the repo.

Before contributing please run npm run lint and fix any linter warnings in your code contribution.

You may also create an issue if you would like to suggest additional resources to include in this repository.

All contrbutions to this repository should adhere to our Code of Conduct.

orgbook-bc-client's People

Contributors

amanji avatar esune avatar ianco avatar repo-mountie[bot] avatar swcurran avatar wadebarnes avatar wadeking98 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

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

orgbook-bc-client's Issues

Footer links not linking to the correct content.

The links in the application's footer all link back to the search page rather than the expected content.

Example site: https://frontend-v2-test.apps.silver.devops.gov.bc.ca/
image

They should link to the same content as they do in the existing version of the OrgBook; https://orgbook.gov.bc.ca/en/home

Disclaimer: https://www2.gov.bc.ca/gov/content/home/disclaimer
Privacy: https://www2.gov.bc.ca/gov/content/home/privacy
Accessibility: https://www2.gov.bc.ca/gov/content/home/accessible-government
Copyright: https://www2.gov.bc.ca/gov/content/home/copyright

Regression -- being able to search for all credentials of a given type

In the Old OrgBook UI, the advanced search feature has commonly used in demos to find a company with a specific type of credential. This is probably the only use of the "advanced search". Not particularly useful, but great for demos when you don't know the names of companies that have a specific type of credential. We (and especially @watkinspd and @jljordan42 ) would like that "Show me a list of companies with a given credential".

One idea for doing that, might be on this screen (image below), where we show all the credential types. Could the credential types be a link or perhaps have a "magnifying glass" search icon beside them that when clicked went to the search screen showing a list of that credential type.

Open to other ideas of how to get this feature back. Will it screw up the new search screen (because its using a different API or search parameters), or can we get to the search screen in that context?

image

Text for the Relationships tooltip

For now, go with:

Relationships in OrgBook BC indicate that two registered entity have some sort of formal connection defined in BC Registries. The most common is the “Doing Business As” or “DBA” relationship, where one registered entity is just a name by which another registered entity does business. In OrgBook BC, both entities will have a relationship credential that indicates their side of the relationship that references the other. For example the DBA entity would indicate “Is owned by” and reference the owning entity, while the owning entity would indicate “Doing business as” and reference the DBA entity.

Resolved: Do we know the full list of relationships? If so, I might add more to this text to define other pairs of relationships.

We also need tooltips for the other items in the image below. @alexgmetcalf -- could you please you add some tooltip text for each of the items to this ticket?
image

Please add these to Orgbook TEST

Hello, could the following be added into ORG book TST environment, please let me know if you need any more information.
Thank you!

  1. PACIFIC GOLD COAST NURSERIES - BN: 99467 3507 BC0001 - Registration# FM1006227
  2. A5 Parks – General Partnership (legal name Jane C Finley, Maurice T Hood) Registration# FM1006229
  3. VICTORIA REPAIR PATROL CORP. (incorporation # BC0913275)
  4. Jourrapide Societies Association (Society) NR 9948698 (BN: 994650703 BC0001)
  5. FIXENT CARRIERS CORP. (BC0919040)
  6. JUPITER COURIERS LTD.(BC0919041)
  7. Groot Trucking Corp (BC0919042)

How was your experience buttons in footer

Assuming this is not too difficult, here is what I suggest for the up and down arrows.

  • Up -- just record the action such that we can see it in the analytics.
  • Down -- record the action so that we can see it in the analytics, and popup:

"Sorry you didn't have a great experience. Would you like to contact us and submit a suggestion or question about the service?"

Include a "Yes" / "No" (or whatever you think...) and if they say yes, send them to the contact us page.

If possible, do NOT show the "How was your experience" button on the Contact page.

Credential verified link is incorrect for relationships / Related organizations linking to the wrong (expired) parent record.

Example record: https://orgbook.gov.bc.ca/entity/BC0928747

Steps to reproduce:

  • Navigate to the example record, or any other record with relationships.
  • Click on any of the relationships to view the related organization's details.
  • Scroll to the relationships section of the screen.
  • Open the Credential status for a related organization.
  • Hover over the Credential verified link.

Observed behavior:

  • The link is https://orgbook.gov.bc.ca/
    image

Expected behavior:

Need text for "Entity Result" dialog boxes

From the list of things left to do, this item is:

The dialog boxes have been implemented, but we need the content for the entity page dialog boxes. The wireframe does not provide any usable content for dialog boxes. We need to dicuss what content to place in the entity dialog boxes

Please provide a sample or link to an example of this. I'm not clear what is needed and where.

Suggestions for the Search menu

I find the current ("make it like Amazon") filters difficult to understand.

Here is what I would suggest:

  • the numbers should remain with the full list counts after an update due to filtering.
  • the "See more" should only list an entity if it has a non-zero count. If there are none, I would leave the "See more" off.
  • once an item is picked in a category, add a "Clear" in that category on the left side menu.

Happy to discuss these further and what complexities these introduce.

Link to API Demo broken

A user reported that the link to the API demo is broken. Please find the link and remove from OrgBook.

Add project lifecycle badge

No Project Lifecycle Badge found in your readme!

Hello! I scanned your readme and could not find a project lifecycle badge. A project lifecycle badge will provide contributors to your project as well as other stakeholders (platform services, executive) insight into the lifecycle of your repository.

What is a Project Lifecycle Badge?

It is a simple image that neatly describes your project's stage in its lifecycle. More information can be found in the project lifecycle badges documentation.

What do I need to do?

I suggest you make a PR into your README.md and add a project lifecycle badge near the top where it is easy for your users to pick it up :). Once it is merged feel free to close this issue. I will not open up a new one :)

Recommendation for ordering of filter options on search screen

The current order is Organization Type, Organization Status, Credential.
image

I'd recommend putting Organization Status at the top of the list. The first thing I find myself doing all the time is filtering by Active status to remove all of the noise of the Historical companies.

Or perhaps put the Organization Status options at the top of the list and enable the Active option by default. Unlike the previous UI this one lists the filter options at the top of the results, making it more obvious which filter options are being used.

Wrong registration number being used for related organizations?

Examples:

In the credential timeline of the example records the registration number listed for each of the related organizations is the registration number of the organization being viewed (see screenshots below).

Should the registration numbers be for the listed (related) organization itself and not that of the organization being viewed.

All registration numbers are listed as BC0928747:
image

All registration numbers are listed as FM0414526:
image

Credential timeline filtering logic may be confusing

Comparing the filtering logic between search and the credential timeline as we are looking to change the way filtering is done for search results (i.e. to remove drilling-down of results). I noticed some odd results when filtering credentials on the timeline.

Take, for example the following results:

Screen Shot 2021-10-19 at 10 51 15 AM

Assuming the following filter is applied first:

Screen Shot 2021-10-19 at 10 51 40 AM

When I subsequently apply a filter for credential type:

Screen Shot 2021-10-19 at 10 56 48 AM

It appears the filters are being ANDed when they should be ORed based on previous suggestions as to how filtering should operate. Each successive application of filters should expand the results, with the default being to show all results when no filters are applied.

This may require some further discussion from @swcurran and @wadeking98

Organization Types pop up descriptions

Several of the Organization Types are sharing the same pop up description for BC Corporation. For example Extraprovincial Company, BC Community Contribution Company, Private Act, Foreign Registration, and others.

image

Where others like Cooperative and General partnership have their own description:

image

image

Each Organization Type should have it's own pop up description.

Help text for main search and search results

We've had feedback that searchers have had trouble with some searches, especially when punctuation is involved. We want to provide some guidance for those searching on the home page near the "Find an organization" autocomplete widget and on the search results page near the "XXX result(s)" indicator. Basically, we need two buttons/icons/links and for each a popup with text that I can provide.

The issues I'm trying to address are these, from the "dislike" comments we've received:

  • I searched for "BKV Social Enterprise Co." and I received 1295 results. This does not help me to find the BC Registry ID because I neither have the time nor inclination to search through that many results. The previous version of OrgBook would have returned the result (FM0824270) I was searching for. Return only results for the exact search entered NOT all Business names that contain similar words. (this is an example of the punctuation problem -- had they just searched "BKV", they would have had only 3 results

  • advanced search - i can't sift through 1500+ results. ability to refine searches though the search terms, not just the categories (likely same as above)

  • when the organization name contains punctuation, the searching is bad. On the main page we need to help them with that.

  • at times many, many results come up and we want to provide them guidance that we have about that.

I'd like @alexgmetcalf to weigh in on the UI element -- the buttons/icons/links to be used. Alex -- please mock up some images for what to use in the two places.

Here is a first cut of the text to use in both places. Alex/others -- feel free to improve on this. Worst case, we start with this and we can evolve it as needed:

Help Text

The OrgBook searching by legal name returns all of the organizations that have any of the words that you search on, and floats the most likely matches to the top of the list. In most cases, that means that putting the fully legal name of the entity will float that result to the top. However, in some cases you may find that you get both many (many!) search results, and the entity you are looking for is not at the top. This most often happens when the legal name has punctuation marks -- for example a period "." at the end of the name, e.g. "Co." or "Inc.". It's a problem with the search tool we are using -- we're working on a fix!

When you get too many results and the name you are looking for is not at the top, we recommend that you put only the least common word (or two) from the name. For example, when searching for "BKV SOCIAL ENTERPRISE CO.", about 1300 results are returned, with the top ones having "Social" in them. That darn trailing period! In this case "BKV" is the least common word, so let's only search for that by typing "BKV" into the search bar and hitting ENTER (e.g. don't pick anything from the drop down list). The result is now just a couple of entries, one of which is the one we want.

Remember as well that with OrgBook, you don't have to search on the legal name. You can also search on the BC Registries ID (has two characters and 7 digits, like FM1234567) and by the CRA Business Number (9-digits) for the entity. If you know one or both of those values, using those for an existing entity will always find an exact match.

If you still can't find the entity you are looking for (and you are pretty sure it exists), please use the "Contact" link at the top of the page to let us know what you are looking for and that you can't find it, and we'll see if we can help.

Search Bar Accessibility

Vuetify's combobox component is being used for the search bar with autocomplete. Voice Control on iOS cannot properly focus the input when prompted. The same issue can be observed with Vuetify's autocomplete component but not with its regular text and select inputs.

I propose we rewrite the search bar using strictly a text input and attach logic for an autocomplete list.

Get BC Gov favicon

We are currently using the default Vue icons, but should be using BC Gov ones.

@CharlesMacpherson -- same as previous. Should be with Dwayne to resolve, but I don't know his GitHub handle. Please help if you know how or pass this issue to Some One Else.

Thanks

Add a 'clear' button to the search bar

A good enhancement would be to add the ability to 'clear' search results and the query from the search bar. This becomes especially useful in mobile views.

Lets use common phrasing

TL;DR 🏎️

Teams are encouraged to favour modern inclusive phrasing both in their communication as well as in any source checked into their repositories. You'll find a table at the end of this text with preferred phrasing to socialize with your team.

Words Matter

We're aligning our development community to favour inclusive phrasing for common technical expressions. There is a table below that outlines the phrases that are being retired along with the preferred alternatives.

During your team scrum, technical meetings, documentation, the code you write, etc. use the inclusive phrasing from the table below. That's it - it really is that easy.

For the curious mind, the Public Service Agency (PSA) has published a guide describing how Words Matter in our daily communication. Its an insightful read and a good reminder to be curious and open minded.

What about the master branch?

The word "master" is not inherently bad or non-inclusive. For example people get a masters degree; become a master of their craft; or master a skill. It's generally when the word "master" is used along side the word "slave" that it becomes non-inclusive.

Some teams choose to use the word main for the default branch of a repo as opposed to the more commonly used master branch. While it's not required or recommended, your team is empowered to do what works for them. If you do rename the master branch consider using main so that we have consistency among the repos within our organization.

Preferred Phrasing

Non-Inclusive Inclusive
Whitelist => Allowlist
Blacklist => Denylist
Master / Slave => Leader / Follower; Primary / Standby; etc
Grandfathered => Legacy status
Sanity check => Quick check; Confidence check; etc
Dummy value => Placeholder value; Sample value; etc

Pro Tip 🤓

This list is not comprehensive. If you're aware of other outdated nomenclature please create an issue (PR preferred) with your suggestion.

Changing the number of relationship items to display does not adjust the page display

Example record: https://frontend-v2-prod.apps.silver.devops.gov.bc.ca/entity/BC0928747

Steps to reproduce:

  • View the relationships for the example record.
  • Set the number of Items displayed to 100.
  • Now change the number of Items displayed to a smaller number.

Observed behavior:

The page starts out looking like this:
image

The page ends up looking like this:
image

Similarly if you change from a smaller number to a larger number you end up with this:

Before:
image

After:
image

Expected behavior:
The display to re-focus to the top of the Relationships like this, whenever the Items displayed is changed:
image

Update Caddyfile with relevant configurations from Nginx config

Referenced from #20 #20 (review)

Please try, where possible, as needed, to incorporate some of the features from the nginx configurations into the new Caddy configuration; nginx.conf.template, and run script.
Specifically:

Provide content for the bottom navigation links

We need content for the following OrgBook BC buttons in the footer:

  • Disclaimer
  • Privacy
  • Accessibility
  • Copyright

I assume that there is standard BC Government content that should go there.

Should OrgBook BC use a "standard BC Gov" footer and not have our own content on those page? Is that technically possible?

@CharlesMacpherson -- assigning this to you for now, but it should be with Dwayne Gordon. I just don't know his GitHub handle. On the other hand, you might know GDX procedures for this. Feel free to reassign this (ideally to Dwayne) if you don't know what to do with this.

Next and previous page buttons are enabled even when there are no additional pages to display

In the Relationships section of the company details screen the next and previous page buttons always enabled, even when there are no other pages to display.

Example records:

image

image

Similarly the previous button is enabled even when on the first page of a multi-page display:
image

and the next button is enabled even when on the last page of a multi-page display:
image

Add missing topics

TL;DR

Topics greatly improve the discoverability of repos; please add the short code from the table below to the topics of your repo so that ministries can use GitHub's search to find out what repos belong to them and other visitors can find useful content (and reuse it!).

Why Topic

In short order we'll add our 800th repo. This large number clearly demonstrates the success of using GitHub and our Open Source initiative. This huge success means it's critical that we work to make our content as discoverable as possible. Through discoverability, we promote code reuse across a large decentralized organization like the Government of British Columbia as well as allow ministries to find the repos they own.

What to do

Below is a table of abbreviation a.k.a short codes for each ministry; they're the ones used in all @gov.bc.ca email addresses. Please add the short codes of the ministry or organization that "owns" this repo as a topic.

add a topic

That's it, you're done!!!

How to use

Once topics are added, you can use them in GitHub's search. For example, enter something like org:bcgov topic:citz to find all the repos that belong to Citizens' Services. You can refine this search by adding key words specific to a subject you're interested in. To learn more about searching through repos check out GitHub's doc on searching.

Pro Tip 🤓

  • If your org is not in the list below, or the table contains errors, please create an issue here.

  • While you're doing this, add additional topics that would help someone searching for "something". These can be the language used javascript or R; something like opendata or data for data only repos; or any other key words that are useful.

  • Add a meaningful description to your repo. This is hugely valuable to people looking through our repositories.

  • If your application is live, add the production URL.

Ministry Short Codes

Short Code Organization Name
AEST Advanced Education, Skills & Training
AGRI Agriculture
ALC Agriculture Land Commission
AG Attorney General
MCF Children & Family Development
CITZ Citizens' Services
DBC Destination BC
EMBC Emergency Management BC
EAO Environmental Assessment Office
EDUC Education
EMPR Energy, Mines & Petroleum Resources
ENV Environment & Climate Change Strategy
FIN Finance
FLNR Forests, Lands, Natural Resource Operations & Rural Development
HLTH Health
IRR Indigenous Relations & Reconciliation
JEDC Jobs, Economic Development & Competitiveness
LBR Labour Policy & Legislation
LDB BC Liquor Distribution Branch
MMHA Mental Health & Addictions
MAH Municipal Affairs & Housing
BCPC Pension Corporation
PSA Public Service Agency
PSSG Public Safety and Solicitor General
SDPR Social Development & Poverty Reduction
TCA Tourism, Arts & Culture
TRAN Transportation & Infrastructure

NOTE See an error or omission? Please create an issue here to get it remedied.

Fix word-wrap on mobile devices

Reported by @DJ-Gordon.

When possible can somebody take a look at the line breaking for the links on the main page. It does not look great on Mobile when “OrgBook” break.

image

Change "In Good Standing" label on organization screen to "Active" and "Historical"

The term "In Good Standing" has legal ramifications that we can't imply on the site, and the data we are using to display the data is not sufficient. Please change the display to say "Active" and "Historical" instead of "In Good Standing" and whatever other term we are using.

If we are using "Archived" let me know and we can discuss. We need to be consistent in using the same term across the site when we mean "A dissolved organization" -- and a different term then when we are talking about a "credential that is no longer active".

This has to be done before launch. Sorry for the late notice.

Contact page text -- How to add your organization to OrgBook

Please use the following text:

Not finding your organization in OrgBook BC?

One reason you might not be finding the entity for which you are searching is that the organization has not been registered with BC Registries. If the organization has been registered, search for the BC Registries ID (it has a format like "FM1234567"). You can also try searching by your 9-digit Business Number from CRA, if that number is registered with BC Registries.

If you need to register the organization, these links may help. Register your business in BC or follow the full step-by-step guide to starting a BC business.

If you need additional information, please contact the BC Registries Help Desk via email [email protected], or by calling the BC Registries Help Desk at 1-800-663-6102.

Adjust Like/Dislike -- include an option to request a response to a comment and a way to see that stats

We recently received a "dislike" with a valid comment that I would have liked to respond to, but there was no email address available. As well, it would be nice for users to be able to just Like/Dislike without getting a "make a comment" box that they have to cancel. I recommend the flow be:

  1. Offer the "Like/Dislike" as today.
  2. On click, record a record of the click -- like/dislike and date/time.
  3. Change the Like/Dislike to "Submit a comment/suggestion" and have that as the footer for the remainder of the session. This would prevent submitting multiple like/dislikes in a session.
  4. If they click to submit a comment/suggestion, take them to the "normal" request page that includes the being able to make a comment/suggestion with an email address so we can respond.

We also need to document how we can see the like/dislike history. Perhaps a secret URL that we can bookmark that shows a summary (all time, last year, last 30 days, last 7 days) with counts?

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.