Giter VIP home page Giter VIP logo

findadoc-web's Introduction

findadoc-web's People

Contributors

allcontributors[bot] avatar anissa3005 avatar ann-kilzer avatar deek87 avatar dependabot[bot] avatar ermish avatar evan-desu avatar kumaguro3 avatar lucy-gelderloos avatar nabbeunnabi avatar nasiranebi914 avatar ragezbla avatar renovate[bot] avatar tch4lla avatar theyokohamalife avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

findadoc-web's Issues

Navbar - Wire up locale dropdown menu

Requirements

  • Connect the locale dropdown menu to the pinia state store for language.
  • Trigger an update to the store when the menu is changed
  • Update the dropdown menu local state and UI to match the user's selection
  • Wire to Vue i18n: https://kazupon.github.io/vue-i18n/

See https://github.com/WWCodeTokyo/speak-her-db for an example in another vue codebase

Notes:

  • be sure to use "locale" and not "language" for variable names
  • Relevant ISO codes are en for english and ja for Japanese
  • Ask @ann-kilzer for questions as she has experience with i18n (internationalization)

This has a dependency on PR #59 and #58

Create Admin Panel - Admin View - Pending Submissions

Requirements

  • Ability to moderate pending submissions
    • Approve
    • Edit
    • Delete

Workflow

  • Admin logs in
  • Admin chooses pending submissions
  • Admin can delete an inappropriate submission
    • A reason for deleting the submission must be entered in a text box. The reason can be as short as one word.
  • Admin can edit incorrect or missing information
  • Admin can save the changes without approving
    • The submission will remain as pending
  • Admin can approve the changes, and the submission will move to the approved list
  • Admin logs out

Set up linting rules and pipeline

requirements

  • Linting rules are updated based on team's spec.
  • linter is ran on PRs.
  • All files in project have been linted and updated

Set up testing for pinia stores

Requirements

  • Our main business logic is going to be in pinia state stores. This is where our actions, mutations, and state management logic is located.
  • This ticket is to add the recommended approach for testing stores.
  • Add the pinia testing to the test script in package.json
  • This should NOT include jest.
  • If you look up testing pinia they recommend using the vue testing library and some guides recommend
    vue test utils
    https://github.com/vuejs/test-utils/
    Pinia testing library
    @pinia/testing
    And some guides recommend vitest
    https://test-utils.vuejs.org/guide/

Navbar - Add Hamburger Menu Icon

Requirements

  • Add hamburger menu icon to codebase

  • Hamburger menu should appear when the site is viewed in portrait mode

  • Hamburger menu should appear when the site is viewed in landscape mode and the width is less than 800px.

  • The css should follow tailwind css best practices.

  • This should be implemented in the TopNav vue component

  • The actual hamburger menu will be added in a separate PR

Navbar - Add Home Button to page

Requirements

  • Add Home button to the navbar
  • Add logo image to the codebase
  • Update css to match wireframe

Wireframe to reference for top-left button positioning

Untitled

Navbar - Create Locale Menu Dropdown

Requirements

  • Create a new vue dropdown component and integrate into the TopNav vue component
  • Using vue best practices, wire up logic for opening and closing the menu based on local vue state.
  • You can use English and Japanese as temporary, hard-coded options in the menu for this PR.
  • UI should be responsive for when page changes width and should show in the hamburger menu

Create Admin Panel - Admin View - Removing Moderators

Requirements

  • Ability for Admin to remove users as moderators
    • A reason for removing the moderator must be entered in a text box

Workflow

  • Admin logs in
  • Admin chooses moderators
  • Admin can see a list of active and pending moderators
  • Admin clicks delete next to the name of the chosen moderator
  • Admin enters the reason in the confirmation dialog
  • Admin clicks the confirm delete button
  • Admin sees the user removed from the moderator list
  • Admin logs out

Create Search Page - Map Component

Requirements

  • A map that shows pins for clinics that meet the user’s search conditions
    • The pins can be clicked on to take the user to the location’s page on Google Maps. It will not fetch detailed location info or ratings from Google for the MVP.

Workflow - Using the results map

  • The user sees a list of clinics to the left and a map with pins to the right
  • The user clicks on one of the pins on the map
  • The map centers on the pin associated with that clinic and the appearance of the pin changes to distinguish it from the other pins
  • A small dialog opens near the pin with the basic info from the results list
    • Just the name of the clinic and a View on Google Maps button will appear in the dialog for MVP
  • The matching clinic info in the results list is highlighted
  • The user clicks the View on Google Maps button
  • The user views the clinic’s information page on Google Maps that opens in a new tab
    • On Google Maps, the user can see ratings, comments, and get directions

