Giter VIP home page Giter VIP logo

babywearing's People

Contributors

abronkema avatar bakivernes avatar cato-hga avatar cattywampus avatar damirsvrtan avatar dependabot-preview[bot] avatar dixpac avatar douglaslutz avatar drew-goddyn avatar enderahmetyurt avatar gabrielbaldao avatar jauschalley avatar john-raber avatar juarezlustosa avatar kaziski avatar ludamillion avatar mark100net avatar nada1996 avatar niquicara avatar pollygee avatar rgaliant avatar samanthakem avatar sarna avatar sarslanoglu avatar schattian avatar seanmarcia avatar shivamvinsol avatar unicoderogue avatar valeriecodes avatar ycchen avatar

Stargazers

 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

babywearing's Issues

CRUD for Location

Add support for the basic concept of a Location. Attributes include:

  • Name
  • Organization (if/when issue #4 is completed)
  • ???

Remove Organization

We currently have Organization, and we need to remove it. It's been confusing, and for now we only have one organization. We won't have more for a long time, so we don't want to overly complicate our MVP for the unknown in the future. So going forward we want to build for only one org and want to remove what we have currently that uses it.

Landing Page

  • Add logo to top
  • style log in form
  • style registration form
  • top navbar

Organizations should have Locations

Now that the organization and location models exist, they should probably be related to each other. Let's add an association between the two models and make it so when a location is added it's joined to an organization.

Send Transaction Confirmation Email on Submit

Once a transaction has been completed, send user an email noting the following:


Greeting: Hello ,
Subject: Transaction receipt from MidAtlantic Babywearing
Body:

Check out these pointers...
https://www.youtube.com/watch?v=rfJvWBh7KPw
https://midatlanticbabywearing.org/babywearing-safety/
https://docs.google.com/document/d/1AxWPN7ACTVN76glH8wAllX5ggs2HwC0cwgBshJz_tnQ/edit?usp=sharing

You can also get a fit check on our facebook group.

Please keep the following for your records:

  • Item Information
  • Check-Out Date
  • Check-In Due Date
  • Location

Thank you for using MidAtlantic Babywearing.

[Admin] Manage Membership Types

Is your feature request related to a problem? Please describe.
Logged in site Admin users should have the ability to manage the different membership types/tiers for the group.

Describe the solution you'd like
While user is logged in, has been assigned admin role, and is currently viewing the membership_types page, the following should be available:

  • A 3-column table view listing Name (membership type), Allow Checkout and Actions.
  • Name would populate all existing membership types
  • Allow Checkout would indicate whether the membership type is permitted to check out inventory items.
  • Actions would populate an Edit button to allow the user to edit the options for that membership type.
  • Selecting Edit should allow the admin to edit the Membership Name and Allow Checkout (boolean) fields for that membership type.
  • An Add Membership Type button below the table should allow the admin to enter the Name of the membership type and toggle the Allow Checkout option. On submit, the newly created membership type should be added to the table.

Another snazzy wireframe
Manage Memberships

Add Statuses to Carriers

For carriers, we need four separate status options

  • Available
  • Disabled
  • Sold
  • Unavailable

These statuses should be a dropdown on the carrier's page.

We would also like a method on the carrier model called available_for_checkout? which will return false for all these status' except Available

Admin Show All Checked Out Items

While logged in as Admin, allow user to quickly get to a table showing all items in that organization, with the ability to filter the view by status.

Table should show the following for each item in a 5-column layout:

  • User item is checked-out to (Workflow not yet implemented)
  • Item ID (clickable link to item's CRUD page (#7 ))
  • Item Name (clickable link to item's CRUD page (#7 ))
  • Item Location
  • Item Status

Admin Show All Overdue Items

While logged in as an Admin, users should have a way to quickly navigate to a list populating all item's in an organization that are currently checked out and overdue.

Table view

  • User currently checked out (Workflow not yet implemented)
  • User First Name
  • User Last Name
  • User Email (link mailto:)
  • User Phone Number
  • Checked-out Due Date
  • Item ID
  • Item Number
  • Calculated Late Fees Due

Display Browseable Inventory

A new inventory page is needed to view an organization's inventory.

When a user (registered or not) visits an inventory page for a specific organization, they should be able to view all inventory items within that organization.

  • Grid of cards
  • Each card contains:
    -- Image (or default placeholder)
    -- Name
    -- Location
    -- Status

Information for all items from #19

MidAtlantic_Babywearing__Inventory

Populate database seed file with carriers

We need to build a database of carriers for our inventory. To help everyone with testing the web app let's seed the database with actual carrier data. We can export carriers from MyTurn and import it using the ruby seed file. Whoever takes this on - talk to me. I'll connect you with an export of what the stakeholder already has and we'll have to hash out some details like

  • what fields to export and populate
  • how to get images
  • translating the export from CSV or XML into our database

Admin/Volunteer - List All Users by Org

Admins and Volunteers should be able to navigate to a view listing all registered users of any role.

In a 5-column table, list all registered users in the current Organization with the following fields:

  • Last Name
  • First Name
  • Email Address (mailto: link)
  • Phone Number
  • Join Date (users created_at)

Sort order: Alphabetical by Last Name

Inventory Page Search and Filter

When viewing the inventory page (#21), a search bar should populate at the top, along with filter options.

  • Users should be able to enter text into search input and view matching results based on:
    -- Name
    -- Manufacturer
    -- Model

  • Users should be able to filter by:
    -- Location
    -- Status
    -- Category

Dependencies: #21 #19

User Registration - Send Registration Email Notification

Once #30 is complete, on submitting user registration form, send an email confirmation to the user's registered email address.

  • Email subject should be 'Babywearing Account Registration'
  • Email body should (for now) contain the user's submitted information excluding password.

CRUD for MembershipTypes

Add support for the create/read/update/destroy of a MembershipType. Attributes include:

  • Name
  • Fee
  • Duration (time as a member covered by the fee)
  • Maximum number of items checked out
  • Description

Don't show sign up / sign in flash messages twice

Describe the bug
Currently when a user signs up or signs it, the flash message is shown twice. I think both of the issues can be resolved with one solution, seems they are related.

To Reproduce
If I click on the "Sign Up" button when i'm logged in, I get shown this message twice: "You are already signed up".

If I click on a navigation button while logged out, I am shown "You need to sign in or sign up before continuing" twice as well.

Expected behavior
The expected behavior would be for those messages to be shown once, not twice

Screenshots
Screen Shot 2019-10-09 at 9 23 04 AM
Screen Shot 2019-10-09 at 9 22 50 AM

List carriers by category in /categories

When accessing /categories, each different carrier category has an option to "Show".

When clicking that link and accessing that category, all carriers assigned to that category should be displayed.

Example, when on /categories and clicking Show for Ring Slings, I'm taken to /categories/18, but nothing other than the category name are displayed. Instead, this should show me all carriers that are assigned to the category of Ring Sling.

CRUD for Category

Add the basic capability to create/read/update/destroy categories. Category attributes include:

  • Name
  • Description
  • Parent Category (association reference to itself)

FIX N+1 on the carriers#index

When rendering carriers#index we have N+1 on this line.
For each row we are firing new DB query to fetch the location.

Expected:
Preload locations upfront using included on the ActiveRecord::Relation

Seed data is breaking several show pages for a carrier

Describe the bug
When navigating to certain show pages for carriers in the seed data, the page is broken and gives an error MiniMagick::Invalid in Carriers#show

To Reproduce
Steps to reproduce the behavior:
Go to /carriers/6 or /carriers/19

Expected behavior
We should see the information about the carrier corresponding to the seed data information.
I'm not sure why these couple pages are broken and the other ones seem to work fine.

There is a csv file used, maybe there's something in there that is causing a problem?

From the 3000/carriers page, it is the link for Bitty Bean Baby and Lillebaby All Seasons that are broken.

CRUD for Fee Type and Amount

Add basic capability for an Admin to create/edit/destroy Fee Types and Amounts

Existing fee types/amounts:

Cleaning Fee - $15
Late Fee - $1 (this fee will be assessed per day in the transaction workflow)
Membership Donation - $30
Second Carrier Addition - $5
Trial Membership - $10
Upgrade Membership (Single to Double) - $20
Upgrade Membership (Trial to Single) - $20

Add App Setup Instructions to README

Minor updates were last made in #11 , but app setup instructions need to be documented for new contributors.

  • What steps need to be taken to get the application up and running?
  • What versions of Ruby/Rails/Heroku/Postgres are needed?

Please be sure to include even the small/easy/nuanced information so that our project is as welcoming as possible.

Update & Add Location Statuses for Carriers

Carriers currently have a Location, but we need to distinguish between the carrier's home location (where it originated from when added) and which location it is currently assigned to.

  • Rename Location to Home Location. This would be the original location of the item.
  • Add Current Location status. This would be a dropdown option in a workflow (not yet implemented) to allow a carrier's Current Location to be updated.

On /carriers/new, add this second dropdown for Current Location to the page beneath Location (which should be renamed to Home Location.

image

The basic use case would be:

  • Item 1 is purchased/donated for the DelCo location. This is its Home Location and would not change on transfer.

  • Demand for Item 1 in DelCo (Home Location) is low, but there's demand for that item at the ChesCo location. User would be able to select ChesCo as the item's new Current Location.

  • Item 1 would then show the following:

  • Home Location - DelCo

  • Current Location - ChesCo

CRUD for Carriers

Add the basic capability to support creating/reading/updating/and destroying a Carrier. Initial things we need to capture about a Carrier include:

  • Item ID
  • Name
  • Manufacturer
  • Model
  • Color
  • Size
  • Location (association if Issue #5 is completed)
  • Default Loan Length (standard = 30)
  • ???

User registration form: required fields aren't indicated

Describe the bug
When signing up for the first time, I had not visual indication that all fields were required until I received a list of errors after clicking "Sign up". Visual users, as well as screen reader users are given no heads up that they need to fill it all in, even though we assume it makes sense.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Sign Up page.
  2. Partially fill out form.
  3. See error.

Expected behavior
With no indication as to what's required or optional, I think most of these fields are optional, with the exception of the email and password fields.

If required, a screen reader user will expect to hear their screen reader announce "field required". A visual user will expect to see "*", "(required)", or "(optional)" written next to the label.

Screenshots
Screen Shot 2019-10-05 at 4 37 15 PM

Desktop (please complete the following information):

  • OS: macOS Mojave
  • Browser: Firefox
  • Version: 69

Additional context
This is an accessibility and usability issue. Screen reader users are not warned with a required or aria-required attribute. Visual users with cognitive disabilities as well as people without may become frustrated when it doesn't work for them the first time, and they're presented with a list of errors at the top.

User Registration - Add Fields to User Model

Now that #18 is complete, add the following fields to the user model for new user registration (/sign_up).

First Name
Last Name
Street Address
Address 2 (Apt, Suite, Floor, etc)
City
State
Postal Code
Phone Number

Update /categories view to show Parent

In /categories, the view is currently confusing as the Parent categories and subcategories are listed inline with each other.

image

We need to change the /categories view so that its default view lists only Parent categories.

When a Parent category is clicked, we should then display all associated sub-categories assigned to that Parent.

Fix failing test

Describe the bug
We have a failing test.

To Reproduce
Run the test in the file
# ./spec/features/user_spec.rb:58:in

Expected behavior
Seems we would expect to only get one email from Devise but we're getting two
Expect(Devise.mailer.deliveries.count).to eq 1 but we got 2

CRUD for Organization

Add the basic capability to create/read/update/destroy and organization. Basic attributes can include:

  • Organization Name
  • Description
  • ?

Readme minor edits

First contribution to the repo, getting my feet wet with some quick grammar fixes

Landing page should display browsable inventory

The default landing page should display the following, based on authentication/organization:

  • If user is authenticated and assigned to an organization, show that organization's inventory page.
  • If user is not authenticated or not assigned to an organization, show a link to sign up for an organization (at this time it would only be MidAtlantic Babywearing but would expand to show other organizations at scale)

[Admin] Manage Location List

Is your feature request related to a problem? Please describe.
Logged in site Admin users should be able to manage the list of locations, currently used to define meeting locations, and used to specify an item's current assigned location.

Describe the solution you'd like
While user is logged in, has been assigned admin role, and is currently viewing the manage locations page, the following should be available:

  • A 2-column table view listing all current location names and an Edit button next to each location.
  • Selecting Edit should allow the admin to edit the location name, or remove the location with confirmation.
  • Locations to be added
    • Camp Hill
    • ChesCo
    • DelCo
    • Lancaster
    • MontCo (City1)
    • South Philly (City2)
    • Waynesboro
    • York
  • An Add Location button below the table allowing the user to add a new location to the table.

Additional context
The location names managed in this page will be used for the following:

  • membership signup preference to indicate meeting location preferences (where the user will be attending meetings and checking in/out inventory items) and may additionally be used to subscribe to location-specific email/SMS alerts.
  • item location and location history to indicate where each unique item (presumably identified by item_id) will be checked out from and checked in to.
  • [to be confirmed] Show attendance information by location
  • [to be confirmed] List inventory checked out by location

Super Awesome Totally Professional Wireframe:
New Wireframe 2 (1)

Upload photos to a Carrier

Allow a user to upload one or more pictures to a Carrier item in inventory so that it can be displayed in the inventory to users.

User Roles

Role assignments for registered users should be created and assignable to user accounts:

Admin
Volunteer
Member
User

Users need to sign Agreements

When a user becomes a member of an organization, they need to sign the agreements for that organization if they have any. Users should see a notification that there are agreements that are unsigned. Users should be able to navigate to the Agreement(s) to read them and then sign them by typing in their name or initials. When a user signs an agreement it should be tracked with what text they signed with and when it was signed.

Update Nav Bar Alignment

The nav bar currently shows icons and font that is not correctly aligned/sized.

  • Adjust sizing of the icons to be uniform
  • Vertically center icons
  • Adjust font size so that all text fits on a single line
  • Align text along bottom of container
  • Rename INVENTORY to CARRIERS

Update Nav Bar Links

  • CREATE USER should link to our sign up form and should only be visible to authenticated users who are VOLUNTEERS or ADMINS.
  • INVENTORY will be renamed to CARRIERS in #81 and should link to the carrier listing.
  • Quick Access should be updated to include a link to Locations

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.