Code Monkey home page Code Monkey logo

generosity-market.github.io's People

Contributors

jgordy avatar seanmcp avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

jgordy seanmcp

generosity-market.github.io's Issues

Progress bar 100%

On the cause list page, progress bar should show “Mission Accomplished” when all tiles are purchased. This behaves as expected on the single cause page. Check that page for insight.

Donation form overlay tweaks

Let’s darken the background when active and make the background clickable to exit the form. Much like a modal. We also need to add address and name fields to this form

ENV variables

Set up all tokens and keys in a .env file. Add this to git ignore so it won’t be commited.

CauseList Component

Use the Example sliders from the User Dashboard and Organization pages to create cause lists. We can have multiple sections some ideas on how to sort would be: Recently Added, Near Completion, By Organization (Slider of Organizations), By Type (Trips, Missions, Adoptions, etc…). On top we will use a Featured Cause section and make the image/tile much larger for visual parity. This can still be a slider with multiple causes but only to show one on the screen at a time.

Lazy load images

Use the npm package react-lazy-images to lazy load the images in scrollable sections

Select Main Image shape inputs

We need simple inputs in the CauseForm component that changes the roundImage state (Already set to true). This will give users and organizations the chance to pick between round and squircle profile images

Create CauseTile Component

Let’s create a reusable tile and replace the ones in the organization, dashboard, and possibly the iconSelector components. Maybe call it something better than CauseTile?

Cloudinary vs Amazon S3 for image uploads

Research both of these technologies for photo uploads so we don’t have to store images in our database. We want to only store a string for the hosted url is possible.

Redux Cart

Start adding the redux actions/reducers/store items to create a cart.

Organization Component

Start building out the Organization Component. Use a similar layout to the User Dashboard page.

Calculate percent of goal

Add a Utility function that calculates the percent of the goal already raised. We can use this for the ProgressBar component as well as on the main CauseList component to sort causes that are closest to completion.

Stripe implementation

Start adding Stripe logic in the Checkout page. Use the front_end_POC as a loose guideline.

Sign up/in logic

Boilerplate is in App.js, does not send a request to the api. Once that is done, let’s store the token, userId, email in cookies using the Cookies npm package.

Tile Section Layout

Break up the Tile Section layout into smaller blocks. They should only show three rows of icons per block. From there we either make the Tile Section scrollable or as a slider.

Finish New Organization Form

This form has not been tested to work. Boilerplate is there though. How do we want to handle the verification of the persons non-profit? Currently there is code to handle on the front and the back end.

Redesign Bottom Nav

Boilerplate already there. Interferes with the bottom bar on the checkout page. This fix would have to coincide with the checkout page bottom bar fix.

Cart size issue

When trying to send a transaction with a bunch of selected tiles, the request returns with “Error: Payload too large”. We could be sending too much data with each cart item. Let’s reduce to only the required data to make the transaction happen.

Fetch Organization Data

Data lives in /public folder. We need to add all of the necessary redux ( Actions, Reducer, Initial State ) as well as the fetch call in Services

Clickable cart item tiles

On the checkout page we want the user to be able to click on a cart item and have it navigate to that cause page. Making it easier to navigate the site, as well as donate more to that cause.

Clean out mock data

Some mock data lives in the /public folder. We no longer need it as we will have a working API

Heading Component

• Create a reusable heading • Replace all of the H3 tags in the User Dashboard and Organizations screens • Add Headings to the main CauseList page above each slider section

Slider Wrapper Component

Let’s create a reusable slider wrapper component with the correct css styles and just pass in the content needed for horizontal scrolling.

Checkout page

Once cart implementation is complete we need to start building this page. Here we will start some Stripe API implementation

Progress bar width

Width of the progress bar doesn’t show correctly, especially noticeable when progress is near completion

Main Image Component

Seperate the round image element (found inside of the Header component, and Donor Comments) into it’s own component since it is used in multiple locations within the app.

Add Organization Mock Data

Add this in the /public folder so we need to make a fetch call to access the data. Then use this data to create the Organization screen

CauseList Tile Sizes

Add options (props) to allow for multiple sizes of these Tiles so we don’t have to create another component for this. The larger size will be used at first as the Featured Causes on the Cause List Page.

Stripe cleanup

Some old code from a previous attempt is still in the codebase. We want it removed if it is not necessary to the current approach.

Fixed checkout section

The container in the checkout page should be fixed and have the content inside that container be scrollable. Do this instead of having the entire page scroll.

Font Awesome Component

Create a component for Font Awesome icons. Allow it to be passed the correct className as props.

Update Progress Bar

Create the calculation to update the progress bar based on the fundraising amount remaining

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.