GithubHelp home page GithubHelp logo

generosity-market / generosity-market.github.io Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 2.0 71.42 MB

Generosity Market is a platform for non-profits and charities to raise funds.

HTML 1.39% CSS 12.53% JavaScript 86.02% Shell 0.05%
non-profit fundraising react redux progressive-web-app stripe-api generosity-market

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

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.

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.

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.

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?

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.

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.

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.

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.

Redux Cart

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

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.

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.

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

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.

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

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

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.

Lazy load images

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

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.

Stripe implementation

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

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.

Organization Component

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

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

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.

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

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.

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.

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.