Create Admin Panel - Moderator View

Requirements

  • Page provides a clear indicator that they are a moderator.
  • Functions the same as admin view, but a few features are removed
    • Adding and Removing Moderators sections are Removed

Workflow

  • user logs into the admin dashboard
  • confirms they are moderator level access
  • Reviews and updates submissions

bug: Fix eslint CI

Requirements

  • the eslint CI runner currently fails on the install step. Please fix!

Backend Foundation

Create a backend

Recommended structure:

  • web (existing fe / nuxt code)

  • server (the new backend code)

  • NodeJS / Express

  • REST

  • Eslint

  • Prettier

Navbar - Create Hamburger Menu Component

Requirements

  • Create a separate hamburger menu vue component and add it into the TopNav vue component.
  • Implement a nice UI of your choice for the hamburger menu
  • Add a css transition animation for showing and hiding the hamburger menu
  • This is just the empty component creation. Links can be added in a separate PR.

This has a dependency on PR #54 and #55

Update CONTRIBUTING.md

The contributing file is very out of date. Please update it to reference the current stack as well as technical needs, and link to it from the main README.md

Create Admin Panel - Admin View - Approved Submissions

Requirements

  • Ability to moderate approved submissions
    • Edit
    • Delete
    • Revert to pending

Workflow

  • Admin logs in
  • Admin chooses approved submissions
  • Admin can delete an inappropriate submission
    • A reason for deleting the submission must be entered in a text box
  • Admin can edit incorrect or missing information
  • Admin can save the changes
    • The changes will immediately go live on the site
  • Admin can revert an approved submission to a pending one for further review
  • Admin logs out

bug - fix yarn issue

  • yarn install-state.gz keeps getting modified, let's remove it from source.
  • fix yarn.lock inconsistencies between devs

Create Search Page - Search Component

Requirements

  • A "what" search field by doctor specialty
  • A "language" dropdown menu of available languages
    • Only English for the MVP
  • A "where" field that will look up the desired location on Google Maps

Workflow - Searching for a clinic

  • The user selects the search conditions
    • Selects a doctor’s specialty
    • Selects a language
    • Enters the desired clinic location
      • Textfield
      • This may or may not be the current location of the user
      • The user should be able to input a postal code, city name, or select current location
  • The user clicks the Search button

error in `yarn dev`

When I run yarn dev I see the following error in the console:

“ERROR nuxt3/nuxt cannot be imported directly. Instead, import runtime Nuxt composables from #app or #imports. [importing nuxt from plugins/vue-gtag.client.js]”

Create Admin Panel - Admin View - Assign Moderators

Requirements

  • Ability for Admin to assign users as moderators

Workflow

  • Admin logs in
  • Admin chooses moderators
  • Admin enters email address for person to be added as a moderator
  • Admin can see a list of active and pending moderators
  • Admin logs out

Create Search Page - Search Results Components - Desktop View

Requirements

  • A list that shows healthcare professionals
  • use dummy data for milestone 1
  • match styling from prototype

Workflow - Using the results list

  • User can see results list and it renders properly in desktop mode

Edit: updated after developer meeting to reflect new requirements

Navbar - Create a new state store for locale selection

Requirements

  • Create a new pinia store for selecting the language
  • For MVP, the two options will be en (english) and ja (japanese). These are the ISO codes. You may store them as strings for now
  • Create an action/mutation for updating this state.
  • Be sure to call relevant variables "locale" and not "language"

Ann's example of a locale selector: https://github.com/WWCodeTokyo/speak-her-db
Note that the state here is just in the browser's local storage, but you get a sense of how i18n can be implemented.

Why are we doing this? We want to preserve the user's locale selection when the page is reloaded.

Navbar - Wire up the hamburger menu logic

Requirements

  • Make hamburger menu clickable
  • The css should follow tailwind css best practices.
  • Add a visual css indicator that it has been clicked
  • Through vue best practices, this should trigger showing the hamburger menu and update the state in the navbar vue component.
  • Note: the hamburger menu itself will be created in a separate PR.

This has a dependency on PR #54

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.